MCP Serve - Model Context Protocol 后端服务器
使用说明内容(Markdown格式)
项目简介
本仓库实现了一个基于 Model Context Protocol(MCP)的后端服务器,核心通过 FastMCP 提供简化的 MCP 服务能力。当前实现包含一个示例工具(shell 命令执行),通过 SSE 传输与 MCP 客户端进行交互,并支持基于环境变量的简单配置和 API Key 认证。
主要功能点
- 基于 MCP 的后端服务器,能够向 LLM 客户端提供工具、资源、经由 JSON-RPC 的请求/响应机制
- 支持 Server-Sent Events(SSE)传输,提升长连接和流式交互能力
- 内置简单的 API Key 认证(通过 x-api-key 请求头进行校验)
- 可扩展的工具注册能力,当前示例提供 shell 命令执行工具
- 通过 .env 文件进行基本配置(应用名、端口、日志级别、调试开关等)
安装步骤
- 安装 Python 3.x 环境
- 安装依赖(示例依赖来自代码中使用的包,如 FastMCP、Starlette、python-dotenv 等,实际环境请参考项目要求文件或错误信息逐步安装)
- 获取代码:将仓库内容下载到本地
- 安装依赖并准备运行环境
- 运行服务器:在项目目录下执行 python -m mcp.main 或等价的启动命令(请确保环境变量正确设置)
服务器配置(客户端使用的连接配置信息)
MCP 客户端需要一个描述服务器启动命令及参数的配置,以便启动并连接到 MCP 服务器。下列 JSON 示例为常用格式,包含服务器名称、启动命令和参数注释,客户端并不需要直接执行这些注释,只需作为连接配置的参考。
{ "name": "MCP Serve - Model Context Protocol Server", "command": "python -m mcp.main", "args": [] }
配置说明:
- name: 服务器在客户端的显示名称,建议填写易识别的名称
- command: 启动服务器的命令(此处为直接启动 Python 模块的示例)
- args: 启动命令的参数列表,当前实现通过环境变量控制端口、密钥等,若需要可在这里添加额外参数
- 注:服务器运行时会读取环境变量来控制端口、调试模式、日志等级以及认证密钥等,请按需要在 .env 文件中配置相关值
基本使用方法
- 先配置好环境变量(如 APP_NAME、APP_PORT、MCP_API_KEY、APP_DEBUG、APP_LOG_LEVEL),并确保在启动前已安装所需依赖
- 使用命令启动服务器:python -m mcp.main(或直接运行 mcp/main.py,前提是依赖和包路径正确)
- 客户端通过 MCP JSON-RPC 调用工具、资源等能力,若需要安全访问,请在请求头中传递 x-api-key,与服务器端的 MCP_API_KEY 匹配
- 当前实现提供一个名为 shell_command 的工具,用于执行 shell 命令并返回输出,便于调试和演示