AI工具协议服务器

一个基于Python和FastMCP构建的模型上下文协议(MCP)服务器,为AI助手和应用程序提供实用工具

  • by Rakshith1997-netizen
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Rakshith1997-netizen/mcp_server_python

使用说明

演示MCP服务器

使用Python和FastMCP构建的模型上下文协议(MCP)服务器,为AI助手和应用程序提供实用工具。

概述

此MCP服务器提供了三个可供MCP兼容客户端使用的有用工具:

  • 添加数字:执行简单的加法操作
  • 获取密语:从预定义列表中检索随机秘密单词
  • 获取当前天气:获取任何城市的实时天气数据

特性

  • 🔧 使用FastMCP构建,便于工具创建和服务器管理
  • 🌐 SSE(服务器发送事件)传输协议支持
  • 📝 用于监控和调试的全面日志记录
  • 🌤️ 使用wttr.in API实时天气数据集成
  • ⚙️ 通过环境变量配置端口

需求

  • Python 3.8+
  • mcp 包裹
  • requests 包裹

安装

  1. 克隆或下载此存储库

  2. 安装所需的依赖项:

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 感谢您提供优质的教育资源和教程,使这个项目成为可能。