QannasAPI

接入 MCP 客户端,让智能体自己先报价

你将构建: 一条从支持 MCP 的客户端到托管服务器的可用连接,配一枚只读作用域的令牌,以及一套让智能体在执行前先为任务报价的提示模式。

分类智能体与 MCP
使用的操作POST /mcp
积分免费 —— 这些端点从不计费
测试密钥可用否 —— 需要正式密钥
预计耗时~10 分钟
前置条件工作区的所有者或管理员权限(用于创建 qm_ 令牌),以及一个允许设置自定义请求头的客户端。

一个端点,Streamable HTTP

服务器在单一端点上通过 Streamable HTTP 使用 JSON-RPC 2.0 通信。请调用 tools/list 来发现你的令牌实际能触及的工具,而不要信任从本页这类页面复制来的清单。

tools-list.sh
# JSON-RPC 2.0 over Streamable HTTP, one endpoint.
curl -X POST https://api.qannasapi.com/mcp \
  -H "Authorization: Bearer $QANNAS_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

# Trust this over any tool list copied from a page — it reflects
# the scopes your token actually carries.

创建一枚限定作用域的令牌

令牌在创建时只显示一次,携带只读作用域并默认拒绝。这里没有可供保留的写入作用域:令牌能查询,但永远无法更改、发送或删除任何东西。吊销即时生效。

client config
// Any client with a custom-headers field connects today.
{
  "mcpServers": {
    "qannas": {
      "url": "https://api.qannasapi.com/mcp",
      "headers": {
        "Authorization": "Bearer qm_…"
      }
    }
  }
}

// The token is shown once at creation. Store it then.

让智能体先报价

工作流工具接受 dry_run 报价,而索取报价不花任何费用。把这条指令写进系统提示 —— 先报价并等待批准 —— 这样智能体会在花费之前先提出成本。

quote-first.txt
# Put this in the agent's system prompt.
# A dry_run quote is free, so there is no reason not to.

Before running any QannasAPI workflow tool, call it once with
dry_run: true, show me the credit quote, and wait for my
approval before running it for real.

了解 MCP 承载不了什么

增量跟踪仅限 REST:since_cursor 与 track_delta 未在 MCP 上暴露。共识式联系人查询同样仅限 REST。而且 MCP 调用始终按真实积分计费 —— 这个接口上没有测试密钥模式。

小结

模式做法
传输Streamable HTTP,JSON-RPC 2.0,单一端点
发现工具tools/list —— 信任你的令牌,而非复制来的清单
令牌qm_ 前缀,只显示一次,只读作用域,即时吊销
为任务报价在任意工作流工具上使用 dry_run,永远免费
MCP 上没有的增量跟踪与共识式查询仅限 REST
计费始终是真实积分 —— 没有测试密钥模式

上线检查清单

  • 在你自己的令牌上调用 tools/list,而不要把工具清单硬编码进代码。
  • 把「先报价,等待批准」写进智能体的系统提示。
  • 为每个智能体各建一枚令牌,这样吊销其中之一不会影响其余。
  • 创建时就把令牌存好 —— 它不会再次显示。

下一步

先运行预估。它不花任何费用,用的正是计量器将要套用的那套算术。