使用说明
MCP服务器模板
此项目是构建、打包和发布“Hello World”MCP服务器的模板。它展示了一个现代化的自动化工作流程,用于为两种不同的传输模式创建可分发的服务器包:
- 标准输入输出:服务器通过标准输入/输出管道进行通信,非常适合直接CLI集成。
- 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此命令将整个过程链接起来:构建
.zipbundle,使用SDK安装它,并启动服务器。 -
测试正在运行的服务器
make test-stdio运行客户端脚本,该脚本通过STDIO管道与后台服务器通信。
-
停止服务器
make stop-stdio使用SDK优雅地停止托管进程。
-
查看日志
make logs-stdio
版本2:SSE(HTTP)通信
SSE服务器作为持久HTTP服务由 matrix 运行时,它自动处理端口分配。
-
构建、安装和运行服务器
make run-sse构建
.zipbundle,安装它,并在可用端口上启动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.0GitHub 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服务器!
