项目简介

Quick-start Auto MCP 是一个帮助用户快速在 Claude Desktop 和 Cursor 等支持 Model Context Protocol (MCP) 的 LLM 客户端中注册 MCP 服务器的工具。它提供了一系列实用的工具,例如 RAG (检索增强生成)、Dify 外部知识库 API、Dify Workflow 和 Web Search,并能够自动生成 MCP 服务器所需的 JSON 配置文件。

主要功能点

  • RAG (检索增强生成):支持对 PDF 文档进行关键词、语义和混合搜索,提升 LLM 对本地文档的理解和应用能力。
  • Dify 外部知识库 API 集成:通过 Dify 的外部知识库 API 实现文档搜索,连接更广泛的知识资源。
  • Dify Workflow 执行:能够执行和获取 Dify Workflow 的结果,让 LLM 具备调用复杂工作流的能力。
  • Web Search (网络搜索):集成 Tavily API,实现实时的网络搜索功能,为 LLM 提供最新的信息。
  • 自动 JSON 配置生成:自动生成 Claude 和 Cursor 等客户端注册 MCP 服务器所需的 JSON 配置文件,简化配置过程。

安装步骤

  1. 克隆仓库

    git clone https://github.com/teddynote-lab/mcp-usecase.git
    cd mcp-usecase
  2. 设置虚拟环境

    推荐使用 'uv' 或 'pip' 创建虚拟环境。

    使用 uv (推荐)

    uv venv
    uv pip install -r requirements.txt

    使用 pip

    python -m venv .venv
    # 激活虚拟环境
    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
    pip install -r requirements.txt
  3. 准备 PDF 文件 (RAG 功能)

    如果使用 RAG 功能 (case1),请将 PDF 文件放入 'data' 目录。

  4. 配置环境变量

    复制根目录下的 '.env.example' 文件并重命名为 '.env',根据需要配置各个功能所需的 API 密钥等环境变量。具体的环境变量配置请参考仓库文档和相关 API 平台。

服务器配置

MCP 服务器配置信息('mcp_config.json' 文件内容示例,以 'case2' 为例,其他 case 类似):

{
  "mcpServers": {
    "dify-ek-api": {  // 服务器名称,客户端配置时需要使用
      "command": "/path/to/mcp-usecase/.venv/bin/python", // Python 解释器路径,请替换为实际路径,通常为项目虚拟环境中的 python
      "args": [  // 启动参数
        "case2/mcp_server.py" // MCP 服务器脚本路径
      ],
      "env": {  // 环境变量
        "DIFY_API_ENDPOINT": "您的 Dify API Endpoint", // Dify API Endpoint
        "DIFY_API_KEY": "您的 Dify API Key",        // Dify API Key
        "DIFY_KNOWLEDGE_ID": "您的 Dify Knowledge ID"  // Dify 知识库 ID
      }
    }
  }
}

配置说明:

  • 'mcpServers': MCP 服务器配置的根节点。
  • 'dify-ek-api': 自定义的服务器名称,在 MCP 客户端中注册时需要使用此名称。可以根据实际情况修改。
  • 'command': 启动 MCP 服务器的命令,这里是 Python 解释器的路径。请务必替换为你的虚拟环境中的 Python 解释器绝对路径
  • 'args': 传递给 'command' 的参数,这里指定了 MCP 服务器的 Python 脚本路径。
  • 'env': MCP 服务器运行所需的环境变量。根据不同的 case,需要配置不同的环境变量,例如 API 密钥、API Endpoint 等。请参考各个 case 目录下的 'auto_mcp_json.py' 文件和 '.env.example' 文件。

注意:

  • 以上 JSON 配置是 'case2 (Dify External Knowledge API example)' 的示例,其他 case (如 'case1, case3, case4') 的 'args' 部分会指向不同的 'mcp_server.py' 脚本。
  • MCP 客户端(如 Claude 或 Cursor)需要完整复制 'mcp_config.json' 文件中的 JSON 内容,粘贴到客户端的 MCP 服务器配置中。无需修改 JSON 代码本身,只需确保 'command' 中的 Python 路径正确配置为你本地虚拟环境的路径。
  • 环境变量的配置需要在 '.env' 文件中完成,并在 'auto_mcp_json.py' 脚本中读取并写入到 'mcp_config.json' 中。

基本使用方法

  1. 生成 MCP 配置文件

    进入各个 case 目录 (例如 'case2'),激活虚拟环境后,运行 'auto_mcp_json.py' 脚本:

    # 激活虚拟环境 (如果未激活)
    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
    
    cd case2  # 或 case1, case3, case4
    
    python auto_mcp_json.py

    运行成功后,会在当前 case 目录下生成 'mcp_config.json' 文件。

  2. 在 Claude Desktop/Cursor 中注册 MCP 服务器

    • 启动 Claude Desktop 或 Cursor (确保是支持 MCP 的版本)。
    • 打开 MCP 设置菜单 (通常在设置或扩展中可以找到 MCP 相关选项)。
    • 复制上一步生成的 'mcp_config.json' 文件中的 完整 JSON 内容
    • 将复制的 JSON 内容粘贴到 Claude Desktop/Cursor 的 MCP 服务器配置中。
    • 保存配置并重启 Claude Desktop/Cursor。
  3. 使用 MCP 工具

    重启后,在 Claude 或 Cursor 中,你可以通过 '@' 符号或指定的触发方式 (取决于客户端的具体实现) 调用注册的 MCP 工具和 Prompt。例如,在 'case2' 中,你可以使用 '@dify-ek-api.dify_ek_search' 调用 Dify 知识库搜索工具,或使用 '@dify-ek-api.ai_trend_learning_guide' 调用 Prompt 模板。

    具体工具和 Prompt 的使用方法,请参考各个 case 目录下的 'docs' 文件夹中的 Markdown 文档 ('case1.md', 'case2.md' 等),其中包含了更详细的工具参数说明和使用技巧。

信息

分类

开发者工具