mcpField
S
Staticbot

Staticbot

本地服务
github.com/bitfiction云与基础设施11 天前更新

关于 Staticbot

Staticbot 是面向 Agent 的 MCP 服务,用于部署网站、迁移应用后端和管理持续同步。支持托管 OAuth 或本地 API 密钥连接,并以明确审批和持久状态管理长流程。

主要功能

  1. 01分析并部署网站
  2. 02将后端迁移至 Supabase
  3. 03带审查关卡的持续同步
  4. 04部署 DNS 与回滚控制
  5. 05托管 OAuth 和本地连接

适用场景

  1. 01将代码仓库部署为网站
  2. 02迁移后端前审查变更
  3. 03检查并重试同步运行
  4. 04查看部署 DNS 或回滚选项

MCP 相关

向 MCP 客户端提供 Staticbot 工具,用于网站部署、后端迁移、同步及相关操作。客户端可连接托管 OAuth 端点,也可使用 API 密钥在本地运行服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bitfiction-staticbot": {
"command": "npx",
"args": [
"-y",
"@staticbot/mcp"
],
"env": {
"STATICBOT_API_KEY": "<STATICBOT_API_KEY>"
}
}
}
}
启动命令npx -y @staticbot/mcp
需要配置的环境变量
STATICBOT_API_KEY密钥Staticbot API key from https://app.staticbot.dev/developer

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@staticbot/mcp1.8.2

工具

69

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

Staticbot MCP 服务

让 Codex、Claude、Cursor 和其他兼容 MCP 的 Agent 安全访问 Staticbot。该服务提供类型化工具,用于部署网站、迁移应用后端和运行持续同步,同时由 Staticbot 在模型上下文之外保管凭据和长时间运行的工作流状态。

两种连接方式

连接托管服务——无需安装,也无需 API 密钥。将支持通过 OAuth 连接远程服务的 MCP 客户端指向:

https://mcp.staticbot.dev/mcp

登录 Staticbot,选择要授予的权限,客户端便会保存连接。如果你还没有 Staticbot 账户,首次连接时系统会为你创建一个。

在本地运行——适用于将 MCP 服务作为本地进程启动的客户端。需要 Node.js 20 或更高版本,以及从 app.staticbot.dev/developer 获取的 Staticbot API 密钥。

两种方式提供相同的工具。托管服务以授权者的身份运行,且不会接触 API 密钥;本地服务使用你提供的 API 密钥。

安装为 Codex 插件

此仓库也是一个 Codex 插件。其清单将 Staticbot MCP 服务与四个专注于特定意图的技能打包在一起:

  • deploy-web-app-with-staticbot 可在不让 Agent 选择云服务提供商的情况下部署仓库。Staticbot 会分析仓库、识别工作负载类型,并选择受支持的 AWS 或 Cloudflare 目标,以及相应的客户自有或 Staticbot 托管所有权模式。
  • migrate-vibe-coded-app 可将 Base44、Lovable、Bolt 或 Firebase 后端迁移到客户自有的 Supabase 基础设施,并设有发现和审批关卡。
  • sync-vibe-coded-app 可保持已迁移项目同步,同时保留对破坏性更改的审核。
  • live-migrate-ai-built-app 可在计划的维护窗口期间,将正在运行的 Lovable 或 Base44 应用切换到迁移后的技术栈:测试迁移、制定切换计划、显示维护页面、冻结源端写入、重新执行最终拷贝、验证并切换域名。针对具体构建器的冻结步骤位于 live-migrate-lovable-app 和 live-migrate-base44-app 中。

通用的 staticbot 技能仍可作为直接调用 REST API 的备用方案。

添加公开的 GitHub marketplace,然后安装 Staticbot:

codex plugin marketplace add bitfiction/staticbot-mcp
codex plugin add staticbot@staticbot

添加 marketplace 后,如果 Staticbot 未立即显示,请重启 ChatGPT 桌面应用或 Codex。此预览版插件使用本地 MCP 传输,因此请在启动应用的环境中设置 STATICBOT_API_KEY。如果你只需要 MCP 工具而不需要捆绑技能,那么托管 OAuth 连接 https://mcp.staticbot.dev/mcp 仍是最简单的选择。

安装为 Claude Code 插件

Claude Code 不要求 Staticbot 先被中央插件注册表接纳。直接从此 GitHub 仓库添加可自托管的 marketplace,然后安装插件:

/plugin marketplace add bitfiction/staticbot-mcp
/plugin install staticbot@staticbot

在启动 Claude Code 的环境中设置 STATICBOT_API_KEY。插件通过 npx 启动已发布的 @staticbot/mcp 包,并继承该环境;对于可自托管或本地运行的 Staticbot API,STATICBOT_API_URL 仍为可选项。

已安装的技能会使用插件命名空间。例如,使用 /staticbot:deploy-web-app-with-staticbot、/staticbot:migrate-vibe-coded-app、/staticbot:sync-vibe-coded-app 或 /staticbot:live-migrate-ai-built-app。如果安装后插件未立即可用,请重启 Claude Code 或运行 /reload-plugins。

直接配置 MCP 客户端

托管服务(OAuth)

对于支持远程 MCP 服务的客户端,添加 https://mcp.staticbot.dev/mcp,并在 系统提示时授权。客户端会从服务本身发现登录方式;无需复制或粘贴任何内容,机器上也不会存储凭据。

本地(API 密钥)

将已发布的软件包添加到项目或全局 MCP 配置中:

{
  "mcpServers": {
    "staticbot": {
      "command": "npx",
      "args": ["-y", "@staticbot/mcp"],
      "env": {
        "STATICBOT_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

默认使用托管版 Staticbot,地址为 https://app.staticbot.dev。使用托管服务时不要设置 STATICBOT_API_URL;仅在使用可自托管或本地的 Staticbot API 时才覆盖该值。

请将 API 密钥保存在 MCP 客户端的机密信息或环境配置中。不要将其粘贴到聊天中,也不要提交到代码库。

Agent 能做什么

该服务围绕用户目标对工具进行分组:

  • 分析公开网站 URL,了解其平台、后端以及支持的迁移/托管路径,无需连接集成
  • 检查模板、技术栈、部署和集成连接
  • 解析要处理的代码库,可使用已连接的 GitHub 或 GitLab 帐户,包括私有代码库
  • 创建并监控静态网站和 SSR 部署
  • 检查部署的 DNS,将部署专属记录安全推送到关联的 Cloudflare 区域,并重新检查自定义主机名验证
  • 选择 Cloudflare Workers 应用的托管位置——Staticbot 帐户或用户自己已连接的 Cloudflare 帐户;并在创建任何内容之前检查主机名是否可用于部署
  • 选择将 AWS 托管的静态网站部署到 Staticbot 管理的帐户,还是用户自己已连接的 AWS 帐户
  • 创建客户自有的 Supabase 项目,等待其运行正常,并将其用作迁移目标
  • 将 Lovable、Bolt、Firebase 和 Base44 项目迁移到 Supabase 目标
  • 检查迁移发现结果,并引导用户完成审批和选择环节
  • 设置迁移的线上应用 URL,读取其扫描结果,并检查保留的线上提交对比
  • 创建预览并下载可移植的迁移包
  • 创建已连接项目的预览,将线上部署切换到构建器分支,或将迁移预览同步到线上
  • 检查共享代码库 Webhook 的作用范围,并明确设置、重置或禁用 GitHub 推送自动化
  • 触发、审查、重试或跳过持续同步运行
  • 使用 Staticbot 返回的有效固定版本回滚或重新部署网站

工具架构和说明构成 MCP 客户端在运行时看到的契约,其中包含 Agent 选择工具时所需的操作说明。

网站 URL 检查

scan_website 会通过 POST /api/v1/site-scans 启动或复用经过身份验证的工作区检查。 此操作需要 Staticbot 帐户,但不需要代码库、数据库或云集成。使用 get_website_scan(GET /api/v1/site-scans/{id})轮询返回的 scan.id;当扫描处于排队或运行状态时,请等待 pollAfterMs 指定的时间再发送请求。最终结果会包含检测、支持情况和托管/迁移估算,或明确的失败信息。检查不会启动部署或迁移。

此操作使用现有的工作区扫描器,并遵循其配额、缓存、目标节流、队列上限和公共地址保护。匿名营销页面 API 使用独立的 Turnstile 流程。 API/MCP 结果包含客户摘要,而非原始提取脚本或联系历史。

已连接项目的操作

进行预览/线上/Webhook 变更前,请先读取 get_connected_project_operations。它会返回当前构建器/线上分支、有效角色权限和代码库 Webhook 使用方。变更工具需要明确确认;线上操作需要提供确切的分支名称,Webhook 操作需要提供返回的代码库配置 ID。目标发生变化时会返回 409,需重新检查并审批。后端仍会强制执行功能标志、工作区角色、持久化链接验证和代理商客户限制。重置/删除 Webhook 时,会尽力移除上游配置,因此本地配置变更并不能证明 GitHub 已删除旧 Hook。

在托管 MCP 服务中启用这些工具之前,必须先部署后端路由。有关剩余的仪表板/API 差异,请参阅功能对照审计。

平台更新和待处理操作

list_pending_actions 和 list_platform_updates 会公开与项目 Sync 选项卡相同的迁移后修复项。check_platform_updates 会刷新证据,并可能将已批准的自动修复加入队列;这是一个会更改状态的操作。apply_platform_updates 只会在用户批准返回的影响后应用所选修复项。客户拥有的分支会创建拉取请求,不会直接推送。 dismiss_platform_update 会拒绝可选修复项;必需修复项无法忽略。请关注返回的同步运行和 PR 链接。在推出期间,服务端功能标志可能会将这些操作保持为禁用状态。

后端控制和源更新

get_backend_workflows 会检查共享后端,且只能针对一个已连接的项目或迁移进行检查。使用 operate_backend_workflows 前,请展示所有受影响阶段和观察到的标志。这些控制项用于管理 Staticbot 在 Supabase Cloud 上迁移后的 Base44 调度器;结果未知时会保持未知,绝不会自动重试。

对于受跟踪的功能分支,请检查 list_connected_project_previews 和 get_feature_branch_preview_settings。构建需要精确的提交和构建提示,包括计划限制移除的任何预览。自动设置会保留现有托管计划限制。 trigger_sync 可选择仅在明确确认后重新部署所有函数;常规同步请求仍保持兼容。

preview_migration_source_update 会将选定的模板版本解析为其精确提交,但不会应用该版本。update_migration_source 需要先批准这个精确的版本和提交组合,然后准备新的计划供单独审核;它不会批准对目标的写入。

如果前端托管在其他位置,请先检查 get_external_auth_domain,再通过 set_external_auth_domain 批准指定的后端和新的公开源站。这会更改身份验证配置,不会更改前端托管或 DNS。即使结果为 UPDATED,也需要实际测试登录、重置密码和 magic link。

示例请求

  • “使用 Staticbot 部署此仓库,并告知我需要哪些 DNS 记录。”
  • “将此部署所需的记录推送到我关联的 Cloudflare 区域,然后重新检查验证状态。”
  • “将我的 Base44 应用迁移到我的 Supabase 项目。进行更改前请先暂停并征求批准。”
  • “告诉我最新一次同步运行中有哪些更改,并解释其中任何破坏性 SQL。”
  • “列出此部署的有效回滚版本,但暂时不要回滚。”

安全约定

Staticbot 工具的设计遵循明确的人为控制原则:

  • 在确认迁移前展示发现结果。
  • 向用户显示选择关卡,而不是静默采用默认选项。
  • 破坏性的同步更改会暂停,以供审查。
  • 在 Agent 重试或跳过失败的工作前,先说明失败原因。
  • 回滚使用 list_rollback_versions 返回的确切版本,并且需要确认。
  • 只有在用户查看每项更新的 whatApplyingDoes 并批准后,才会应用平台更新;必需更新不代表已获批准。客户分支只创建拉取请求,不会推送。
  • 长时间运行的操作会返回可持久保存的状态,以便跨 Agent 会话恢复。
  • 托管服务严格以授权者的身份运行,且仅限其授予的权限范围内;它无法访问所属组织之外的任何内容。

使用 get_migration_overview 轻量轮询状态。它会返回阶段/作业计数、已保存的报告元数据、需要关注的作业和预览状态,以及 version 和 pollAfterMs。它不会加载原始负载,也不会更改迁移。如需了解所有现有技术细节以及在路由操作前查看信息,请使用 get_migration、get_migration_jobs、发现报告和作业历史记录。

本地 API 密钥服务和托管 OAuth 服务共用迁移工具。在路由任何操作前,检查 executionCompatibility.locked:已锁定的运行无法恢复或重试,即使其旧状态为 IN_PROGRESS 也不例外。报告/历史记录仍可读取;在此前已有写入的情况下,使用全新的发现结果启动新迁移,并优先选择干净的目标。托管和持续同步有各自独立的生命周期。

对于客户自有的 Supabase 原生源,请独立指定 sourceIntegrationInstanceId 和目标 supabaseIntegrationInstanceId。同一个连接可以管理两个项目,也可以分别使用不同连接;源项目和目标项目必须不同。Lovable Cloud 没有源端 Management API 连接,也不会借用目标连接。

迁移响应包含 pendingAction 时,客户端应将其视为下一步操作的权威依据。客户端不应硬编码 Staticbot 的内部流水线阶段。

迁移发现结果还可能提供两个需要审查的操作。preFlightGate 包含确切的导出或重放选项;Agent 在使用选定的 gateChoice 调用 confirm_migration 前,必须向用户展示这些选项。targetConflictReport 会列出目标中已存在的对象,并提供数据库、Storage 或整个项目的清理选项。clean_migration_target 不可撤销,必须分别确认确切范围和返回的目标项目引用。

批准前,如果发现报告提供了更深入的检查选项,可以使用 inspect_migration_source 将其加入队列。在源账户中提交并部署辅助程序需要明确授权,即设置 authorizeHelperDeployment: true。批准目标写入前,请先审查已刷新的报告。list_migration_discovery_revisions 和 get_migration_discovery_revision 可查看保留的报告;执行版本和作业历史记录则会保留以往尝试的证据。

get_migration_handoff_report 会返回 Markdown 报告,其中包含差异、手动操作、修复提示词、仅列出名称的密钥清单、预览和当前执行证据。可选的发现版本不会选择历史执行。迁移后的计划任务会保持暂存且未激活;在切换时,客户应在可用时审查并运行报告中受保护的激活 SQL。它会保留在源端已停用的作业。激活前请先解决暂存错误;读取报告不会激活作业。

Staticbot 技能

此代码库包含专注于部署、迁移和持续同步的技能,以及适用于 Codex 或 Claude 环境的通用 Staticbot 技能,可直接操作 REST API,无需 MCP 服务。直接调用 API 的工作流会获取实时 OpenAPI 契约,并遵循相同的审批和凭据处理规则。

客户端支持 MCP 时,请使用 MCP 包。通过命令行 Agent 直接访问 API 更合适时,请使用该技能。

环境变量

这些变量适用于本地服务。托管服务无需设置这些变量。

变量必需默认值用途
STATICBOT_API_KEY是—对发往 Staticbot 的请求进行身份验证
STATICBOT_API_URL否https://app.staticbot.dev仅用于自托管或本地 API 的覆盖设置

文档

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。