Stitch API代理服务器

一个Go语言编写的MCP服务器,用于代理Google Stitch API调用,提供弹性屏幕生成功能,处理身份验证、令牌刷新和连接中断恢复。

  • by obinnaokechukwu
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 obinnaokechukwu/stitch-mcp

使用说明

缝合mcp

代理的Go MCP服务器 谷歌拼接 API调用具有弹性屏幕生成功能。它处理身份验证、令牌刷新以及在长时间运行的屏幕生成请求期间从连接中断中自动恢复。

特性

  • 动态工具发现 -启动时从Stitch API获取可用工具
  • 弹性屏幕生成 --通过轮询新屏幕自动从TCP连接中断中恢复(在2-10分钟的生成请求期间很常见)
  • 自动身份验证 --使用gcloud应用程序默认凭据,并刷新后台令牌和401重试
  • 发电量跟踪 --虚拟工具(generation_status, list_generations)提供对飞行中工作的可见性
  • 标准输入输出传输 --适用于任何MCP客户端(克劳德代码、克劳德桌面等)

运作原理

屏幕生成(generate_screen_from_text)需要2-10分钟,Stitch API经常在约60秒后断开TCP连接。代理以透明的方式处理此问题:

  1. 快照 现有屏幕通过 list_screens
  2. 火 生成请求(可能直接成功,也可能断开连接)
  3. 投票 list_screens 断开连接,直到出现新屏幕
  4. 返回 新屏幕向客户端显示详细信息,就像什么都没发生一样

先决条件

gcloud auth application-default login

安装

go install github.com/obinnaokechukwu/stitch-mcp@latest

或者从源代码构建:

git clone https://github.com/obinnaokechukwu/stitch-mcp.git
cd stitch-mcp
go build -o stitch-mcp .

配置

环境变量 描述 默认值
STITCH_API_KEY API密钥(如果已设置,则跳过OAuth) -
STITCH_HOST 缝合API端点 https://stitch.googleapis.com/mcp
STITCH_PROJECT_ID 用于计费的GCP项目 从gcloud自动检测到
STITCH_DEBUG 启用调试日志记录(1) 0

使用Claude代码

添加到MCP设置(~/.claude/settings.json):

{
  "mcpServers": {
    "stitch": {
      "command": "stitch-mcp",
      "env": {
        "STITCH_DEBUG": "1"
      }
    }
  }
}

可用工具

来自Stitch API (动态发现):

  • create_project --创建新的缝合项目
  • list_projects --列出可访问的项目
  • get_project --获取项目详细信息
  • list_screens --列出项目中的屏幕
  • get_screen --获取屏幕详细信息
  • generate_screen_from_text --从文本提示生成UI屏幕(弹性)

虚拟工具 (仅限代理人):

  • generation_status --按ID检查屏幕生成的状态
  • list_generations --列出所有飞行中和最近几代

许可证

Apache 2.0——请参阅 许可证