Python MCP服务器模板

一个基于FastMCP的Python MCP服务器开发模板,提供项目结构、测试框架和开发工具配置。

  • by jonmmease
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jonmmease/jons-mcp-cookiecutter

使用说明

Python MCP服务器Cookiecutter模板

此存储库包含 炊具切割器 使用FastMCP创建基于Python的MCP(模型上下文协议)服务器的模板。

使用此模板

选项1:使用uvx(推荐)

使用此模板的最简单方法是 uvx,无需永久安装即可运行cookiecutter:

# From a GitHub repository
uvx cookiecutter gh:jonmmease/jons-mcp-cookiecutter

# Or from a local clone
uvx cookiecutter /path/to/jons-mcp-cookiecutter

选项2:安装带紫外线的炊具

# Install cookiecutter as a tool
uv tool install cookiecutter

# Then run it
cookiecutter gh:YOUR_USERNAME/jons-mcp-cookiecutter

选项3:使用pip/pipx

# With pipx (recommended for CLI tools)
pipx install cookiecutter
cookiecutter gh:YOUR_USERNAME/jons-mcp-cookiecutter

# Or with pip
pip install cookiecutter
cookiecutter gh:YOUR_USERNAME/jons-mcp-cookiecutter

模板变量

运行cookiecutter时,系统会提示您输入以下值:

变量 描述 示例
project_name 人类可读的项目名称 “我的MCP服务器”
project_slug URL/目录友好名称(自动派生) “我的mcp服务器”
pkg_name Python包名称(自动派生) “my_mcp_server”
description 项目简介 “用于…的MCP服务器”
author 你的名字 “无名氏”
author_email 您的电子邮件 “jane@example.com"

这 project_slug 和 pkg_name 自动衍生自 project_name:

  • project_slug:带连字符的小写字母(用于目录名、CLI命令)
  • pkg_name:带下划线的小写字母(用于Python导入)

世代之后

创建项目后:

# Navigate to the new project
cd my-mcp-server

# Install dependencies
uv pip install -e ".[dev]"

# Run the server
uv run my-mcp-server

# Run tests
uv run pytest

添加到克劳德代码

cd my-mcp-server
claude mcp add my-mcp-server -- uv run --project "$(pwd)" my-mcp-server

包含什么

生成的项目包括:

  • FastMCP服务器设置 使用示例工具
  • 项目结构 遵循Python最佳实践(src/ 布局)
  • 试验脚手架 带pytest和夹具
  • 开发工具 配置(黑色、褶边、mypy、pytest)
  • CLAUDE.md 用于AI助手指导
  • README.md 附有使用说明

自定义模板

要修改此模板,请执行以下操作:

  1. 克隆此存储库
  2. 编辑文件 {{cookiecutter.project_slug}}/
  3. 使用 {{ cookiecutter.variable_name }} 对于模板变量
  4. 更新 cookiecutter.json 添加/修改变量

模板结构

jons-mcp-cookiecutter/
├── README.md                    # This file (not copied to output)
├── cookiecutter.json            # Template variable definitions
└── {{cookiecutter.project_slug}}/   # Template directory
    ├── .gitignore
    ├── CLAUDE.md
    ├── README.md
    ├── pyproject.toml
    ├── src/
    │   ├── __init__.py
    │   └── {{cookiecutter.pkg_name}}/
    │       ├── __init__.py
    │       ├── constants.py
    │       ├── exceptions.py
    │       ├── server.py
    │       ├── utils.py
    │       └── tools/
    │           ├── __init__.py
    │           └── example.py
    └── tests/
        ├── __init__.py
        ├── conftest.py
        └── test_example.py

许可证

麻省理工学院