使用说明
演示MCP服务器
使用Python和FastMCP构建的模型上下文协议(MCP)服务器,为AI助手和应用程序提供实用工具。
概述
此MCP服务器提供了三个可供MCP兼容客户端使用的有用工具:
- 添加数字:执行简单的加法操作
- 获取密语:从预定义列表中检索随机秘密单词
- 获取当前天气:获取任何城市的实时天气数据
特性
- 🔧 使用FastMCP构建,便于工具创建和服务器管理
- 🌐 SSE(服务器发送事件)传输协议支持
- 📝 用于监控和调试的全面日志记录
- 🌤️ 使用wttr.in API实时天气数据集成
- ⚙️ 通过环境变量配置端口
需求
- Python 3.8+
mcp包裹requests包裹
安装
-
克隆或下载此存储库
-
安装所需的依赖项:
pip install mcp requests
用法
启动服务器
使用默认设置(端口8080)运行服务器:
python server.py
或者使用环境变量指定自定义端口:
PORT=9000 python server.py
可用工具
1. add(a: int, b: int) -> int
将两个整数相加。
参数:
a:第一个整数b:第二个整数
退货: 两个数字之和
2. get_secret_word() -> str
从预定义列表中返回一个随机单词。
退货: 随机单词(苹果、香蕉或樱桃)
3. get_current_weather(city: str) -> str
获取指定城市的当前天气信息。
参数:
city:获取天气的城市名称
退货: 文本格式的天气信息
配置
可以使用以下环境变量配置服务器:
PORT:服务器将运行的端口号(默认值:8080)
建筑
服务器使用:
- FastMCP:简化MCP服务器的创建和工具定义
- 苏格兰和南方能源公司运输:服务器发送事件以进行实时通信
- API中的wttr.in:天气数据外部服务
日志记录
服务器实现了以下级别的全面日志记录:
- 信息:一般操作信息
- 错误:错误条件和异常
日志被输出到标准输出流(控制台)。
错误处理
- 天气API故障通过错误消息得到妥善处理
- 记录服务器异常并进行适当的清理
- 天气API的请求超时设置为10秒
集成示例
此MCP服务器可以与MCP兼容的客户端集成,例如:
- 克劳德桌面
- 定制AI助手
- 支持MCP协议的自动化工具
项目结构
mcp_server_python/
├── server.py # Main server implementation
└── README.md # This file
许可证
该项目是开源的,可用于教育目的。
鸣谢
该项目是作为学习模型上下文协议(MCP)和服务器开发的一部分而创建的。
特别感谢 FreeCodeCamp 感谢您提供优质的教育资源和教程,使这个项目成为可能。