Ottoauth代理服务

Ottoauth代理服务是一个独立的MCP标准输入输出服务器,用于将工具调用代理到Ottoauth HTTP端点。

  • by Clamepending
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Clamepending/ottoauthMCP

使用说明

ottoauthMCP

将工具调用代理到Ottoauth HTTP端点的独立MCP stdio服务器。

特性

  • 从以下位置发现服务端点 GET /api/services 文档。
  • 为每个端点注册动态MCP工具。
  • 每小时刷新一次发现的工具。
  • 包括一个通用的直通工具: ottoauth_http_request.
  • 包括一个内置的帐户创建工具: ottoauth_create_account.
  • 运行Ottoauth webhook接收器,并重试将传入事件中继到代理网关。

跑

npm install
OTTOAUTH_BASE_URL=http://localhost:3000 npm start

Webhook接收器默认值:

  • 主机: 127.0.0.1
  • 端口: 3789
  • 路径: /webhooks/ottoauth

重要环境变量:

  • OTTOAUTH_WEBHOOK_SECRET (推荐;验证 x-ottoauth-signature)
  • OTTOAUTH_WEBHOOK_ALLOW_UNSIGNED=1 (仅限dev)
  • OTTOAUTH_WEBHOOK_PORT / OTTOAUTH_WEBHOOK_HOST / OTTOAUTH_WEBHOOK_PATH
  • AGENT_GATEWAY_URL (中继目的地)
  • AGENT_GATEWAY_AUTH_TOKEN (网关的可选承载令牌)
  • WEBHOOK_RETRY_BASE_MS (默认值 2000)
  • WEBHOOK_RETRY_MAX (默认值 8)
  • WEBHOOK_EVENT_STORE_PATH (默认为 .ottoauth-webhook-events.json 在cwd)

测试

npm test

测试覆盖范围包括:

  • 解析器和规范化边缘情况
  • 超时和转发行为
  • webhook签名、重复数据删除、重试、死信
  • MCP stdio端到端流
  • 使用来自邻居的简单演示代理脚本进行集成测试 autoauth 仓库

MCP客户端配置示例

{
  "mcpServers": {
    "ottoauth": {
      "command": "node",
      "args": ["/absolute/path/to/ottoauthMCP/src/index.mjs"],
      "env": {
        "OTTOAUTH_BASE_URL": "https://your-ottoauth-domain.com"
      }
    }
  }
}