编码工具

TokenLab MCP Server

让 Claude Code、Cursor、VS Code、Codex 等 MCP 客户端使用 TokenLab 模型和 API

选择你需要的能力

  • MCP 为兼容客户端添加 TokenLab API 工具,可从下方无需密钥的 catalog 配置开始。
  • TokenLab Skill 通过 npx skills add 安装接入指导,不会启动 MCP 服务。

两者都用于扩展已有 Agent。切换主模型提供商,请使用对应客户端的接入教程。

交给我的 Agent 做

把这段任务交给电脑上已经可用的 Agent:

阅读此教程,按我的任务选择 MCP 目录工具或 TokenLab Skill:
https://tokenlab.sh/docs/zh/integrations/tokenlab-mcp-server
先检查已安装版本和实际配置。
保留已有账户、提供商、权限及无关设置。
备份本机文件并展示修改内容。
让我在本机输入所需 API Key,不要在聊天里索取、打印或粘贴密钥。
先验证配置能否加载;真实请求测试的费用须单独说明后再运行。

TokenLab MCP Server 可以让 MCP 客户端查询当前模型和价格、调用模型、生成媒体、处理文件,并查看异步任务。

只想查询模型和价格时使用 catalog,不需要 API 密钥。客户端需要发送付费请求时,再添加 TOKENLAB_API_KEY。

TokenLab API 密钥只能放在 MCP Server 环境变量中,不能粘贴到提示词或工具参数里。

运行要求

需要 Node.js 18.17 或更高版本,并且本机可以使用 npx:

node --version
npx --version

npm 包会在本地通过 stdio 运行,不需要全局安装,也不需要克隆源码。

选择开放范围

ProfileAPI 密钥包含
catalog不需要模型列表、模型详情、价格、模型比较和 API 概览
core付费调用需要常用聊天、决策、媒体、音频、文件、任务、Embeddings、Rerank 和翻译工具
full付费调用需要core 以及更多开发者 API

只想让 Agent 更准确地选模型时使用 catalog。需要生成内容或调用模型时使用 core。只有客户端确实需要更多 API 时才使用 full。

添加 MCP Server

先备份当前配置。仅添加 TokenLab 条目,保留已有提供商、账户、默认模型和权限。如果名称已被占用,另选名称并同步修改命令。撤销时仅移除本次添加的条目,或恢复其原备份。

添加到当前用户:

claude mcp add \
  --env TOKENLAB_MCP_TOOL_PROFILE=catalog \
  --scope user \
  tokenlab -- \
  npx -y @tokenlabai/mcp-server@0.6.24

需要付费工具时,把 Profile 环境变量换成 TOKENLAB_API_KEY,并通过日常使用的密钥管理方式保存。只在当前项目使用时选择 --scope local。共享 .mcp.json 不能提交真实密钥。

开启付费工具

在 Console → API 密钥 创建密钥,并把两个变量放进 MCP Server 环境:

{
  "env": {
    "TOKENLAB_API_KEY": "<TOKENLAB_API_KEY>",
    "TOKENLAB_MCP_TOOL_PROFILE": "core"
  }
}

客户端支持秘密输入时请优先使用。真实密钥一旦出现在共享文件、截图、日志或 Shell 历史中,应立即撤销并重新创建。

确认连接成功

重新加载 MCP 客户端,按提示批准本地 Server,并确认 tokenlab 已连接。

# Claude Code
claude mcp list

# Codex
codex mcp list

让客户端调用 list_models。能够返回模型列表,说明 npm 包已经启动并连接到 TokenLab。catalog 不需要 API 密钥。

可以完成什么

具体工具取决于所选 Profile。常见用途包括:

  • 查询模型和模型能力
  • 查询 TokenLab 当前价格,或比较多个模型
  • 发送 Chat Completions、Responses、Anthropic Messages 或 Gemini 请求
  • 通过 evaluate_decisions 获取带类型的决策结果
  • 生成或编辑图片
  • 生成视频、音乐、3D、语音,或转写和翻译音频
  • 上传和读取文件
  • 创建 Embeddings 或进行 Rerank
  • 查询和取消支持取消的异步任务

模型或价格尚未确认时,客户端应在付费调用前征得用户同意。

决策模型

使用 core 或 full 调用 System One 决策模型。先用 list_models 查询 {"category":"decision"},再用 get_model 核对所选模型。Agent 的主聊天模型保持独立配置。

调用 Jev 1.13 时,直接传入原生 state 和 questions:

{
  "name": "evaluate_decisions",
  "arguments": {
    "model": "jev-1.13",
    "state": { "ticket": "Please refund the duplicate payment." },
    "questions": {
      "refund_requested": {
        "type": "noul",
        "instructions": "Does the customer explicitly request a refund?"
      }
    }
  }
}

先检查 isError,再读取 structuredContent.answers 和 structuredContent.usage。Noul 返回的是概率数字,不是布尔值。响应含 _meta 时保留其中的请求 ID。该工具同步返回结果,无需轮询异步任务。

服务端请求超时默认是 120,000 毫秒,客户端工具调用至少应留出 150,000 毫秒。如果修改 TOKENLAB_REQUEST_TIMEOUT_MS,客户端超时仍应更长。超时表示结果尚不确定,应先核对请求再决定是否重试付费调用。用你自己的已标注样本评估准确率,再让决策结果驱动业务操作。

异步媒体任务

视频、音乐和 3D 工具会返回任务,而不是立即返回文件。图片工具根据模型不同,可能直接返回结果,也可能返回任务。

结果中出现异步 delivery 时,用其中的任务 ID 调用 get_task_status,直到成功或失败。一次状态查询超时不能成为重新创建任务的理由。

可选设置

变量默认值用途
TOKENLAB_API_BASEhttps://api.tokenlab.sh自定义 TokenLab API 地址,末尾不要加 /
TOKENLAB_MCP_TOOL_PROFILEcorecatalog、core 或 full
TOKENLAB_REQUEST_TIMEOUT_MS120000请求超时,单位为毫秒
TOKENLAB_MCP_MAX_FILE_BYTES104857600单个本地上传文件大小上限
TOKENLAB_ARTIFACT_DIR系统临时目录大文件下载后的保存位置

没有明确需要时,保留默认值即可。

常见问题

在线模型浏览器

支持 Streamable HTTP 的客户端可以连接公开模型浏览器:

https://tokenlab-model-explorer.vercel.app/mcp

付费 API、本地文件上传,以及 core / full Profile 请使用本地 npm Server。

相关链接

通过 Webhook 管理 API 配置任务通知。使用 mt-… 管理令牌;MCP full 模式通过 TOKENLAB_MANAGEMENT_TOKEN 配置。任务终态、401/403/404 或不可重试错误后停止轮询。

本页内容