返回市场
自适应思维图MCP服务器

自适应思维图MCP服务器

作者:SaptaDey22 星标更新:2025-08-07

项目介绍

MseeP.ai 安全评估徽章

🧠 自适应思维图

<div align="center">
                    ╔══════════════════════════════════════╗
                    ║                                      ║
                    ║   🧠 自适应思维图 🧠  ║
                    ║                                      ║
                    ║       智能科学         ║
                    ║         推理通过            ║
                    ║         思维图            ║
                    ║                                      ║
                    ╚══════════════════════════════════════╝

通过思维图进行智能科学推理

版本 Python License Docker FastAPI NetworkX 最后更新 smithery 徽章 Codacy 安全扫描 CodeQL 高级 Dependabot 更新 在 MseeP 上验证

</div> <div align="center"> <p><strong>🚀 科学研究下一代人工智能推理框架</strong></p> <p><em>利用图结构改变人工智能系统处理科学推理的方式</em></p> </div>

📚 文档

有关自适应思维图的详细信息,包括详细的安装说明、使用指南、配置选项、API 参考、贡献指南以及项目路线图,请访问我们的完整文档网站:

➡️ 自适应思维图文档网站

该网站现在包括交互式Mermaid图表和改进的布局。

🔍 概览

自适应思维图利用一个Neo4j 图数据库来执行复杂的科学推理,其管道阶段中的图操作由其管理。它实现了**模型上下文协议(MCP)**以与像Claude Desktop这样的AI应用程序集成,提供了一个高级科学推理思维图(ASR-GoT)框架,旨在处理复杂的研究任务。

关键亮点:

  • 使用基于图的推理处理复杂的科学查询
  • 动态置信评分,具有多维度评估
  • 连接到外部数据库(PubMed、Google Scholar、Exa Search),实时收集证据
  • 使用现代Python和FastAPI构建,性能高
  • Docker化,便于部署
  • 模块化设计,便于扩展和定制
  • 通过MCP协议与Claude Desktop集成

🚀 快速开始

git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
cd Adaptive-Graph-of-Thoughts-MCP-server
poetry install
poetry run uvicorn src.adaptive_graph_of_thoughts.main:app --reload

打开http://localhost:8000/setup,完成向导。完成后,您将进入仪表板。

📂 项目结构

该项目组织如下(详见文档网站):

自适应思维图/
├── 📁 .github/                           # GitHub特定文件(工作流程)
├── 📁 config/                            # 配置文件(settings.yaml)
├── 📁 docs_src/                          # MkDocs文档源文件
├── 📁 src/                               # 源代码
│   └── 📁 adaptive_graph_of_thoughts     # 主应用包
├── 📁 tests/                             # 测试套件
├── Dockerfile                            # Docker容器定义
├── docker-compose.yml                    # 开发用Docker Compose
├── docker-compose.prod.yml               # 生产用Docker Compose
├── mkdocs.yml                            # MkDocs配置
├── poetry.lock                           # Poetry依赖锁定文件
├── pyproject.toml                        # Python项目配置(Poetry)
├── pyrightconfig.json                    # Pyright类型检查器配置
├── README.md                             # 此文件
└── setup_claude_connection.py            # Claude Desktop连接设置脚本(手动运行)

🚀 开始使用

部署前提条件

在运行自适应思维图(无论是本地还是通过Docker,如果未使用提供的docker-compose.prod.yml,其中包含Neo4j)之前,请确保:

  • 运行的Neo4j实例:自适应思维图需要连接到一个Neo4j图数据库。

    • APOC库:至关重要的是,Neo4j实例必须安装了APOC(Cypher上的精彩过程)库。应用程序推理阶段中的多个Cypher查询使用APOC过程(例如,apoc.create.addLabelsapoc.merge.node)。没有APOC,应用程序将无法正常工作。您可以在APOC官方网站找到安装说明。
    • 配置:确保您的config/settings.yaml(或相应的环境变量)正确指向您的Neo4j实例URI、用户名和密码。
    • 索引:为了最佳性能,确保创建适当的Neo4j索引。您可以运行python scripts/run_cypher_migrations.py自动应用提供的Cypher迁移。详情见Neo4j索引策略

    注意:提供的docker-compose.yml(用于开发)和docker-compose.prod.yml(用于生产)已经包含了预配置了APOC库的Neo4j服务,当使用Docker Compose时满足此要求。

前提条件

  • Python 3.11+(如pyproject.toml中指定,例如Docker镜像使用Python 3.11.x或3.12.x,3.13.x)
  • Poetry:用于依赖管理
  • DockerDocker Compose:用于容器化部署

安装和设置(本地开发)

  1. 克隆仓库

    git clone https://github.com/SaptaDey/Adaptive-Graph-of-Thoughts-MCP-server.git
    cd Adaptive-Graph-of-Thoughts-MCP-server
    
  2. 使用Poetry安装依赖

    poetry install
    

    这会创建一个虚拟环境并安装pyproject.toml中指定的所有必要包。

  3. 激活虚拟环境

    poetry shell
    
  4. 配置应用程序

    # 复制示例配置
    cp config/settings.example.yaml config/settings.yaml
    
    # 根据需要编辑配置
    vim config/settings.yaml
    
  5. 设置环境变量(可选):

    # 创建.env文件用于敏感配置
    echo "LOG_LEVEL=DEBUG" > .env
    echo "API_HOST=0.0.0.0" >> .env
    echo "API_PORT=8000" >> .env
    

密钥管理

在生产环境中,设置SECRETS_PROVIDER环境变量为awsgcpvault,从支持的密钥管理器获取敏感值。可选地提供<VAR>_SECRET_NAME变量(例如OPENAI_API_KEY_SECRET_NAME)来控制每个密钥的名称。当配置了密钥提供商时,启动时会自动加载OPENAI_API_KEYANTHROPIC_API_KEYNEO4J_PASSWORD的值。

  1. 运行开发服务器

    python src/adaptive_graph_of_thoughts/main.py
    

    或者,为了更多的控制:

    uvicorn adaptive_graph_of_thoughts.main:app --reload --host 0.0.0.0 --port  8000
    

    API将在http://localhost:8000可用。

✨ 设置向导

有一个交互式向导可以简化初始配置。

poetry run python -m agt_setup

然后访问http://localhost:8000/setup完成基于Web的步骤。

设置向导演示GIF将在完整文档中出现。

Docker部署

graph TB
    subgraph "开发环境"
        A[👨‍💻 开发者] --> B[🐳 Docker Compose]
    end
    
    subgraph "容器编排"
        B --> C[📦 自适应思维图容器]
        B --> D[📊 监控容器]
        B --> E[🗄️ 数据库容器]
    end
    
    subgraph "自适应思维图应用"
        C --> F[⚡ FastAPI服务器]
        F --> G[🧠 ASR-GoT引擎]
        F --> H[🔌 MCP协议]
    end
    
    subgraph "外部集成"
        H --> I[🤖 Claude Desktop]
        H --> J[🔗 其他AI客户端]
    end
    
    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style F fill:#fff3e0
    style G fill:#ffebee
    style H fill:#f1f8e9
  1. 快速启动Docker Compose

    # 构建并运行所有服务
    docker-compose up --build
    
    # 后台模式(后台运行)
    docker-compose up --build -d
    
    # 查看日志
    docker-compose logs -f adaptive-graph-of-thoughts
    
  2. 单独的Docker容器

    # 构建镜像
    docker build -t adaptive-graph-of-thoughts:latest .
    
    # 运行容器
    docker run -p 8000:8000 -v $(pwd)/config:/app/config adaptive-graph-of-thoughts:latest
    
  3. 生产部署

    # 使用生产compose文件
    docker-compose -f docker-compose.prod.yml up --build -d
    

Kubernetes部署(Helm)

提供了最小的Helm图表,位于helm/agot-server下,用于在Kubernetes集群上运行自适应思维图。

helm install agot helm/agot-server

helm/agot-server/values.yaml中自定义值,以设置镜像仓库、资源限制和其他选项。

特定部署平台注意事项

  • Smithery.ai:使用包含的smithery.yaml进行部署。
    • 将您的GitHub存储库连接到Smithery并点击部署
    • 容器监听PORT环境变量(默认8000)。
    • 健康检查依赖于/health端点。
    • Dockerfiledocker-compose.prod.yml展示了容器设置。
  1. 访问服务
    • API文档http://localhost:8000/docs
    • 健康检查http://localhost:8000/health
    • MCP端点http://localhost:8000/mcp

🔌 MCP客户端集成

支持的MCP客户端

自适应思维图支持与各种MCP客户端的集成:

  • Claude Desktop - 完整的STDIO和HTTP支持
  • VS Code - 通过MCP扩展
  • 自定义MCP客户端 - 提供通用配置

快速客户端设置

Claude Desktop / VS Code 设置

{
  "mcpServers": {
    "adaptive-graph-of-thoughts": {
      "command": "python",
      "args": ["-m", "adaptive_graph_of_thoughts.main"],
      "cwd": "/path/to/Adaptive-Graph-of-Thoughts-MCP-server",
      "env": {
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "your_password",
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

可用的MCP工具

  1. scientific_reasoning_query - 具有图分析的高级科学推理
  2. analyze_research_hypothesis - 带置信评分的假设评估
  3. explore_scientific_relationships - 概念关系映射
  4. validate_scientific_claims - 基于证据的声明验证

🔌 API 端点

自适应思维图公开的主要API端点是:

  • MCP协议端点POST /mcp

    • 此端点用于与MCP客户端(如Claude Desktop)通信。
    • 示例请求方法asr_got.query
      {
        "jsonrpc": "2.0",
        "method": "asr_got.query",
        "params": {
          "query": "分析微生物多样性与癌症进展之间的关系。",
          "parameters": {
            "include_reasoning_trace": true,
            "include_graph_state": false
          }
        },
        "id": "123"
      }
      
    • 其他支持的MCP方法包括initializeshutdown
  • 健康检查端点GET /health

    • 提供应用程序的简单健康状态。
    • 示例响应:
      {
        "status": "healthy",
        "version": "0.1.0" 
      }
      
      (注:先前显示的时间戳字段不是当前健康检查响应的一部分。)

以前列出的高级API端点(例如/api/v1/graph/query)在当前版本中尚未实现,并保留用于未来可能的发展。

会话处理(session_id

目前,API请求(例如asr_got.query)中可用的session_id参数及其在响应中存在主要用于标识和跟踪单个完整的查询-响应周期。它还用于关联进度通知(如got/queryProgress)与原始查询。

虽然系统生成并使用session_id,但自适应思维图当前不支持真正的多轮对话连续性,即从先前查询中自动加载和重用详细图状态或推理上下文,使用相同的session_id进行后续查询。目前每个查询独立处理。

未来增强:持久会话

自适应思维图的一个潜在未来增强是实现持久会话。这将通过允许用户:

  1. 持久状态:将生成的图状态和相关的推理上下文与session_id关联存储在Neo4j数据库中。
  2. 重新加载状态:当提交带有现有session_id的新查询时,系统可以重新加载此保存的状态作为进一步处理的起点。
  3. 细化和扩展:允许新查询与加载的图互动——例如,通过细化之前的假设,向现有的结构添加新的证据,或者根据已建立的上下文探索替代推理路径。

实现持久会话将涉及开发强大的策略来:

  • 高效地在Neo4j中存储和检索会话特定的图数据。
  • 管理会话数据的生命周期(例如,创建、更新、过期)。
  • 设计复杂的逻辑,如何将新查询合并、修改或扩展预先存在的会话上下文和图。

这是一个重要的功能,可以大大增强自适应思维图的互动能力。欢迎社区在设计和实现持久会话功能方面做出贡献。

未来增强:异步和并行阶段执行

目前,自适应思维图推理管道的8个阶段是顺序执行的。对于复杂的查询或进一步优化性能,探索某些管道部分的异步或并行执行是一个潜在的未来增强。

潜在的并行区域:

  • **假设生成