使用说明
MCP基座
用于构建模型上下文协议(MCP)服务器的基础Python库。将任何API转换为具有经验证的模式和可重用组件的可访问的人工智能服务。
主要特点
- 基本类:继承自
BaseMCPServer用于快速MCP服务器开发 - 认证:对Bearer令牌、API密钥和自定义身份验证的内置支持
- 项目模板:包含测试、CI/CD和文档的完整样板
- 公用事业:分页装饰器、参数构建器和常见模式
- 未来考验:从库改进和新功能中自动获益
快速开始
pip install mcp-base
from mcp_base import BaseMCPServer, BearerTokenAPIClient
class MyMCPServer(BaseMCPServer):
def __init__(self, api_token: str):
api_client = BearerTokenAPIClient(
base_url="https://api.example.com",
api_token=api_token
)
super().__init__("My Server", api_client)
def register_tools(self):
@self.mcp.tool
async def get_data(id: str):
"""Get data by ID."""
return await self.api_client.get(f"data/{id}")
server = MyMCPServer("your-token")
server.run()
项目模板
使用中的模板生成完整的MCP服务器项目 templates/。参见 CLAUDE.md 获取详细的生成说明。
核心组件
BaseMCPServer-MCP服务器的抽象基类BaseAPIClient-具有身份验证和错误处理功能的HTTP客户端BearerTokenAPIClient-承载令牌身份验证APIKeyClient-API密钥验证@paginated_endpoint-自动分页装饰器build_api_params()-参数字典构造build_filter_query()-复杂的过滤和排序MCPToolRegistry-工具组织和管理
认证
承载令牌(推荐)
api_client = BearerTokenAPIClient("https://api.service.com", "your-token")
API密钥
api_client = APIKeyClient("https://api.service.com", "your-key", api_key_header="X-API-Key")
自定义身份验证
class CustomAuthClient(BaseAPIClient):
def get_auth_headers(self):
return {"Authorization": f"Custom {self.api_token}"}
高级模式
看 examples/ 以下内容的完整实现目录:
- 分页 -
@paginated_endpoint具有自动参数处理功能的装饰器 - 复杂过滤 -多条件搜索
build_filter_query() - 错误处理 -优雅的API错误管理
- 工具组织 -大型服务器的注册表模式
进化架构
MCP Base实现了 共享进化模型 -所有服务器都会自动从库改进中受益:
Automatic Benefits
mcp-base library ─────────────────────► All MCP servers
│
├─ Performance optimisations ─────► Faster response times
├─ New authentication methods ────► OAuth, SSO support
├─ Container deployment ──────────► Docker, Kubernetes
├─ Monitoring & logging ──────────► Observability tools
└─ Security enhancements ─────────► Latest best practices
这遵循了成功框架中经过验证的模式,如 快速 API 和 Next.js,展示了基础库如何在保持向后兼容性和自动改进所有依赖项目的同时发展。
例子:当MCP Base添加OAuth支持时,所有现有服务器都会继承它。性能优化可以在不更改代码的情况下提高每台服务器的性能。
MCP服务器示例
- 胶囊CRM -客户关系管理集成
发展
为MCP基地做出贡献
git clone https://github.com/fuzzylabs/mcp-base.git
cd mcp-base
pip install -e ".[dev]"
pytest
构建MCP服务器
# Use templates to generate new servers (see CLAUDE.md)
cd your-new-mcp-server/
uv sync --dev
uv run your-server-name
文档
许可证
麻省理工学院