使用说明
我的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许可证