项目简介

这是一个GitHub仓库,包含了多种语言(Python, Go)和多种传输协议(Stdio, HTTP)实现的Model Context Protocol (MCP) 服务器示例。它旨在帮助开发者理解MCP协议的核心概念,包括资源托管、工具注册与调用、Prompt模板定义等,并提供了与LLM集成的演示。

主要功能点

  • 工具注册与调用: 服务器能够声明并执行预定义的工具(如'greet'打招呼、'calculate'数学计算),供客户端(包括LLM)通过JSON-RPC协议调用。
  • 多种协议支持: 示例涵盖了基于标准输入输出 (Stdio) 的通信方式和基于HTTP (通过FastAPI) 的通信方式。
  • 初始化与能力声明: 服务器能够响应客户端的初始化请求,并声明其支持的能力,如工具列表变更通知。
  • LLM集成演示: 展示了MCP服务器如何将其工具列表提供给LLM,使LLM能够调用这些工具来完成复杂任务。

安装步骤

  1. 克隆仓库: 首先,您需要将该GitHub仓库克隆到您的本地机器上:
    git clone https://github.com/leonidas1712/mcp_servers.git
    cd mcp_servers
  2. 安装Python环境及依赖: 如果计划运行Python实现的MCP服务器,请确保您的Python环境已配置好,并安装 'uv' 包管理器和所需的依赖:
    pip install uv
    uv pip install fastmcp openai fastapi uvicorn python-dotenv
    (注意:Go语言服务器只需Go环境即可运行,无需额外的安装步骤。)
  3. 配置OpenAI API密钥(如果使用LLM集成): 如果计划运行涉及LLM集成的示例(如'mcp_with_ai.py'),您需要配置OpenAI API密钥。复制'.env.example'文件并将其重命名为'.env',然后编辑该文件以添加您的API密钥:
    cp .env.example .env
    编辑'.env'文件,将'your-api-key-here'替换为您的实际OpenAI API密钥:
    OPENAI_API_KEY=your-api-key-here

服务器配置

MCP客户端需要MCP服务器的启动命令和参数才能建立连接。以下是根据该仓库的服务器示例生成的配置信息,供MCP客户端配置参考:

{
  "servers": [
    {
      "name": "FastMCP Python服务器 (Stdio)",
      "command": "uv",
      "args": ["run", "fastmcp_server.py"],
      "description": "一个基于FastMCP库实现的Python MCP服务器,通过标准输入输出(Stdio)进行通信。",
      "transport": "stdio"
    },
    {
      "name": "原生Python MCP服务器 (Stdio)",
      "command": "uv",
      "args": ["run", "simple_server.py"],
      "description": "一个手动实现的Python MCP服务器,通过标准输入输出(Stdio)进行通信。",
      "transport": "stdio"
    },
    {
      "name": "Go语言 MCP服务器 (Stdio)",
      "command": "go",
      "args": ["run", "simple_server.go"],
      "description": "一个手动实现的Go语言 MCP服务器,通过标准输入输出(Stdio)进行通信。",
      "transport": "stdio"
    },
    {
      "name": "FastAPI HTTP MCP服务器",
      "command": "uv",
      "args": ["run", "http_mcp_server.py"],
      "description": "一个基于FastAPI实现的Python MCP服务器,通过HTTP协议进行通信。",
      "transport": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  ]
}

基本使用方法

以下是运行不同服务器示例的命令。请在您的终端中运行相应的服务器命令,然后您的MCP客户端即可连接到该服务器。

  • 运行 FastMCP Python 服务器 (Stdio):
    uv run fastmcp_server.py
  • 运行 原生Python MCP 服务器 (Stdio):
    uv run simple_server.py
  • 运行 Go语言 MCP 服务器 (Stdio):
    go run simple_server.go
  • 运行 FastAPI HTTP MCP 服务器:
    uv run http_mcp_server.py
    (该HTTP服务器默认运行在 'http://127.0.0.1:8000' 端口的 '/mcp' 路径下,请根据实际情况进行配置。)

信息

分类

AI与计算