返回市场
麦茨MCP服务器

麦茨MCP服务器

作者:angrysky564 星标更新:2025-06-14

项目介绍

MseeP.ai 安全评估徽章

MCTS MCP 服务器

这是一个模型上下文协议(MCP)服务器,它暴露了一个高级贝叶斯蒙特卡洛树搜索(MCTS)引擎,用于AI辅助分析和推理。

概述

此MCP服务器使Claude能够使用蒙特卡洛树搜索(MCTS)算法对主题、问题或文本输入进行深入探索性分析。MCTS算法采用贝叶斯方法系统地探索不同的角度和解释,通过多次迭代产生有见地的分析。

特点

  • 贝叶斯MCTS:使用概率方法在分析过程中平衡探索与利用
  • 多迭代分析:支持每次迭代中进行多次模拟的多次思考
  • 状态持久化:在同一聊天会话中记住关键结果、不适合的方法和先验
  • 方法分类学:将生成的思想分类到不同的哲学方法和家族中
  • 汤普森采样:可以使用汤普森采样或UCT进行节点选择
  • 惊喜检测:识别分析中的意外或新颖方向
  • 意图分类:理解用户何时想要开始新的分析或继续之前的分析
  • 多LLM支持:支持Ollama、OpenAI、Anthropic和Google Gemini模型。

快速安装

MCTS MCP服务器现在包括跨平台设置脚本,适用于Windows、macOS和Linux。

先决条件

  • Python 3.10+(必需)
  • 互联网连接(用于下载依赖项)

自动设置

选项1:跨平台Python设置(推荐)

# 克隆仓库
git clone https://github.com/angrysky56/mcts-mcp-server.git
cd mcts-mcp-server

# 运行设置脚本
python setup.py

选项2:特定平台脚本

Linux/macOS:

chmod +x setup.sh
./setup.sh

Windows:

setup_windows.bat

设置脚本做了什么

设置脚本自动执行以下操作:

  1. ✅ 检查Python版本兼容性(需要3.10+)
  2. ✅ 安装UV包管理器(如果不存在)
  3. ✅ 创建虚拟环境
  4. ✅ 安装所有依赖项,包括google-genai
  5. ✅ 从模板创建.env文件
  6. ✅ 生成Claude Desktop配置
  7. ✅ 创建状态目录
  8. ✅ 验证安装

验证安装

设置完成后,验证一切是否正常工作:

python verify_installation.py

这将运行全面检查并告知您是否需要修复任何问题。

配置

1. API密钥设置

编辑设置期间创建的.env文件:

# 添加您的API密钥(删除引号并添加真实密钥)
OPENAI_API_KEY=sk-your-openai-key-here
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
GEMINI_API_KEY=your-gemini-api-key-here

# 设置默认提供商和模型(可选)
DEFAULT_LLM_PROVIDER=gemini
DEFAULT_MODEL_NAME=gemini-2.0-flash

获取API密钥:

2. Claude Desktop集成

设置创建了claude_desktop_config.json。将其内容添加到您的Claude Desktop配置中:

Linux/macOS:

# 配置位置
~/.config/claude/claude_desktop_config.json

Windows:

# 配置位置
%APPDATA%\Claude\claude_desktop_config.json

示例配置结构:

{
  "mcpServers": {
    "mcts-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcts-mcp-server/src",
        "run",
        "mcts-mcp-server"
      ],
      "env": {
        "UV_PROJECT_ENVIRONMENT": "/path/to/mcts-mcp-server"
      }
    }
  }
}

重要提示: 更新路径以匹配您的安装目录。

3. 重启Claude Desktop

添加配置后,重启Claude Desktop以加载MCTS服务器。

使用

该服务器向您的LLM暴露了许多工具,详细信息如下,以复制粘贴格式提供给您的系统提示。

当您要求Claude对某个主题或问题进行深度分析时,它将自动利用这些工具,使用MCTS算法和分析工具来探索不同角度。

alt text

工作原理

MCTS MCP服务器使用本地推理方法而不是尝试直接调用LLM。这与MCP协议兼容,该协议旨在让AI助手(如Claude)调用工具,而不是让工具自己调用AI模型。

当Claude请求服务器进行分析时,服务器:

  1. 使用问题初始化MCTS系统
  2. 使用MCTS算法运行多次探索迭代
  3. 为各种分析任务生成确定性响应
  4. 返回搜索过程中找到的最佳分析

手动安装(高级)

如果您偏好手动设置或自动设置失败:

1. 安装UV包管理器

Linux/macOS:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows(PowerShell):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

2. 设置项目

# 克隆仓库
git clone https://github.com/angrysky56/mcts-mcp-server.git
cd mcts-mcp-server

# 创建虚拟环境
uv venv .venv

# 激活虚拟环境
# Linux/macOS:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate

# 安装依赖项
uv pip install .
uv pip install .[dev]  # 可选开发依赖项

# 特别安装Gemini包(如果不在pyproject.toml中)
uv pip install google-genai>=1.20.0

3. 创建配置文件

# 复制环境文件
cp .env.example .env

# 编辑.env文件,添加您的API密钥
nano .env  # 或使用您喜欢的编辑器

# 创建状态目录
mkdir -p ~/.mcts_mcp_server

故障排除

常见问题

1. Python版本错误

解决方案:从python.org安装Python 3.10+

2. 安装后未找到UV

# 手动将UV添加到PATH
export PATH="$HOME/.cargo/bin:$PATH"
# 或在Windows上:将%USERPROFILE%\.cargo\bin添加到PATH

3. Google Gemini导入错误

# 手动安装Gemini包
uv pip install google-genai

4. 权限被拒绝(Linux/macOS)

# 将脚本设为可执行
chmod +x setup.sh setup_unix.sh

5. Claude Desktop未检测到服务器

  • 验证配置文件的位置和语法
  • 检查配置中的路径是否绝对且正确
  • 完全重启Claude Desktop
  • 检查Claude Desktop日志中的错误

获取帮助

  1. 运行验证python verify_installation.py
  2. 查看日志:查看Claude Desktop的开发者工具
  3. 测试组件:在仓库中运行单独的测试
  4. 查阅文档:检查USAGE_GUIDE.md中的详细说明

API密钥管理

要使用像OpenAI、Anthropic和Google Gemini这样的LLM提供商,您需要提供API密钥。此服务器从存储库根目录的.env文件中加载API密钥。

  1. 复制示例文件cp .env.example .env
  2. 编辑.env:打开.env文件,并替换占位符密钥为您的实际API密钥:
    OPENAI_API_KEY="your_openai_api_key_here"
    ANTHROPIC_API_KEY="your_anthropic_api_key_here"
    GEMINI_API_KEY="your_google_gemini_api_key_here"
    
  3. 设置默认值(可选):您还可以在.env文件中设置默认的LLM提供商和模型名称:
    # 要使用的默认LLM提供商(例如,“ollama”,“openai”,“anthropic”,“gemini”)
    DEFAULT_LLM_PROVIDER="ollama"
    # 选定提供商的默认模型名称
    DEFAULT_MODEL_NAME="cogito:latest"
    
    如果未设置这些值,系统将默认为“ollama”,并尝试使用模型如“cogito:latest”或其他提供商特定的默认值。

.env文件包含在.gitignore中,因此您的实际密钥不会提交到存储库。

建议的系统提示和更新工具


# MCTS服务器和使用说明:

# 列出可用的Ollama模型(如果使用Ollama)
list_ollama_models()

# 设置活动的LLM提供商和模型
# provider_name可以是“ollama”,“openai”,“anthropic”,“gemini”
# model_name特定于提供商(例如,ollama的“cogito:latest”,openai的“gpt-4”)
set_active_llm(provider_name="openai", model_name="gpt-3.5-turbo")
# 或者,使用来自.env或提供商特定的默认值:
# set_active_llm(provider_name="openai")

# 初始化分析(也可以在这里指定provider和model以覆盖当前设置)
initialize_mcts(question="您的问题在这里", chat_id="唯一标识符", provider_name="openai", model_name="gpt-4")
# 或者使用全局设置的活动LLM:
# initialize_mcts(question="您的问题在这里", chat_id="唯一标识符")

run_mcts(iterations=1, simulations_per_iteration=5)

调用run_mcts后可能需要几分钟到几小时的时间,
- 因此您可以讨论任何想法或问题,或者等待用户确认过程完成,
- 然后在聊天恢复时继续合成和分析工具。

## MCTS-MCP工具概述

### 核心MCTS工具:
- `initialize_mcts`:使用特定问题启动新的MCTS分析。可选指定`provider_name`和`model_name`以覆盖此运行的默认设置。
- `run_mcts`:运行MCTS算法设定次数的迭代/模拟。
- `generate_synthesis`:生成MCTS结果的最终总结。
- `get_config`:查看当前MCTS配置参数,包括活动LLM提供商和模型。
- `update_config`:更新MCTS配置参数(不包括提供商/模型,使用`set_active_llm`进行更改)。
- `get_mcts_status`:检查MCTS系统的当前状态。
- `set_active_llm(provider_name: str, model_name: Optional[str])`:选择要使用的LLM提供商和模型。
- `list_ollama_models()`:显示所有可用的本地Ollama模型(如果使用Ollama提供商)。

默认配置优先考虑速度和探索,但您可以自定义参数如探索权重、beta先验alpha/beta、惊喜阈值。

## 配置

您可以自定义MCTS参数在配置字典中或通过Claude的`update_config`工具。关键参数包括:

- `max_iterations`:要运行的MCTS迭代次数
- `simulations_per_iteration`:每次迭代的模拟次数
- `exploration_weight`:控制探索与利用的平衡(在UCT中)
- `early_stopping`:如果找到高质量解决方案是否提前停止
- `use_bayesian_evaluation`:是否使用贝叶斯评估节点分数
- `use_thompson_sampling`:是否使用汤普森采样进行选择

具体路径:
深入最佳路径节点(如果有实例,使用mcts_instance.get_best_path_nodes())并检查每一步的思想和内容序列,可以提供核心见解如何演变的微叙事。

可视化树(即使基于export_tree_summary的简化版本)也可能具有启发性,我将尝试设置此功能。

修改参数:这是测试发现的稳健性或探索系统不同“认知偏见”的好方法。

增加探索权重:可能会导致更多样化、不太显然相关的想法。

减少探索权重:可能会导致初始主导路径的更深层次细化。

改变先验(如果是贝叶斯):您可以偏向某些方法(例如,增加'实用主义'的alpha)以查看其如何影响结果。

更多的迭代/模拟:允许潜在更深的收敛或探索更多小众路径。

### 结果收集:
- 自动将结果存储在`/home/ty/Repositories/ai_workspace/mcts-mcp-server/results`(路径可能因系统而异或可配置)
- 按提供商、模型名称和运行ID组织
- 存储指标、进度信息和最终输出

# MCTS分析工具

此扩展为MCTS-MCP服务器增加了强大的分析工具,使其易于提取见解并了解MCTS运行的结果。

MCTS分析工具提供了一系列集成功能,以:

1. 列出和浏览MCTS运行
2. 提取关键概念、论点和结论
3. 生成综合报告
4. 在不同运行之间比较结果
5. 建议改进以提高性能

## 可用的运行分析工具

### 浏览和基本信息

- `list_mcts_runs(count=10, model=None)`:列出最近的MCTS运行及其关键元数据
- `get_mcts_run_details(run_id)`:获取特定运行的详细信息
- `get_mcts_solution(run_id)`:获取运行的最佳解决方案

### 分析和见解

- `analyze_mcts_run(run_id)`:对运行进行全面分析
- `get_mcts_insights(run_id, max_insights=5)`:从运行中提取关键见解
- `extract_mcts_conclusions(run_id)`:从运行中提取结论
- `suggest_mcts_improvements(run_id)`:获取改进建议

### 报告和比较

- `get_mcts_report(run_id, format='markdown')`:生成综合报告(格式:'markdown','text','html')
- `get_best_mcts_runs(count=5, min_score=7.0)`:根据评分获取最佳运行
- `compare_mcts_runs(run_ids)`:比较多个运行以识别相似性和差异

## 使用示例

# 列出您的最近MCTS运行:

list_mcts_runs()

# 获取特定运行的详细信息:

get_mcts_run_details('ollama_cogito:latest_1745979984') # 示例运行ID格式

### 提取见解

# 从运行中获取关键见解:

get_mcts_insights(run_id='ollama_cogito:latest_1745979984')

### 生成报告

# 生成综合Markdown报告:

get_mcts_report(run_id='ollama_cogito:latest_1745979984', format='markdown')

### 改进结果

# 获取改进运行的建议:

suggest_mcts_improvements(run_id='ollama_cogito:latest_1745979984')

### 比较运行

要比较多个运行:

compare_mcts_runs(['ollama_cogito:latest_1745979984', 'openai_gpt-3.5-turbo_1745979584']) # 示例运行ID

## 理解结果

分析工具从MCTS运行中提取几个关键元素:

1. **关键概念**:分析中的核心思想和框架
2. **正反论证**:问题两边的主要论点
3. **结论**:分析的综合结论或见解
4. **标签**:从内容中自动生成的主题标签

## 故障排除

如果您遇到分析工具的问题:

1. 检查您的MCTS运行是否成功完成(状态:“已完成”)
2. 验证您正在使用的运行ID是否存在且正确
3. 尝试列出所有运行以查看可用情况:`list_mcts_runs()`
4. 确保运行目录中存在`.best_solution.txt`文件

## 高级示例用法

### 自定义报告

您可以生成不同格式的报告:

# 生成Markdown报告

report = get_mcts_report(run_id='ollama_cogito:latest_1745979984', format='markdown')

# 生成文本报告

report = get_mcts_report(run_id='ollama_cogito:latest_1745979984', format='text')

# 生成HTML报告

report = get_mcts_report(run_id='ollama_cogito:latest_1745979984', format='html')

### 查找最佳运行

要查找表现最佳的运行:

best_runs = get_best_mcts_runs(count=3, min_score=8.0)

这返回评分至少为8.0的前3个运行。

## 简单使用说明

1. **设置LLM提供商和模型**:
   # 对于Ollama:
   list_ollama_models()  # 查看可用的Ollama模型
   set_active_llm(provider_name="ollama", model_name="cogito:latest")

   # 对于OpenAI:
   set_active_llm(provider_name="openai", model_name="gpt-4")

   # 对于Anthropic:
   set_active_llm(provider_name="anthropic", model_name="claude-3-opus-20240229")

   # 对于Gemini:
   set_active_llm(provider_name="gemini",