MCP服务器模板

一个用于构建模型上下文协议(MCP)服务器的Python模板,提供即用型实现、可配置传输模式和嵌入式文档,旨在提高AI辅助开发的效率。

  • by sontallive
  • Python
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 sontallive/mcp-server-python-template

使用说明

MCP服务器模板,用于更好的AI编码

灵感来自 MCP官方教程

概述

此模板为在Python中构建模型上下文协议(MCP)服务器提供了简化的基础。它旨在使人工智能辅助开发MCP工具更容易、更高效。

特性

  • 即用型MCP服务器实现
  • 可配置的传输模式(stdio、SSE)
  • 天气服务集成示例(NWS API)
  • 干净、文档齐全的代码结构
  • 最小依赖性
  • 嵌入式MCP规范和文件 提高对人工智能工具的理解

游标规则集成

该项目使用游标规则来改进AI编码辅助,模式来自 很棒的光标规则.

  • 清洁代码指南:内置的干净代码规则有助于保持一致性和质量
  • 增强对人工智能的理解:规则提供上下文,帮助AI助手生成更好的代码
  • 标准化模式:遵循MCP服务器实施的既定最佳实践

游标规则帮助人工智能编码助理和人类开发人员保持高代码质量标准并遵循最佳实践。

集成MCP文档

该模板包括直接在项目中的全面MCP文档:

  • 完整的MCP规范 (protocals/mcp.md)完整的模型上下文协议规范,定义了AI模型如何与外部工具和资源交互。这有助于AI助手理解MCP概念和实现细节,而不需要外部参考。

  • Python SDK指南 (protocals/sdk.md):MCP Python SDK的详细文档,使AI工具更容易提供准确的代码建议并了解库的功能。

  • 示例实现 (protocals/example_weather.py):一个实际的气象服务实施,展示了现实世界的MCP服务器模式和最佳实践。

将这些资源嵌入到项目中,使AI编码助手能够更好地理解MCP概念,并在开发过程中提供更准确、上下文相关的建议。

需求

  • Python 3.12+
  • 依赖关系:
    • mcp>=1.4.1
    • httpx>=0.28.1
    • starlette>=0.46.1
    • uvicorn>=0.34.0

入门指南

安装

  1. 克隆此存储库:

    git clone https://github.com/yourusername/mcp-server-python-template.git
    cd mcp-server-python-template
    
  2. 创建虚拟环境并安装依赖项:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -e .
    

运行示例服务器

该模板包括一个天气服务示例,演示了如何构建MCP工具:

# Run with stdio transport (for CLI tools)
python server.py --transport stdio

# Run with SSE transport (for web applications)
python server.py --transport sse --host 0.0.0.0 --port 8080

创建自己的MCP工具

要创建自己的MCP工具:

  1. 从导入必要的组件 mcp:

    from mcp.server.fastmcp import FastMCP
    
  2. 使用命名空间初始化MCP服务器:

    mcp = FastMCP("your-namespace")
    
  3. 使用定义工具 @mcp.tool() 装饰师:

    @mcp.tool()
    async def your_tool_function(param1: str, param2: int) -> str:
        """
        Your tool description.
        
        Args:
            param1: Description of param1
            param2: Description of param2
            
        Returns:
            The result of your tool
        """
        # Your implementation here
        return result
    
  4. 使用适当的传输运行服务器:

    mcp.run(transport='stdio')  # or set up SSE as shown in server.py
    

项目结构

  • server.py:使用示例天气工具实现主MCP服务器
  • main.py:自定义代码的简单入口点
  • protocals/:文件和示例协议
    • mcp.md:完整的MCP规范(约7000条线路)
    • sdk.md:MCP Python SDK文档
    • example_weather.py:天气服务实施示例
  • pyproject.toml:项目依赖关系和元数据

了解MCP

模型上下文协议(MCP)是人工智能模型与外部工具和资源交互的标准化方式。关键概念包括:

  • 工具:模型可以调用以执行操作或检索信息的函数
  • 资源:模型可以参考的外部数据源
  • 运输:客户端和MCP服务器(stdio、SSE)之间的通信通道
  • 命名空间:相关工具的逻辑分组

此模板专门用于使使用MCP更容易访问,集成文档帮助AI工具更好地理解和生成MCP实现的适当代码。

学习资源

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。