使用说明
项目简介
本项目是一个Model Context Protocol (MCP) 服务器的入门级示例,旨在帮助开发者快速理解和上手MCP服务器的开发。它展示了如何使用Python和 'mcp' 库构建一个能够提供工具和资源的MCP后端服务。
主要功能点
- 工具 (Tools): 实现了两个简单的天气查询工具,允许LLM客户端获取美国特定州的天气警报和指定经纬度的天气预报。
- 'get_alerts(state: str)': 获取指定美国州的天气警报。
- 'get_forecast(latitude: float, longitude: float)': 获取指定经纬度的天气预报。
- 资源 (Resources): 提供了一个简单的echo资源,用于演示资源的基本概念。
- 'echo://{message}': 返回包含输入消息的文本。
- 传输协议: 支持 SSE (Server-Sent Events) 和 Stdio (标准输入输出) 两种传输协议,方便在不同场景下使用。
- 客户端示例: 提供了基于 Stdio 和 SSE 两种协议的Python客户端示例,帮助开发者测试和集成MCP服务器。
安装步骤
-
初始化项目: 在本地选择一个文件夹,打开命令行终端(如PowerShell或cmd),执行以下命令初始化项目:
uv init mcp-server-basic cd mcp-server-basic -
创建并激活虚拟环境:
uv venv .venv\Scripts\activate -
安装依赖:
uv add "mcp[cli]"或者使用 'requirements.txt' 文件安装依赖:
uv add -r requirements.txt
服务器配置
对于MCP客户端,需要配置连接到此MCP服务器的参数。以下是一个JSON格式的配置示例,客户端需要根据此配置与服务器建立连接:
{ "serverName": "weather-server", "command": "python", "args": ["mcpserver/server.py"] }
- 'serverName': 自定义的服务名称,例如 "weather-server",用于在客户端标识不同的MCP服务器连接。
- 'command': 运行服务器的命令,这里使用 'python' 来执行Python脚本。
- 'args': 命令的参数,'["mcpserver/server.py"]' 指定了服务器脚本的路径。请确保脚本 'mcpserver/server.py' 存在,并且是MCP服务器的入口文件。
注意: 如果使用 'README.md' 中提到的 'uv run mcp run' 或 'uv run mcp dev main.py' 启动服务器,请将 'args' 相应地修改为 '["run", "mcp", "run"]' 或 '["run", "mcp", "dev", "main.py"]',但请确保你的 'main.py' 或 'mcp' 命令配置正确。根据仓库内容,直接运行 'python mcpserver/server.py' 可能更直接。
基本使用方法
-
启动服务器: 在项目根目录下,打开命令行终端,激活虚拟环境后,运行服务器脚本。例如,使用以下命令启动基于 'mcpserver/server.py' 的服务器:
uv run python mcpserver/server.py或者,如果按照 'README.md' 的指示,可以使用:
uv run mcp run或
uv run mcp dev main.py请根据你的实际配置和希望使用的启动方式选择合适的命令。
-
运行客户端: 使用仓库中提供的客户端示例 ('mcpserver/client-stdio.py' 或 'mcpserver/client-sse.py') 与服务器进行交互。根据你启动服务器时选择的传输协议,选择对应的客户端脚本运行。例如,运行 Stdio 客户端:
uv run python mcpserver/client-stdio.py或 SSE 客户端:
uv run python mcpserver/client-sse.py -
与LLM集成: 将此MCP服务器配置集成到支持MCP协议的LLM客户端或应用中,即可通过工具和资源增强LLM的功能。你可以调用 'get_alerts' 和 'get_forecast' 工具查询天气信息,或者访问 'echo://{message}' 资源获取回显。
信息
分类
网页与API