使用说明
项目简介
本项目 'mcp-server-python-template' 是一个用于快速搭建 Model Context Protocol (MCP) 服务器的 Python 模板。它提供了一个结构化的基础框架,帮助开发者轻松创建能够与 LLM 客户端进行交互的 MCP 服务器应用。该模板预置了工具注册和基于 SSE (Server-Sent Events) 及 Stdio 的通信机制,并提供了一个天气信息工具的示例,方便用户理解和扩展。
主要功能点
- MCP 服务器基础框架: 提供构建 MCP 服务器所需的核心组件和结构。
- 工具 (Tools) 注册: 允许开发者注册自定义工具,供 LLM 客户端调用,例如示例中的天气查询工具。
- 传输协议支持: 内置支持 SSE 和 Stdio 两种传输协议,满足不同应用场景的需求。
- 示例工具: 包含获取天气预警和天气预报的示例工具,展示了如何集成外部 API。
- 易于扩展: 模板结构清晰,方便开发者根据自身需求扩展功能,例如添加资源管理和Prompt模板渲染等功能。
安装步骤
- 克隆仓库
git clone https://github.com/Cris-0k/mcp-server-python-template.git cd mcp-server-python-template - 安装依赖
建议使用虚拟环境:
python -m venv venv source venv/bin/activate # 或 venv\Scripts\activate for Windows pip install -r requirements.txt
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是针对不同传输方式的配置示例:
1. Stdio 传输 (默认)
{ "serverName": "weather-stdio-server", "command": "python", "args": ["server.py"] }
- 'serverName': 服务器的名称,可以自定义。
- 'command': 启动服务器的命令,这里是 'python'。
- 'args': 传递给 'python' 命令的参数,'server.py' 表示运行 'server.py' 文件。
2. SSE 传输
{ "serverName": "weather-sse-server", "command": "python", "args": ["server.py", "--transport", "sse", "--host", "0.0.0.0", "--port", "8080"] }
- 'serverName': 服务器的名称,可以自定义。
- 'command': 启动服务器的命令,这里是 'python'。
- 'args': 传递给 'python' 命令的参数:
- '--transport sse': 指定使用 SSE 传输协议。
- '--host 0.0.0.0': 指定服务器监听的 host 地址为 '0.0.0.0' (允许所有IP访问)。
- '--port 8080': 指定服务器监听的端口为 '8080'。
注意: MCP客户端需要根据选择的传输方式配置相应的连接参数 (例如 SSE 传输还需要配置服务器的 URL,默认为 'http://0.0.0.0:8080/sse'),具体请参考 MCP 客户端的使用说明。
基本使用方法
- 启动服务器: 根据选择的传输方式,使用上述配置中的命令启动服务器。例如,使用 Stdio 传输,在项目根目录下运行 'python server.py'。使用 SSE 传输,运行 'python server.py --transport sse' (或自定义 host 和 port)。
- 配置 MCP 客户端: 在 MCP 客户端中,根据选择的传输方式,填入相应的服务器配置信息 (如上述 JSON 示例) 和连接参数。
- 调用工具: 客户端连接成功后,即可调用服务器提供的工具,例如 'get_alerts' (获取州天气预警) 和 'get_forecast' (获取经纬度天气预报)。 具体工具的使用方法和参数请参考代码中的函数注释。
信息
分类
开发者工具