使用说明
MCP基座
MCP项目的坚实基础起点。MCP Base是一个生产就绪、可扩展的模板,用于在 python快速创建、扩展和部署MCP服务器,这些服务器向LLM和代理客户端公开工具、提示和资源。
🚀 这是什么?
这是一个 Python入门基础--不是特定的服务器实现。它为在Python中构建自己的MCP服务器提供了一个模块化、有据可查的基础,支持多个传输层(STDIO、SSE、HTTP等),并展示了安全性、可扩展性和可维护性的最佳实践。
🏗️ 架构概述
.
├── src/
│ ├── base/ # Base classes for tools, prompts, resources
│ ├── tools/ # Example tools (filesystem, API, prompt, etc.)
│ ├── resources/ # Example resources (static/dynamic)
│ ├── prompts/ # Example prompts (text generation, summarization)
│ ├── transports/ # Transport layer implementations & docs
│ │ ├── stdio/
│ │ │ └── README.md
│ │ ├── sse/
│ │ │ └── README.md
│ │ └── ...
│ ├── config.py # Configuration and environment management
│ ├── server.py # Server instantiation and registration
│ └── main.py # Entrypoint: selects transport, starts server
├── tests/ # Example tests for tools/resources
├── Dockerfile # Containerized deployment
├── requirements.txt / pyproject.toml
├── README.md # This file
├── CONTRIBUTING.md
└── ...
✨ 特性
- 多种运输支持: STDIO、SSE、HTTP等(参见
/src/transports/) - 模块化工具/提示/资源: 通过创建类并注册来添加新功能
- 类型安全输入验证: 将Pydantic用于模式
- 安全最佳实践: 目录沙盒、输入验证、错误处理
- 可扩展和可维护: 关注点、基类和注册表的清晰分离
- 生产就绪: 日志记录、环境管理、Docker支持
- 综合文件: 对于用户和贡献者
🛠️ 入门指南
1.安装依赖项
pip install -r requirements.txt
2.配置环境
复制 .env.example 向 .env 并填写所需的值。
3.运行服务器
STDIO传输:
python main.py --transport=stdio
SSE/HTTP传输:
看 /src/transports/sse/README.md 和 /src/transports/http/README.md 了解详情。
🧩 添加工具、提示和资源
工具
- 在中创建新类
/src/tools/继承自BaseTool - 实现所需的方法和输入模式
- 在工具注册表中注册该工具
鼓励
- 在中创建新类
/src/prompts/继承自BasePrompt - 实现所需的方法和输入模式
- 在提示注册表中注册提示
资源
- 在中添加静态或动态资源
/src/resources/ - 在资源注册表中注册它们
🔌 支持的交通工具
- STDIO: 有关CLI和代理集成(请参阅
/src/transports/stdio/README.md) - SSE: 有关服务器发送的事件和web客户端(请参阅
/src/transports/sse/README.md) - HTTP: 有关RESTful或基于web的集成(请参见
/src/transports/http/README.md)
每个运输工具都是模块化的,可以扩展或更换。
🛡️ 安全与最佳实践
- 所有文件和目录操作都被沙盒化到允许的路径
- 对所有工具/资源输入强制执行输入验证
- 错误处理一致且用户友好
- 敏感配置通过环境变量进行管理
🧪 测试
- 示例测试见
/tests/ - 使用Pytest作为测试运行器
- 测试指南见CONTRIBUTING.md
🤝 贡献
我们欢迎捐款!请看 贡献.md 用于指导方针、代码风格和PR流程。
📚 进一步阅读
📝 许可证
MIT许可证。看 许可证 了解详情。
💬 社区与支持
MCP Base是所有新的Python MCP服务器项目的推荐起点。分叉、扩展和贡献改进!
