项目简介
MCP Forge Python是一个高性能、可投入生产使用的模型上下文协议(MCP)服务器模板。它基于Python语言构建,旨在为大型语言模型(LLM)应用提供标准化的后端服务,负责管理上下文资源、执行外部工具以及渲染Prompt模板。项目内置了OAuth 2.0认证和JWT验证机制,支持多种部署选项,是构建安全、可扩展AI应用后端的理想选择。
主要功能点
- MCP协议支持: 全面实现了MCP协议,包括对资源(Resources)、工具(Tools)和Prompt模板(Prompts)的托管与管理。
- 多种通信方式: 支持标准输入/输出(Stdio)通信,适用于本地AI客户端;也支持基于HTTP的服务器发送事件(SSE),用于实时Web通信。
- 内置工具: 提供了'hello_world'(个性化问候)和'whoami'(基于JWT的用户信息展示)等示例工具。
- 安全与认证: 集成了OAuth 2.0授权服务器和受保护资源元数据发现,支持JWT本地验证(通过JWKS URI和CEL表达式)或委托外部代理验证,并具备访问日志记录和URI白名单等安全措施。
- 灵活配置: 通过TOML文件进行配置,可定制服务器设置、中间件行为及OAuth集成。
- 生产部署: 提供完整的Docker容器化和Kubernetes Helm Chart,简化云环境部署。
安装步骤
- 系统要求: 确保已安装 Python >= 3.10。建议安装 'uv' 作为依赖管理工具(安装方式请参考 astral.sh/uv)。
- 克隆仓库:
git clone https://github.com/bercianor/mcp-forge-python.git cd mcp-forge-python - 安装依赖:
uv sync uv pip install .
服务器配置 (供MCP客户端连接使用)
MCP客户端需要配置服务器的启动方式才能建立连接。以下是MCP Forge Python服务器的两种常用启动配置信息,请根据您的MCP客户端的配置界面,填入对应参数:
{ "name": "MCP-Forge-Python", "description": "基于Python实现的MCP服务器,提供上下文管理、工具调用和Prompt交互功能。", "commands": [ { "name": "HTTP/SSE 模式", "description": "通过HTTP和SSE协议与MCP服务器通信,适用于远程或Web客户端。", "command": "uv", "args": ["run", "http"], "url": "http://127.0.0.1:8080/mcp", "capabilities": { "resources": { "enabled": true }, "tools": { "enabled": true }, "prompts": { "enabled": true } } }, { "name": "Stdio 模式", "description": "通过标准输入/输出与MCP服务器通信,适用于本地AI客户端(如Claude Desktop)。", "command": "uv", "args": ["run", "stdio"], "capabilities": { "resources": { "enabled": true }, "tools": { "enabled": true }, "prompts": { "enabled": true } } } ] }
配置参数说明:
- 'name': 服务器的名称,此处为“MCP-Forge-Python”。
- 'description': 服务器的简要描述。
- 'commands': 包含不同的服务器启动命令配置。
- 'name': 该启动命令的名称。
- 'description': 该启动命令的详细说明。
- 'command': 用于启动MCP服务器进程的可执行文件,例如“uv”。
- 'args': 传递给'command'的参数列表,例如'["run", "http"]'用于HTTP/SSE模式,'["run", "stdio"]'用于Stdio模式。
- 'url': (仅适用于HTTP/SSE模式)MCP服务器监听的URL路径,客户端将通过此URL进行通信。
- 'capabilities': 服务器支持的功能声明。
- 'resources.enabled': 指示服务器是否支持资源管理。
- 'tools.enabled': 指示服务器是否支持工具调用。
- 'prompts.enabled': 指示服务器是否支持Prompt模板。
基本使用方法
- 启动服务器:
- HTTP/SSE 模式: 在项目根目录下运行 'uv run http'。服务器将监听 'http://127.0.0.1:8080',MCP协议端点为 'http://127.0.0.1:8080/mcp'。
- Stdio 模式: 在项目根目录下运行 'uv run stdio'。服务器将通过标准输入输出进行通信。
- 与LLM客户端集成: 配置您的LLM客户端(如Claude Desktop或其他支持MCP协议的客户端),使用上述“服务器配置”中提供的相应'command'、'args'和'url'信息连接到此MCP服务器。连接成功后,LLM客户端即可通过此服务器访问上下文信息和调用'hello_world'、'whoami'等工具。
信息
分类
AI与计算