项目简介
这是一个GitHub仓库,包含了多种语言(Python, Go)和多种传输协议(Stdio, HTTP)实现的Model Context Protocol (MCP) 服务器示例。它旨在帮助开发者理解MCP协议的核心概念,包括资源托管、工具注册与调用、Prompt模板定义等,并提供了与LLM集成的演示。
主要功能点
- 工具注册与调用: 服务器能够声明并执行预定义的工具(如'greet'打招呼、'calculate'数学计算),供客户端(包括LLM)通过JSON-RPC协议调用。
- 多种协议支持: 示例涵盖了基于标准输入输出 (Stdio) 的通信方式和基于HTTP (通过FastAPI) 的通信方式。
- 初始化与能力声明: 服务器能够响应客户端的初始化请求,并声明其支持的能力,如工具列表变更通知。
- LLM集成演示: 展示了MCP服务器如何将其工具列表提供给LLM,使LLM能够调用这些工具来完成复杂任务。
安装步骤
- 克隆仓库:
首先,您需要将该GitHub仓库克隆到您的本地机器上:
git clone https://github.com/leonidas1712/mcp_servers.git cd mcp_servers - 安装Python环境及依赖:
如果计划运行Python实现的MCP服务器,请确保您的Python环境已配置好,并安装 'uv' 包管理器和所需的依赖:
(注意:Go语言服务器只需Go环境即可运行,无需额外的安装步骤。)pip install uv uv pip install fastmcp openai fastapi uvicorn python-dotenv - 配置OpenAI API密钥(如果使用LLM集成):
如果计划运行涉及LLM集成的示例(如'mcp_with_ai.py'),您需要配置OpenAI API密钥。复制'.env.example'文件并将其重命名为'.env',然后编辑该文件以添加您的API密钥:
编辑'.env'文件,将'your-api-key-here'替换为您的实际OpenAI API密钥:cp .env.example .envOPENAI_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 服务器:
(该HTTP服务器默认运行在 'http://127.0.0.1:8000' 端口的 '/mcp' 路径下,请根据实际情况进行配置。)uv run http_mcp_server.py
信息
分类
AI与计算