GenAI MCP 服务端集合
使用说明(Markdown格式)
-
项目简介
- 该仓库包含若干 MCP 服务器实现,用于向 MCP 客户端提供工具(Tools)服务,按 MCP 规范处理请求并返回响应。核心实现基于 FastMCP,服务器通过 MCP 的标准接口对外暴露工具。当前实现示例包括 Weather、Tech News 与 Math 服务。
-
主要功能点
- MCP 服务器实现:基于 FastMCP 提供 MCP 服务端框架,暴露一个或多个工具接口供 MCP 客户端调用。
- 工具暴露:通过 @mcp.tool() 装饰器将函数暴露为 MCP 工具,客户端可以调用这些工具获取数据或执行计算。
- 服务器入口与传输:在每个服务脚本的主入口通过 mcp.run(transport="stdio") 启动服务,支持头部传输模式(如 stdio)等。
- 易于扩展:新增服务器只需实现新的 FastMCP 实例、装饰工具并在主入口启动即可。
-
安装与运行步骤
- 进入相应 MCP 服务器脚本所在目录,直接运行脚本即可启动服务器。
- 运行示例(Weather 服务):python genai_blueprint/mcp_server/weather_server.py
- 运行示例(Tech News 服务):python genai_blueprint/mcp_server/tech_news.py
- 运行示例(Math 服务):python genai_blueprint/mcp_server/math_server.py
- MCP 客户端无需在此处修改,直接通过配置与调用即可连接。
-
服务器配置(MCP 客户端需要的配置示例,JSON 格式,字段包含 server name、command、args 等) 说明:以下配置用于 MCP 客户端启动与连接,描述各自服务器的名称与启动命令。注释位于同一条 JSON 之外的说明文本中,MCP 客户端不需要额外的代码片段。
- Weather 服务 { "server_name": "weather", "command": "python", "args": ["genai_blueprint/mcp_server/weather_server.py"] } 注释:
- server_name:服务器在 MCP 客户端中的唯一标识,此处与脚本中 FastMCP("weather") 对应。
- command/args:启动服务器所需的命令与参数,MCP 客户端据此启动独立进程并通过 MCP 连接。
- Math 服务 { "server_name": "Math", "command": "python", "args": ["genai_blueprint/mcp_server/math_server.py"] } 注释:
- server_name 为大写 “Math”,与脚本中的 mcp = FastMCP("Math") 对应。
- 其他字段同上。
- Tech News 服务 { "server_name": "tech_news", "command": "python", "args": ["genai_blueprint/mcp_server/tech_news.py"] } 注释:
- server_name 为 "tech_news",与脚本中的 FastMCP("tech_news") 对应。
- 其他字段同上。
-
基本使用方法
- 启动 MCP 服务器后,MCP 客户端可通过 MCP 协议向服务器发起格式化的请求,调用暴露的工具(如 weather 获取天气信息、math 执行简单运算、tech_news 获取科技新闻摘要),服务器返回 JSON-RPC 风格的响应数据。
- 客户端配置完成后,即可按 MCP 客户端的调用约定进行查询,获取结构化数据并在后续流程中进行处理。
-
兼容性与注意事项
- 这些实现依赖 FastMCP 库对 MCP 协议的支持,确保在运行环境中安装了相关依赖。
- 每个脚本的入口都在 if name == "main" 下调用 mcp.run(transport="stdio"),请按照运行环境选择合适的传输模式。
- 如需扩展,请保持 server_name 与 FastMCP 的实例标识一致,并通过 @mcp.tool() 装饰新工具。
-
关键词 模型上下文协议, 工具服务, 资源管理, 跨进程通信, 后端服务
-
分类 6