使用说明
项目简介
本项目 'anthropic-mcp' 是基于 Model Context Protocol (MCP) 协议的示例资源仓库,包含了一个天气服务器的实现 ('weather/src/weather/server.py') 和一个简单的MCP客户端 ('mcp-client/client.py')。该天气服务器演示了如何通过MCP协议向LLM客户端提供天气查询工具,例如获取天气预警和天气预报。
主要功能点
- MCP 服务器实现: 提供了一个完整的天气服务器,该服务器实现了MCP协议,可以注册和执行天气相关的工具 (get-alerts, get-forecast)。
- 工具示例: 天气服务器提供了两个工具:
- 'get-alerts': 根据州名获取天气警报。
- 'get-forecast': 根据经纬度获取天气预报。
- MCP 客户端: 提供了一个基础的MCP客户端,可以连接到MCP服务器,列出可用工具,并调用这些工具。客户端集成了Anthropic Claude模型,演示了如何利用MCP服务器提供的工具增强LLM的能力。
- Stdio 传输: 服务器和客户端通过标准输入/输出 (stdio) 进行通信,简化了部署和运行。
- 环境配置: 使用 '.env' 文件管理环境变量,方便配置API密钥等敏感信息。
安装步骤
-
克隆仓库:
git clone https://github.com/s-nandi/anthropic-mcp.git cd anthropic-mcp -
配置环境变量:
- 复制 '.env-example' 文件为 '.env':
cp .env-example .env - 编辑 '.env' 文件,根据需要填写API密钥。 如果您只想测试MCP服务器本身,可以忽略Anthropic API 密钥的配置。
- 复制 '.env-example' 文件为 '.env':
-
安装依赖: 建议使用 'uv' 进行包管理,如 README.md 所示。如果未安装 'uv',可以使用 'pip':
pip install -r requirements.txt # 如果仓库根目录有 requirements.txt cd weather pip install -r requirements.txt # 安装天气服务器依赖 (如果 weather 目录下有 requirements.txt) cd .. cd mcp-client pip install -r requirements.txt # 安装 MCP 客户端依赖 (如果 mcp-client 目录下有 requirements.txt) cd ..注意:仓库中可能没有明确的 'requirements.txt' 文件,但通常需要安装 'mcp-server', 'mcp-client', 'httpx', 'anthropic', 'python-dotenv' 等库。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能连接。以下是天气服务器的配置信息示例 (JSON 格式):
{ "server name": "weather-server", "command": "uv", "args": ["run", "weather/src/weather/server.py"] }
- 'server name': 服务器的名称,可以自定义,用于客户端识别和管理。例如 "weather-server"。
- 'command': 启动服务器的命令。示例中使用 'uv run' 来运行 Python 脚本。如果直接使用 Python 运行,则命令为 'python'。
- 'args': 传递给启动命令的参数列表。这里指向天气服务器的 Python 脚本 'weather/src/weather/server.py'。
基本使用方法
- 启动 MCP 客户端并连接天气服务器:
使用 'uv' (推荐,如 README.md 所示):
或者使用 'python' 直接运行 (如果未使用 'uv'):python mcp-client/client.py --tool "uv run weather/src/weather/server.py"python mcp-client/client.py --tool "python weather/src/weather/server.py" - 与客户端交互:
启动客户端后,会出现 '>' 提示符。您可以输入自然语言查询,例如:
或> What is the weather forecast for Los Angeles? (洛杉矶的天气预报是什么?)
客户端将调用连接的天气服务器来处理您的查询。 输入 'quit' 可以退出客户端。> Are there any weather alerts in California? (加利福尼亚州有天气警报吗?)
信息
分类
AI与计算