编码工具
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 --versionnpm 包会在本地通过 stdio 运行,不需要全局安装,也不需要克隆源码。
选择开放范围
| Profile | API 密钥 | 包含 |
|---|---|---|
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_BASE | https://api.tokenlab.sh | 自定义 TokenLab API 地址,末尾不要加 / |
TOKENLAB_MCP_TOOL_PROFILE | core | catalog、core 或 full |
TOKENLAB_REQUEST_TIMEOUT_MS | 120000 | 请求超时,单位为毫秒 |
TOKENLAB_MCP_MAX_FILE_BYTES | 104857600 | 单个本地上传文件大小上限 |
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 或不可重试错误后停止轮询。