article
README
🚀 MCP 框架开发指南
MCP(Model Context Protocol)是一个用于开发和部署智能应用的开源框架。它提供了统一的协议、工具和服务,能助力开发者快速构建高效的应用程序。
✨ 主要特性
- 统一协议:提供标准化接口,便于不同组件之间的通信。
- 模块化设计:支持插件扩展,可根据需求灵活定制。
- 高性能:基于异步框架,处理大规模请求游刃有余。
- 内置工具:集成了文档处理、数据分析等常用功能。
📦 项目结构
MCP 框架目录结构
├── mcp/types.py # 定义内容类型和接口
├── tools/ # 工具实现
│ ├── base_tool.py # 工具基类定义
│ └── specific_tool.py # 具体工具实现
└── server.py # MCP 服务器实现
🚀 快速开始
安装依赖
pip install mcp[all] # 安装所有依赖项
# 或者按需安装:
pip install pyMuPDF python-docx pandas openpyxl httpx anyio click
启动服务
uv run mcp.server --transport sse --port 8000
访问 SSE 端点:http://localhost:8000/sse
📚 详细文档
MCP 协议
MCP 定义了一套标准化协议,用于不同组件之间的交互。核心内容包括:
-
内容类型:
- 文本内容 (
types.TextContent) - 图像内容 (
types.ImageContent) - 嵌入式资源 (
types.EmbeddedResource)
- 文本内容 (
-
通信协议:
- 使用 Server-Sent Events (SSE) 进行实时通信
- 支持 HTTP/HTTPS 协议栈
工具开发指南
开发新工具
- 在
tools目录下创建新的 Python 文件,例如your_tool.py - 导入必要的依赖和基类:
import mcp.types as types from . import BaseTool, ToolRegistry - 创建继承自
BaseTool的工具类:@ToolRegistry.register class YourTool(BaseTool): """您的工具描述""" name = "your_tool_name" # 工具的唯一标识符 description = "您的工具描述" # 工具的描述信息,将显示给用户 input_schema = { "type": "object", "required": ["param1"], # 必需的参数 "properties": { "param1": { "type": "string", "description": "参数1的描述", }, "param2": { "type": "integer", "description": "参数2的描述(可选)", } }, } async def execute(self, arguments: dict) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: """执行工具逻辑""" # 参数验证 if "param1" not in arguments: return [types.TextContent( type="text", text="Error: Missing required parameter" )] # 处理逻辑 result = self._process_arguments(arguments) return [types.TextContent( type="text", text=str(result) )]
部署指南
环境要求
- 操作系统:Linux, macOS, Windows (推荐使用 Linux)
- Python 版本:3.8+
安装依赖
pip install mcp[all] # 安装所有依赖项
# 或者按需安装:
pip install pyMuPDF python-docx pandas openpyxl httpx anyio click
启动服务
uv run mcp.server --transport sse --port 8000
访问 SSE 端点:http://localhost:8000/sse
配置指南
基本配置
编辑 config.py 文件:
from mcp.config import Config
Config.load_defaults()
# 或者自定义配置:
Config.set('debug_mode', True)
进阶配置
通过命令行参数进行配置:
uv run mcp.server --config your_config.yaml --port 8000
依赖管理
MCP 框架依赖以下库:
- PyMuPDF:用于 PDF 文档处理
- python-docx:用于 Word 文档处理
- pandas:用于数据分析
- openpyxl:用于 Excel 文件操作
- httpx:用于 HTTP 请求
- anyio:用于异步编程
- click:用于命令行工具
贡献指南
提交代码
- Fork 项目仓库
- 创建新分支 (
git checkout -b feature/your-feature) - 提交更改 (
git add .; git commit -m "your commit message") - Push 到远程仓库
- 创建 Pull Request
开发规范
- 遵循 PEP8 代码风格指南
- 提供详细的文档说明
- 包括单元测试用例
- 确保代码通过 CI/CD 测试
联系方式
- GitHub:mcp-framework
- 邮件列表:dev@mcpframework.org
- 中文社区:mcp-discuss-cn
📄 许可证
MCP 框架遵循 MIT License,具体条款见 LICENSE 文件。
扫码联系在线客服