MCP服务器构建库

一个基础的Python库,用于构建模型上下文协议(MCP)服务器,将任何API转换为AI可访问的服务。

  • by fuzzylabs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 fuzzylabs/mcp-base

使用说明

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服务器示例

发展

为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

文档

许可证

麻省理工学院