MCP服务器模板

My MCP Server是一个用于构建模型上下文协议(MCP)服务器的Python模板,通过FastMCP在stdio上暴露工具(可扩展至HTTP),为语言模型提供安全且可扩展的上下文和工具调用功能。

  • by jairosoft-com
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jairosoft-com/mcp-server-template-python

使用说明

我的MCP服务器

我的MCP服务器是一个用于构建模型上下文协议(MCP)服务器的Python模板。它使用FastMCP通过stdio上的JSON-RPC公开工具(可以扩展到HTTP),为语言模型提供安全和可扩展的上下文和工具调用。

项目结构

├── src/源代码(包: my_mcp_server) │ ├── server.py入口点和工具注册 │ ├── 主要的.py控制台脚本条目 │ ├── 配置/配置模块 │ ├── MCP的上下文/上下文提供者 │ ├── 模型/Pydantic模型和模式 │ ├── 工具/自定义工具实现 │ └── utils/Helper实用程序 ├── 测试/单元、集成和性能测试 ├── Taskfile.yaml常见开发和CI任务 ├── pyproject.toml项目元数据和构建配置 ├── requirements.txt运行时依赖项 └── 文档/贡献和架构指南

先决条件

  • Python>=3.13
  • Git
  • (可选) 任务文件 任务执行者

设置

创建并激活虚拟环境

任务创建venv source.ven/bin/activate

安装运行时依赖项

任务安装要求

(可选)安装开发依赖项

任务安装开发

任务文件任务

跑 task --list 查看所有可用任务。常见任务包括:

  • 默认值:列出可用任务
  • create venv:在中创建Python虚拟环境 .venv
  • activate venv:显示venv的激活命令
  • 清洁静脉:移除 .venv 目录
  • 安装要求:安装运行时依赖项(pip install -r requirements.txt)
  • install-dev:在带有dev依赖项的可编辑模式下安装项目(pip install -e ".[dev]")
  • flake8:跑 flake8 超过 src/ 和 tests/
  • mypy:快跑 mypy 超过 src/ 和 tests/
  • 黑色:格式化代码 black
  • 格式:别名 black (格式化所有Python文件)
  • lint:两者都跑 flake8 和 mypy
  • test:运行所有测试(单元、集成、性能) pytest
  • 测试单元:仅运行单元测试
  • 测试集成:仅运行集成测试
  • 测试性能:仅运行性能测试
  • coverage:生成覆盖率报告(HTML+终端) pytest-cov
  • 检查:运行 format, lint,以及 test 依次
  • run:启动基于控制台的MCP服务器(python -m my_mcp_server)
  • dev:别名 run (以开发模式启动服务器)
  • clean:清理Python构建工件和缓存
  • build:使用Hatching构建分发包(sdist和wheel)

开发与使用

设置后,您可以在stdio模式下启动服务器:

task run

或者直接:

python -m my_mcp_server

测试与整理

  • 运行所有测试: task test
  • 运行过梁: task lint
  • 格式代码: task format

构建与发布

  • 构建发行版: task build
  • 上传到PyPI: twine upload dist/*

配置

环境变量可以通过 .env 文件(由加载 python-dotenv/pydantic-settings).

贡献

看 docs/CONTRIBUTING.md 有关贡献和架构细节的指导方针。

许可证

MIT许可证