MCP服务器模板

一个用于构建模型上下文协议服务器的生产就绪模板,提供基本结构和示例工具,便于连接API或数据源到Claude Desktop。

  • by BaranDev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 barandev/mcp-server-template

使用说明

MCP服务器模板

用于使用Python构建模型上下文协议服务器的生产就绪模板。如果您想将API或数据源连接到ClaudeDesktop,此模板为您提供了入门的基本结构。

你得到了什么

此模板包括:

  • 四个示例MCP工具 您可以用自己的替换:

    • 搜索事物
    • 获取特定项目的详细信息
    • 列出类别
    • 获取热门或热门商品
  • 干净的建筑 分为三个文件:

    • main.py -您的MCP工具和服务器设置
    • api_service.py -具有连接池、错误处理和重试功能的HTTP客户端
    • config.py -设置和环境变量管理
  • 生产模式 -正确的异步/等待、资源清理和错误处理

快速开始

1.设置您的环境

# Install the required packages
pip install -r requirements.txt

# Copy the example environment file
cp .env.example .env
# Edit .env and add your API key and settings

2.为您的API定制

打开 api_service.py 并更新:

  • API URL(当前 https://api.example.com/v1)
  • 身份验证方法(当前在params中使用API密钥)
  • 与API匹配的端点路径
# Update the base URL and authentication
self.base_url = settings.api_base_url  # Change in config.py
self.api_key = settings.api_key        # Set via environment variable

# Replace the example endpoints
async def search(self, query: str, limit: int = 10):
    return await self._make_request("GET", "/your-search-endpoint", ...)

3.更新您的MCP工具

编辑 main.py 要用特定于域的功能替换示例工具,请执行以下操作:

@mcp.tool
async def your_tool_name(param: str) -> Dict[str, Any]:
    """
    Describe what your tool does.
    
    Args:
        param: Explain your parameters
        
    Returns:
        Explain what you return
    """
    client = await get_api_client()
    result = await client.your_api_method(param)
    
    # Transform the API response into the format Claude needs
    return {"your": "data"}

4.测试您的服务器

python main.py

5.连接到克劳德桌面

将此添加到您的 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "your-server": {
      "command": "python",
      "args": ["/absolute/path/to/your-server/main.py"],
      "cwd": "/absolute/path/to/your-server",
      "env": {
        "API_KEY": "your_api_key_here"
      }
    }
  }
}

高级配置

添加自定义设置

编辑 config.py 添加API需要的任何设置:

@property
def your_setting(self) -> str:
    """Description of what this setting controls."""
    return os.getenv("YOUR_SETTING", "default_value")

环境变量

所有敏感数据都应该放在你的 .env 文件:

API_KEY=your_actual_api_key
API_BASE_URL=https://your-api.com/v1
# Add other settings as needed

了解更多信息

MCP资源

常见问题

什么是MCP? 模型上下文协议允许您向Claude Desktop添加自定义工具。您可以让Claude访问API、数据库或文件中的实时数据,而不是只知道它接受了什么培训。

我可以构建什么? 任何涉及获取数据供克劳德使用的事情。搜索公司文档、查看最近的电子邮件、获取天气数据、查找产品信息等。

我需要了解很多API吗? 基础知识会有所帮助,但这个模板可以处理困难的部分。你主要需要知道你想要什么数据以及从哪里获得它。

许可证

此模板在MIT许可证下发布。看 许可证 了解详情。

注: 使用此模板时,请确保在发布MCP服务器之前用您自己的名称或组织更新LICENSE文件。