Mcp Bundler

Mcp Bundler

🚀 MCP 打包服务

这是一个微服务,用于打包来自 GitHub 仓库的代码并将其准备好进行部署。它支持直接返回打包后的代码或将代码上传到 Google Cloud Storage,为代码部署提供了灵活的解决方案。

🚀 快速开始

使用以下命令快速启动服务:

# 安装依赖
pnpm install

# 启动开发服务器
pnpm run dev

# 访问 API 文档
open http://localhost:8080/docs

📚 详细文档

🔍 API 文档

当服务运行时,在 /docs 路径下可以访问交互式 API 文档,方便你了解和使用服务的各个接口。

⚙️ 核心端点

  • 主页路由
GET /

返回一个静态 HTML 页面,显示有关服务的信息。

  • 健康检查
GET /health

返回一个简单的状态检查以验证服务是否运行正常。

  • V1 打包程序(旧版本)
GET /bundler?url=&commit=&format=

参数: - url(必填):GitHub 仓库 URL - commit(可选):特定提交哈希(默认为最新) - format(可选):输出格式 - mjs(默认)或 cjs 响应

{
"data": "<打包后的代码作为字符串>"
}
  • V2 打包程序(带可选 GCP 上传)
GET /v2/bundler?url=&commit=&mcpId=

参数: - url(必填):GitHub 仓库 URL - commit(可选):特定提交哈希(默认为最新) - mcpId(可选):唯一的服务器打包标识符(如果未提供则自动生成) GCP 上传启用响应

{
"success": true,
"gcp_upload": {
"bucket": "your-bucket-name",
"path": "your-mcp-id/commit-hash/",
"files": [
"bundle-commit-hash.tar.gz"
]
}
}

GCP 上传禁用响应

{
"success": true,
"data": "<打包后的代码作为字符串>"
}

☁️ GCP 集成(可选)

V2 打包程序可以将打包后的代码上传到 Google Cloud Storage 以供其他服务使用,或者直接返回打包后的代码。

  • 禁用 GCP 上载 如果你想禁用 GCP 上载并直接在 API 响应中获取打包后的代码,设置:
DISABLE_GCP_INTEGRATION=true

在你的环境或 .env 文件中。当 GCP 集成被禁用时: 1. 打包后的代码直接在 API 响应中返回 2. 打包后的代码存档副本保存到项目根目录的 bundled 目录 3. 存档文件名格式为 bundle-[提交哈希].tar.gz

  • 设置 GCP 凭据 如果你想使用 GCP 上传,你需要提供你的 Google Cloud Platform 凭证: 将你的服务账户密钥 JSON 直接添加到 .env 文件中:
GOOGLE_CLOUD_KEY=your-service-account-key.json
  • 注意事项
    • 如果你禁用了 GCP 集成,则需要自行处理打包后的文件存储。
    • 确保你的服务账户具有足够的权限以上传文件到 Google Cloud Storage。

🚢 部署说明

  • 依赖项 在开始之前,请确保安装以下依赖项:
npm install @mcp/bundler
  • 环境变量 设置以下环境变量:
SENTRY_INGEST_URL=your-sentry-ingest-url

⚠️ 注意事项

  • 打包程序支持以下格式:tar.gz, zip, tgz
  • 支持的平台包括:Linux, Windows, macOS。
  • 确保你的 GitHub 令牌具有读取仓库内容的权限。

👥 贡献

欢迎贡献!请随时提交 Pull Request。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-27 09:21

相似服务问题

相关AI产品