跳到正文

MCP 服务器

把任意 MCP 客户端连到 infrai——Claude Desktop、Cursor、Cline、Windsurf 等。infrai 的每个能力都成为 AI agent 可调用的 MCP 工具,统一 key、统一钱包、统一账单。可本地 stdio 运行,也可连接托管的 streamable-HTTP 端点。

它是什么

infrai MCP(Model Context Protocol)服务器是 REST API 同一网关前的一层薄翻译层,而非第二套实现。鉴权、钱包预检、幂等、智能路由与计费,均与 REST 调用完全一致。

工具由 discovery manifest 1:1 派生:每个公开能力都成为一个工具,每个能力的请求 schema 原样成为该工具的 inputSchema。新增能力会自动出现为工具——无需手工维护。

本地(stdio):npx @infrai/mcp-server

桌面 AI 工具最简路径:以 stdio 运行已发布的 npm 包。把以下配置加入客户端的 MCP 配置(例如 Claude Desktop 的 claude_desktop_config.json),然后重启客户端:

json
{
  "mcpServers": {
    "infrai": {
      "command": "npx",
      "args": ["-y", "@infrai/mcp-server"],
      "env": { "INFRAI_API_KEY": "ifr_..." }
    }
  }
}

适用于任意支持 stdio 的 MCP 客户端,包括:

  • Claude Desktop
  • Cursor
  • Cline
  • Windsurf
  • Smithery

远程(streamable-HTTP)

支持远程 MCP 的客户端可直接连接托管端点 https://api.infrai.cc/mcp——无需本地安装。把你的 infrai key 作为 Bearer token 转发:

json
{
  "mcpServers": {
    "infrai": {
      "url": "https://api.infrai.cc/mcp",
      "headers": { "Authorization": "Bearer ifr_..." }
    }
  }
}

该端点对每个 JSON-RPC POST 返回单个 application/json 响应。裸 GET 返回 405(服务器不发起 server→client 流)。

鉴权

每次调用都用你的 infrai 项目 key(ifr_...)鉴权,作为 Authorization: Bearer 转发。服务器从不记录或持久化它。通过控制台用 Google/GitHub 登录即可获取 key(送 $2 额度;邮箱登录从 $0 起)。钱包余额耗尽时,调用返回标准的 402 INSUFFICIENT_CREDIT。

调用工具(JSON-RPC)

服务器以 JSON-RPC 2.0 讲 MCP。先列出可用工具,再按名称带参数调用——参数字段名与 REST API 及 discovery manifest 发布的完全一致。

列出工具

bash
curl https://api.infrai.cc/mcp \
  -H "Authorization: Bearer $INFRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

调用工具

bash
curl https://api.infrai.cc/mcp \
  -H "Authorization: Bearer $INFRAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "email.send",
      "arguments": {"to": "you@example.com", "subject": "Hi", "text": "Hello from MCP"}
    }
  }'

每个工具的 schema 与实时工具集均来自 discovery manifest——浏览能力参考或拉取 GET /v1/discovery,即可看到每个工具、其参数与错误。

后续步骤