项目简介
本项目是基于 fastmcp 库构建的一个简单的 MCP 服务器示例,旨在展示 MCP 服务器的核心能力:托管资源、注册工具和定义 Prompt 模板。它可以与支持 Model Context Protocol (MCP) 的客户端(如 FastAgent)进行通信,为 LLM 应用提供上下文信息和外部功能调用接口。
主要功能点
- 资源访问 (Resources):
- 提供 '/debug:///hello' 资源,返回简单的问候信息。
- 提供 '/debug:///info' 资源,返回服务器的基本信息(如名称、配置、已注册的工具和资源)。
- 提供 '/greeting://{name}/{age}' 资源,根据提供的姓名和年龄生成个性化问候语。
- 工具调用 (Tools):
- 注册 'hit_url' 工具,允许客户端请求服务器通过 HTTP 方式访问指定的 URL,并返回响应内容。支持 GET, POST, PUT, DELETE 方法。
- Prompt 模板 (Prompts):
- 定义 'summarize_request' 模板,生成用于指示 LLM 总结一段文本的 Prompt。
该服务器通过 SSE (Server-Sent Events) 协议进行通信。
安装步骤
- 环境准备: 确保已安装 Docker (可选,用于外部 PostgreSQL MCP 示例)、Python (推荐 3.13) 和 uv 包管理器。
- 克隆仓库: 将本项目代码克隆到本地。
- 创建并激活虚拟环境:
uv venv source .venv/bin/activate - 安装依赖:
(可选):如需测试邮件发送功能,可安装并运行邮件 MCP 服务器:'uvx mcp-email-server@latest ui'uv pip install -r requirements.txt
服务器配置 (供 MCP 客户端使用)
此 MCP 服务器的内部名称为 'backend-mcp'。MCP 客户端(如 FastAgent)需要配置如何发现或启动并连接到这个服务器。
对于需要在客户端启动服务器进程的场景,客户端配置通常需要指定服务器名称以及启动服务器的命令和参数。
- 服务器名称: 'backend-mcp'
- 启动命令: 客户端需要执行的命令来启动此服务器。根据项目 README,从项目根目录执行的命令为 'uv run python mcp/server.py'。在客户端配置时,通常指定实际的 Python 解释器和脚本路径,例如:
- 命令 (command): 'python'
- 参数 (args): '["mcp/server.py"]'
- 传输协议: SSE (Server-Sent Events)
客户端需要将这些信息在其配置文件中关联起来,以便在需要时连接或启动 'backend-mcp' 服务器。
基本使用方法
- 启动服务器: 在项目根目录下激活虚拟环境后,运行以下命令启动服务器:
服务器将启动并监听来自 MCP 客户端的连接。uv run python mcp/server.py - 连接客户端: 使用支持 MCP 协议的客户端(例如 FastAgent)连接到此服务器。客户端需要根据上文描述的服务器名称和启动命令进行配置。
- 客户端交互: 客户端可以通过 MCP 协议请求服务器执行以下操作:
- 访问资源,例如请求 '/debug:///info' 获取服务器信息。
- 调用工具,例如使用 'hit_url' 工具访问一个外部网页。
- 获取 Prompt 模板,例如获取 'summarize_request' 模板以生成 Prompt。
信息
分类
开发者工具