MCP Server 在 Cursor 里工具列表为空?TaoToken 的 Base URL 这样填
2026/9/16 21:29:54 网站建设 项目流程

1. 先看报错:Cursor 里配置 frontend-toolkit-mcp,MCP 面板一直连不上

1.1 工具列表刷不出来的现场是什么样的

把 frontend-toolkit-mcp 构建好之后,在 Cursor 的 Settings → MCP 里添加本地 server,command 填node,args 填dist/index.js的绝对路径,保存后面板只显示一个名字,Tools 下方空无一物,状态栏一会儿disconnected,一会儿转圈。px-to-rem、hex-to-rgb、timestamp-to-date 一个都不出现。你反复点击重连,甚至删掉重加,结果还是一样。

这时候最容易陷入的误区是反复改 mcp.json 的路径、换 node 版本、加奇怪的参数。但回头想一想:你单独用命令行跑node dist/index.js的时候,进程是能起来的,没有任何报错。用npx @modelcontextprotocol/inspector node dist/index.js打开调试面板,tools/list 也能正常返回三个 Tool 和一个 Resource。也就是说,MCP Server 本身是健康的,问题出在 Cursor 侧。

1.2 真正常见的原因:Cursor 的模型 API 没配对

Cursor 连接 MCP Server 不是独立发生的。工具列表的拉取、渲染、展示,依赖 Cursor 当前可用的模型会话。如果你在 Cursor 里没有正确配置可用的模型 API——没有填 API Key、Base URL 不可访问、模型 ID 不存在——MCP 面板就会表现为「一直连不上」「工具列表为空」。

这不是什么玄学故障。Cursor 作为 MCP Host,要先完成自身的模型通道初始化,才会向本地 server 发起握手,然后调用 tools/list 并把结果填进面板。模型通道断着,MCP 客户端根本没有机会把工具列表展示出来。

解决方向也就清楚了:先把模型通道换成可用的统一 API,再回来重连 MCP Server。更快的做法是打开 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content= 创建一把 Key,把 Cursor 的 Base URL 填成https://taotoken.net/api,随后重连 MCP Server,px-to-rem 等工具就能列出。

2. 理解这条链路:Cursor 调 MCP 为什么先依赖模型 API

2.1 initialize → tools/list:工具列表不是自带的

MCP 的客户端和服务端之间有一条固定的握手路径:客户端先发 initialize,服务端回 serverInfo 和 capabilities,然后客户端发 initialized 通知,再之后才能请求 tools/list。在 Cursor 里,这串流程由 Cursor 的 Agent 会话驱动。模型通道不正常时,Cursor 不会启动完整的 MCP 客户端流程,面板上的状态自然停在连接中或空列表。

你可以把这个机制理解成:Cursor 是司机,MCP Server 是工具箱,而模型通道是司机手里的钥匙。钥匙不对,车门都打不开,自然拿不到里面的扳手和螺丝刀。

2.2 把报错原文贴给走 TaoToken 的 AI 助手,减少瞎猜

定位方向之后,不必自己一条条查文档。把 Cursor 面板上的报错文案、连接状态截图、以及~/.cursor/mcp.json的内容整理成一段描述,发给走 TaoToken 的 AI 助手。它通常会直接指出:MCP 配置里的路径没有问题,需要检查的是 Cursor 的自定义模型通道。

这一步的价值在于把「MCP 面板报错」和「模型 API 配置」两件事分开。很多时候报错文案写的是 "Failed to connect to MCP server",但真正的原因是模型请求先失败了,Cursor 根本没有继续执行 MCP 握手。让 AI 助手帮你读一遍报错,比自己对着英文错误信息逐词翻译要快得多。

3. 准备材料:在 TaoToken 拿 Key,再确认模型 ID

3.1 打开官网注册并创建 API Key

开始配置前,先准备一把可用的 API Key。打开 TaoToken 注册登录,进入控制台创建 API Key。创建后复制下来,Key 的形式是一串较长的随机字符串,建议直接存放在本机环境变量或密码管理器里,不要贴进聊天记录。

这里要说明一点:TaoToken 是统一 API 通道,提供的是与主流工具兼容的接口地址。本文不涉及任何代理或绕过操作,你只需要把它当作一个普通的 API 服务商来用:注册、拿 Key、填 Base URL。

3.2 模型 ID 以 TaoToken 模型广场为准,不要猜

很多人在 Cursor 里添加自定义模型时,习惯去网上搜一个模型名,比如某知名厂商的旧版 ID,填进去却提示模型不存在。正确的做法是在 TaoToken 的模型广场页面查看当前可用的模型 ID 列表,把列表里显示的那个 ID 复制进 Cursor 的模型 ID 栏。

模型列表会随服务商上架情况变化,所以本文不写死某个具体模型名,以 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content= 模型广场当时显示的列表为准。填错了也不要紧,Cursor 会在发起请求后给出模型不存在的提示,这时再回模型广场重新复制即可。

4. 在 Cursor 里填对 Base URL:https://taotoken.net/api

4.1 Settings → Models 里配置 OpenAI 兼容通道

Cursor 支持使用 OpenAI 兼容的自定义 API。打开 Cursor 的 Settings → Models,找到 OpenAI API Key 相关选项,点击开启后填入你的YOUR_API_KEY。接着找到 Base URL 或 Override Base URL 的输入框,填入:

https://taotoken.net/api

注意两点:地址末尾不要加/v1;不要把官网链接填到这里。官网落地页和接口地址是两回事——官网用于注册、创建 Key、看用量;接口地址用于工具请求。填完 Base URL 后,在模型 ID 栏粘贴从 TaoToken 模型广场复制的模型 ID,保存。

4.2 再检查 ~/.cursor/mcp.json 里的 frontend-toolkit-mcp 配置

模型通道配好之后,回到 MCP 配置。Cursor 的 MCP 配置保留在~/.cursor/mcp.json(项目级也可以在.cursor/mcp.json),格式如下:

{ "mcpServers": { "frontend-toolkit": { "command": "node", "args": ["/绝对路径/frontend-toolkit-mcp/dist/index.js"] } } }

关键在与dist/index.js的绝对路径必须真实存在,且dist目录已经由npm run build生成过。如果构建产物还没生成,先回项目目录执行一次npm run build

把模型通道和 MCP 配置都准备好之后,再来看二者之间的关系:MCP Server 的配置决定 Cursor 能拉起哪个本地进程;模型 API 的配置决定 Cursor 有没有能力与这个进程完成协议对话。两者缺一不可。

4.3 配置完成后先做一次最小验证

保存 Cursor 的所有配置后,建议先不要在 MCP 面板里反复点重连。可以先问 Cursor 一个最简单的问题,比如「1+1 等于几」,确认模型通道已经被 Cursor 使用。如果模型回复正常,说明 Base URL、API Key、模型 ID 三者都通了,接下来重连 MCP Server 才有意义。

5. 重连 MCP Server,把三个 Tool 和一个 Resource 刷出来

5.1 重连操作与状态确认

回到 Cursor 的 Settings → MCP 面板,找到 frontend-toolkit,点击 Reconnect 或重连按钮。正常状态下,面板会在几秒内显示:连接状态connected,serverInfo 显示frontend-toolkit-mcp和对应版本号,Tools 列表下方出现px-to-remhex-to-rgbtimestamp-to-date三个工具,Resources 下方出现css-units-cheatsheet

如果状态仍然是 disconnected,或者列表依旧为空,先确认你添加模型时填的 Base URL 是否真的保存成功。Cursor 偶尔会把 Base URL 输入框清空,导致请求仍然指向官方地址,而这个地址在没有官方 Key 的情况下根本不会通过。重新打开 Settings → Models,检查 Base URL 输入框里是否还留着https://taotoken.net/api

5.2 逐个验证工具是否真实可调用

连接状态变成 connected 只是第一步,还要确认工具真的能被模型调用。在 Cursor 的对话输入框里,依次问这几句话:

  • 「帮我把 24px 转成 rem」——应该返回24px = 1.5rem(基准 16px),并显示使用了 px-to-rem 工具
  • 「#3b82f6 转 RGB 是多少」——应该返回#3b82f6 → rgb(59, 130, 246)
  • 「时间戳 1700000000 转成北京时间」——应该返回对应的北京日期时间
  • 「看看 css-units-cheatsheet 里 rem 和 em 的区别」——应该能读取 Resource 内容并给出对比

四个验证都通过,说明模型通道和 MCP Server 的配合完全正常。frontend-toolkit-mcp 的三个 Tool 和一个 Resource 全部接入成功。

6. 排障:别被 Cursor 面板的文字带偏

6.1 常见报错信息与真实原因对照

MCP 面板里的错误文案经常有误导性,以下几种情况需要分别处理:

面板显示 "Failed to connect",但命令行跑 server 正常。这种情况大概率是 mcp.json 里的绝对路径不对,或者dist目录还不存在。回到项目目录执行npm run build,然后用pwd拿到真实路径,替换 mcp.json 里的参数。

面板显示连接成功,但 Tools 列表为空。这种情况基本就是模型 API 的问题。打开 Settings → Models,检查 Base URL、API Key、模型 ID 三项是否都正确。尤其是 Base URL 是否被 Cursor 自动重置成了官方地址。

添加模型 ID 后,对话报模型不存在。这说明模型 ID 和模型广场当前列表不一致。回到 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content= 重新查看当前模型 ID,替换后重试。

6.2 用 Inspector 做二分定位

如果不确定问题到底出在 MCP Server 还是 Cursor,就用独立调试工具做一次二分。在 frontend-toolkit-mcp 项目目录下执行:

npm run inspector

浏览器打开 Inspector 面板,查看 tools/list 是否能返回三个 Tool。能返回,说明 Server 侧完全正常,问题在 Cursor 的模型通道或 mcp.json 路径;不能返回,说明 Server 本身有未捕获的异常,先看 stderr 日志,通常能定位到zod校验错误或 stdout 污染。

7. 跑通之后:回控制台核账,再决定下一步

配置保存后,先在 TaoToken 模型对话 里用同一把 Key 发一条测试消息,确认模型 ID 和 Base URL 没填错。这是排除 Cursor 配置干扰的独立验证。确认 Key 本身可用后,再回到 Cursor 里检查 MCP 连接状态。

之后回到 TaoToken 控制台的用量页面,查看刚才在 Cursor 里产生的调用记录是否正常计费,模型名称、请求时间、token 消耗是否对得上。如果用量页能看到这次调用,说明整条链路完全走通,你之后在 Cursor 里所有依赖 MCP 工具的操作,都会记在同一把 Key 下。

接下来如果要长期在这条链路上写代码,可以打开 Coding Plan 看套餐是否够用;需要新增或轮换 Key 时去 控制台 API Keys 创建。如果之后还要在 Claude Code 里接入同一个 MCP Server,环境变量对照见 Claude Code 接入文档。

最后留一个最容易忽略的细节:Cursor 更新版本后,Settings → Models 里的 Base URL 输入框有时会被重置,MCP 工具列表就会再次变成空的。如果哪天 frontend-toolkit-mcp 突然刷不出工具,先去看一眼 Base URL 是否还是https://taotoken.net/api,不要急着重装 server。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询