MCP服务器模板

一个用于构建、打包和发布MCP服务器的模板项目,支持STDIO和SSE两种通信模式,适用于自动化工作流程和集成开发。

  • by agent-matrix
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 agent-matrix/mcp-template

使用说明

MCP服务器模板

此项目是构建、打包和发布“Hello World”MCP服务器的模板。它展示了一个现代化的自动化工作流程,用于为两种不同的传输模式创建可分发的服务器包:

  1. 标准输入输出:服务器通过标准输入/输出管道进行通信,非常适合直接CLI集成。
  2. SSE(HTTP):服务器作为独立的HTTP服务运行,允许多个客户端通过服务器发送事件连接。

存储库配置了 工业化建造系统 它会自动打包这两种服务器类型以供发布。


📂 仓库的规划

.
├── .github/workflows/release.yml # Automated GitHub Actions release workflow
├── dist/                           # Output directory for release bundles (created by `make build`)
├── scripts/
│   └── build_bundle.sh           # Script to package server bundles
├── src/                            # Source code for server variants
│   ├── sse/
│   │   ├── server_sse.py
│   │   └── runner.json             # Runner configuration for SSE
│   └── stdio/
│       ├── server_stdio.py
│       └── runner.json             # Runner configuration for STDIO
├── Makefile                        # Main project command interface
├── pyproject.toml                  # Project definition and dependencies
└── requirements.txt                # Frozen dependencies for bundles

✅ 先决条件

  • Python 3.11+
  • 诗歌 (用于依赖关系管理)
  • 制造 (GNU制造)
  • gh 命令行界面 (可选,用于 make release 命令)

🚀 快速启动

使用Poetry安装依赖项并设置本地虚拟环境。这个命令可以准备整个开发工作区。

make install

🧑‍💻 开发工作流程

该项目使用 matrix SDK模拟MCP服务器的整个生命周期:安装捆绑包,将其作为托管进程运行,并与之交互。

版本1:STDIO通信

STDIO服务器作为后台进程由 matrix 运行时。

  • 构建、安装和运行服务器

    make run-stdio
    

    此命令将整个过程链接起来:构建 .zip bundle,使用SDK安装它,并启动服务器。

  • 测试正在运行的服务器

    make test-stdio
    

    运行客户端脚本,该脚本通过STDIO管道与后台服务器通信。

  • 停止服务器

    make stop-stdio
    

    使用SDK优雅地停止托管进程。

  • 查看日志

    make logs-stdio
    

版本2:SSE(HTTP)通信

SSE服务器作为持久HTTP服务由 matrix 运行时,它自动处理端口分配。

  • 构建、安装和运行服务器

    make run-sse
    

    构建 .zip bundle,安装它,并在可用端口上启动HTTP服务器。

  • 测试正在运行的服务器

    make test-sse
    

    运行客户端脚本,该脚本连接到服务器的SSE端点。

  • 停止服务器

    make stop-sse
    
  • 查看日志

    make logs-sse
    

📦 自动包装和发布

此模板专为自动发布而设计。

  • 在本地构建所有捆绑包

    make build
    

    此命令使用 scripts/build_bundle.sh 创建版本 .zip 档案和 .sha256 的 checksums SSE和STDIO 服务器在 dist/ 目录。

  • 创建GitHub版本 这 .github/workflows/release.yml 工作流自动化了整个过程。只需将新标签推送到您的存储库:

    git tag v0.2.0
    git push origin v0.2.0
    

    GitHub Actions将自动构建所有捆绑包,并将其附加到新版本中,以备纳入Matrix Hub。


📖 生成文件目标

目标 描述
make help ✨ 显示可用命令的列表。
make install 📦 设置 virtualenv 并安装依赖关系。
make build 🛠️ 为所有服务器类型构建版本化的ZIP包。
make release 🚀 创建包含所有捆绑包的GitHub版本(需要 gh CLI)。
标准输入输出
make run-stdio 🏃 通过SDK安装并运行STDIO服务器。
make test-stdio 🔬 在SDK管理的服务器上运行STDIO客户端。
make stop-stdio 🛑 停止后台STDIO代理服务器。
make logs-stdio 📜 查看STDIO服务器的日志。
SSE(HTTP)
make run-sse 🏃 通过SDK安装并运行SSE服务器。
make test-sse 🔬 运行客户端以连接到SSE服务器。
make stop-sse 🛑 停止后台SSE代理服务器。
make logs-sse 📜 查看SSE服务器的日志。
将军
make clean 🧹 停止服务器并删除虚拟环境和构建工件。

快乐构建您的MCP服务器!