返回市场
MCP服务器基础模板

MCP服务器基础模板

作者:josharsh15 星标更新:2025-04-21

项目介绍

MCP Base

MCP项目的坚实基础。MCP Base是一个生产就绪、可扩展的模板,用于使用Python构建模型上下文协议(MCP)服务器。快速创建、扩展并部署暴露工具、提示和资源给LLMs和代理客户端的MCP服务器。


🚀 这是什么?

这是一个Python入门基础——不是一个特定的服务器实现。它提供了一个模块化且文档齐全的基础,用于在Python中构建自己的MCP服务器,支持多种传输层(STDIO、SSE、HTTP等),并展示了安全、扩展性和维护性的最佳实践。


🏗️ 架构概述

.
├── src/
│   ├── base/                # 工具、提示、资源的基本类
│   ├── tools/               # 示例工具(文件系统、API、提示等)
│   ├── resources/           # 示例资源(静态/动态)
│   ├── prompts/             # 示例提示(文本生成、总结)
│   ├── transports/          # 传输层实现及文档
│   │   ├── stdio/
│   │   │   └── README.md
│   │   ├── sse/
│   │   │   └── README.md
│   │   └── ...
│   ├── config.py            # 配置和环境管理
│   ├── server.py            # 服务器实例化和注册
│   └── main.py              # 入口点:选择传输方式,启动服务器
├── tests/                   # 工具/资源示例测试
├── Dockerfile               # 容器化部署
├── requirements.txt / pyproject.toml
├── README.md                # 此文件
├── 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获取测试指南

🤝 贡献

我们欢迎贡献!请参阅CONTRIBUTING.md获取指南、代码风格和PR流程。


📚 进一步阅读


📝 许可证

MIT许可证。详情请参阅LICENSE


💬 社区和支持


MCP Base是所有新的Python MCP服务器项目推荐的起点。分叉、扩展并贡献改进!