ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MCP Inspector 安装与 TaoToken 配置:NodeJS 环境下的调试链路搭建

MCP Inspector 安装与 TaoToken 配置:NodeJS 环境下的调试链路搭建 1. 为什么本地 MCP 服务总在“连不上”上卡住如果你正在写 MCP Server大概率遇到过这种场景代码写完了node build/index.js也能跑起来但客户端那边就是没反应。日志里没有明显报错工具列表刷不出来prompt 和 resource 也读不到。问题往往不在业务逻辑而在“链路”本身——服务到底有没有正常握手、SSE 通道有没有建立、鉴权头有没有带上这些光靠console.log很难看清。MCP Inspector 就是来解决这个问题的。它是 Model Context Protocol 官方提供的可视化调试工具本质上是一个 NodeJS 项目用 TypeScript 和 JavaScript 写成跑起来之后会在本地开一个 Web UI让你能直接看到 MCP Server 暴露的 tools、prompts、resources还能手动发起调用、查看原始 JSON-RPC 报文。适合谁用适合所有在 NodeJS/npm 环境下开发或接入 MCP 服务的开发者尤其是需要排查“服务明明起来了但客户端连不上”这类连通性问题的同学。这篇内容我会按真实调试顺序走一遍先装 Inspector再把它接到 TaoToken 的统一 Key/API 通道上然后验证一次完整请求最后把几个高频报错逐个拆开。全程命令可直接复制配置骨架也给全。2. 前置准备NodeJS 环境与 TaoToken 通道2.1 NodeJS 与 npm 版本确认Inspector 对 Node 版本有要求建议 18 以上20 LTS 更稳。先确认node -v npm -v如果node -v低于 18先去升级。npm 一般随 Node 一起装好不用单独处理。TypeScript 项目在npm install阶段会编译所以本地不需要全局装 tsc。2.2 TaoToken 统一 Key/API 通道MCP Server 在调试时经常需要调用模型能力如果每个服务都单独配一套 Key调试链路会变得很碎。TaoToken 提供统一 Key 和 API 通道把模型调用收敛到一个入口Inspector 里配置一次就能复用。你需要准备两样东西一个 API Key在控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI 基地址https://taotoken.net/apiKey 的创建入口在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite注意Key 只显示一次创建后立刻复制保存。不要写进会提交到 Git 的文件里用.env或本地环境变量管理。如果你后面要做长期编码或 Agent 类调试可以了解下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite3. 可复制配置安装 Inspector 并接入 TaoToken3.1 两种安装方式方式一直接用 npx 跑适合快速验证npx modelcontextprotocol/inspector node build/index.js这条命令会同时拉起 Inspector 的 UI 和你指定的 MCP Server 进程UI 默认在http://localhost:6274。方式二克隆仓库本地运行适合需要改配置或长期使用git clone https://github.com/modelcontextprotocol/inspector.git cd inspector npm install npm startnpm start之后同样访问http://localhost:6274。如果本地调试不想每次输鉴权可以临时关闭DANGEROUSLY_OMIT_AUTHtrue npm start更推荐写进项目根目录的.envDANGEROUSLY_OMIT_AUTHtrue CLIENT_PORT6274 SERVER_PORT6275自定义端口的写法CLIENT_PORT8080 SERVER_PORT9000 npm start3.2 settings.json 骨架Inspector 的 UI 里可以手动填 Server 启动命令但更省事的是用配置文件。下面是一个连接 TaoToken 通道的骨架放在项目根目录或 Inspector 读取的配置路径下{ mcpServers: { taotoken-demo: { command: node, args: [build/index.js], env: { TAOTOKEN_API_BASE: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的Key, NODE_ENV: development } } } }关键点TAOTOKEN_API_BASE固定为https://taotoken.net/api不要加 UTM 参数TAOTOKEN_API_KEY从环境变量注入更安全上面写法只是骨架演示。生产或提交仓库时把 Key 换成${TAOTOKEN_API_KEY}这种占位。3.3 连接远程 SSE / Stream如果你的 MCP Server 不是本地 stdio而是远程 SSE 或 Streamable HTTPInspector 里选 Transport 类型为 SSE填服务地址即可。本地先把 Server 跑起来node build/index.js --transport sse --port 3001然后在 Inspector UI 的 Connection 面板填http://localhost:3001/sse点 Connect。连上之后左侧会列出 tools、prompts、resources 三类能力。4. 验证请求跑通一次完整调用4.1 确认连接状态Inspector 连上后顶部状态会从 Disconnected 变成 Connected同时能看到 Server 的 capabilities。如果这里一直转圈先别急着看业务代码回到第 5 节排查。4.2 调用 prompt 与 resource在 Prompts 标签页选一个 prompt点 Get右侧会返回渲染后的消息内容。Resources 标签页选一个 resource点 Read能看到原始内容。这两个动作能跑通说明 MCP 的握手和基础通道没问题。4.3 验证模型通道要确认 TaoToken 通道真的通了可以在 Inspector 里触发一个会调用模型的 tool。观察返回的 JSON-RPC 报文如果result里带正常内容而不是error说明 Key 和 API 基地址都生效了。想单独验证模型对话可以直接用模型对话入口https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite接入细节和参数说明看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite5. 本篇常见错排查5.1 端口被占用Error: listen EADDRINUSE :::6274说明 6274 被占了。换端口CLIENT_PORT8080 SERVER_PORT9000 npm start或者先查谁占了lsof -i :62745.2 鉴权失败 401Inspector 报 401通常是 Key 没注入或写错。检查.env是否被读取TAOTOKEN_API_KEY是否有多余空格。注意 API 基地址不要带 UTM 参数只写https://taotoken.net/api。5.3 Server 启动即退出npx modelcontextprotocol/inspector node build/index.js里如果build/index.js不存在Server 会立刻退出Inspector 显示连接失败。先单独跑node build/index.js确认能起来再套 Inspector。5.4 SSE 连不上远程 SSE 模式下确认 Server 真的监听了对应端口且路径是/sse而不是根路径。防火墙和本地 hosts 也要看一眼。5.5 TypeScript 编译报错npm install阶段报 TS 类型错误多半是 Node 版本太低或依赖没装全。删掉node_modules和package-lock.json重装rm -rf node_modules package-lock.json npm install6. 把调试链路固定下来调试链路搭好之后建议把 Inspector 的启动命令和settings.json一起放进项目 README团队里谁接手都能一键复现。Key 用环境变量注入别硬编码。长期做编码或 Agent 调试的话Coding Plan 能把模型调用和调试流程串得更顺https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewriteClaude Code 相关的接入配置可以参考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite最后留一个实用习惯每次改完 MCP Server先单独node build/index.js跑一遍确认进程不崩再套 Inspector。这样能把“服务本身的问题”和“链路配置的问题”分开排查效率会高很多。
返回列表