使用说明

项目简介

本项目 'Model-Context-Protocol' 提供了一个基于 Model Context Protocol (MCP) 的服务器端实现示例,使用了 'fastmcp' 框架。它展示了如何定义和托管资源 (Resources)、注册和执行工具 (Tools)、以及定义和渲染 Prompt 模板 (Prompts),从而构建一个可以为大型语言模型 (LLM) 应用提供上下文和功能的后端服务。

主要功能点

  • 资源 (Resources) 管理: 通过 HTTP SSE 提供资源访问,例如示例中定义的 'resource://hello' 和 'resource://food/{item}',允许客户端获取预定义的数据。
  • 工具 (Tools) 注册与执行: 允许注册 Python 函数作为工具,并通过 MCP 协议供 LLM 客户端调用。示例中包括 'add', 'multiply', 'search_docs' 等工具,展示了如何扩展 LLM 的能力。
  • Prompt 模板 (Prompts) 定义与渲染: 支持定义可复用的 Prompt 模板,例如 'friendly_greeting',可以根据客户端提供的参数动态生成 Prompt 消息,定制 LLM 的交互行为。
  • SSE 传输协议: 使用 Server-Sent Events (SSE) 作为默认的传输协议,实现服务器与客户端之间的实时通信。
  • 客户端示例: 提供了多个 Python 客户端示例 ('client_resource.py', 'client_resource_langgraph.py', 'host_and_client.py'),演示了如何连接 MCP 服务器、获取资源列表、读取资源内容、调用工具和获取 Prompt。
  • 集成 LangChain 和 LangGraph: 展示了如何将 MCP 服务器与 LangChain 和 LangGraph 等 LLM 应用框架集成,实现更复杂的 Agent 应用。
  • FastAPI Host Client 应用: 'app/host_client/host_and_client.py' 提供了一个基于 FastAPI 的 Host Client 应用,允许用户通过 Web 界面注册 MCP 服务器并与 LLM 交互。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Coding-Crashkurse/Model-Context-Protocol.git
    cd Model-Context-Protocol
  2. 创建并激活虚拟环境 (推荐):

    python -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置 OpenAI API 密钥 (如果需要): 如果需要使用 'search_docs' 工具或 'gpt-4o-mini' 模型,请确保已配置 OpenAI API 密钥。可以通过设置环境变量 'OPENAI_API_KEY' 来完成。

服务器配置

以下 JSON 配置信息可用于 MCP 客户端连接到 'server.py' 或 'app/server/app.py' 启动的 MCP 服务器。

{
  "my_mcp_server": {
    "transport": "sse",
    "url": "http://127.0.0.1:3000/sse"
  }
}

配置参数说明:

  • 'my_mcp_server': 服务器名称,客户端用于标识和引用该服务器。可以自定义。
  • 'transport': 传输协议,这里设置为 'sse' (Server-Sent Events)。
  • 'url': MCP 服务器的 SSE 端点 URL。默认情况下,'server.py' 和 'app/server/app.py' 启动的服务器监听 'http://127.0.0.1:3000/sse'。

MCP 服务器启动命令:

  • 运行 'server.py' 示例服务器:
    python server.py
  • 运行 'app/server/app.py' 示例服务器:
    python app/server/app.py
    这两个命令都会启动一个 MCP 服务器,监听在 'http://127.0.0.1:3000/sse',并提供预定义的资源、工具和 Prompt。

基本使用方法

  1. 启动 MCP 服务器: 根据上述 "服务器配置" 中的 "MCP 服务器启动命令" 运行 'server.py' 或 'app/server/app.py'。

  2. 运行客户端示例: 根据需要运行仓库中提供的客户端示例,例如 'client_resource.py' 或 'host_and_client.py'。

    • 运行 'client_resource.py' 示例,测试资源和 Prompt 功能:

      python client_resource.py
    • 运行 'host_and_client.py' 示例,测试工具调用和 LangGraph 集成:

      python host_and_client.py
    • 运行 'client_resource_langgraph.py' 示例,测试资源列表和读取功能:

      python client_resource_langgraph.py
  3. 使用 FastAPI Host Client (可选):

    • 进入 'app/host_client' 目录:

      cd app/host_client
    • 安装 'app/host_client' 依赖:

      pip install -r requirements.txt
    • 启动 FastAPI 应用:

      uvicorn app.host_and_client:app --reload
    • 打开浏览器访问 'http://127.0.0.1:8000',即可通过 Web 界面注册 MCP 服务器并与 LLM 交互。

通过以上步骤,您可以快速体验和学习如何使用该仓库提供的 MCP 服务器示例,并基于此构建自己的 MCP 应用。

信息

分类

AI与计算