MCP服务器模板

一个基于Cookiecutter和Poetry的MCP服务器模板,提供快速搭建、可扩展资源和工具的功能,适用于需要快速启动MCP项目的开发者。

  • by jordandm999
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jordandm999/quickmcp

使用说明

基本Python MCP服务器

此模板使用Cookiecutter创建一个基本的MCP服务器。Poetry可用于安装依赖项

特性

  • 基于最佳实践构建的FastMCP服务器
  • 示例资源和工具,便于扩展
  • 可扩展、可维护代码的绝对导入

生成的MCP项目依赖关系:

  • FastMCP:处理MCP
  • Starlette:用于流式传输HTTP
  • Uvicorn:用于ASGI

用户指南

  1. 使用Cookiecutter生成新项目:

    从要显示新项目文件夹的父目录中,运行:

    cookiecutter gh:yourusername/your-repo
    

    或者,如果使用本地路径:

    cookiecutter /path/to/quickmcp
    

    按照提示填写项目详细信息。

  2. 使用Poetry安装依赖项:

    cd <your_project_name>
    poetry install
    
  3. 从项目根目录(的父目录)运行服务器 src/):

    uvicorn src.<your_project_name>.server:app --reload
    

    注: 始终从的父目录运行 src/ 确保绝对进口工作。

  4. 访问MCP API:

项目结构

<your_project_name>/ ├── src/ │ └── <您的项目名称>/ │ ├── mcp.py │ ├── 服务器.py │ ├── 资源/ │ │ ├── init.py │ │ └── example_resource.py │ └── 工具/ │ ├── init.py │ └── example_tool.py ├── pyproject.toml ├── uv.lock └── ...

延伸

  • 添加工具:
    在中创建新工具 src/<your_project_name>/tools 并将它们添加到导入列表中 tools/__init__.py
  • 添加资源:
    在中创建新资源 src/<your_project_name>/resources 并将它们添加到导入列表中 resources/__init__.py

发展

  • 在整个代码库中使用绝对导入。
  • 始终从的父目录运行服务器 src/.

许可证

Apache 2.0