MyLinedChart
Pro下载
首页价格下载文章

VS Code 的 MCP 配置:请使用 servers,而不是 mcpServers

发布于 2026-08-05 · 更新于 2026-08-05 · 阅读英文版

你从 Claude 或 Cursor 里复制了一份可用的 MCP 配置,粘贴到 VS Code,重启之后什么都没发生。没有报错,没有警告,列表里也没有服务器。文件是有效的 JSON,VS Code 对它毫无意见。问题出在一个词上,而且是最外层的那个。

要点
  • VS Code 把 MCP 服务器包在 servers 下面。Claude、Cursor 和大多数其他客户端使用 mcpServers。
  • 错误的键名完全不会产生任何报错,这就是它让人白白浪费一个小时的原因。
  • 各个客户端内部的服务器定义是相同的。只有外层的包装不同。

差异并排对照

同一个服务器、同一条命令、同样的参数。唯一变化的是外层的包装键。

VS Code 是个例外,也是唯一一个悄悄失败的。
客户端配置文件包装键
VS Code 中的 GitHub Copilot.vscode/mcp.jsonservers
Cursor~/.cursor/mcp.jsonmcpServers
Claude Desktopclaude_desktop_config.jsonmcpServers
大多数其他基于配置文件的客户端各不相同mcpServers

VS Code 想要的写法

放在工作区根目录的 .vscode/mcp.json 中。以 MyLinedChart 的连接器为例:

{ "servers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }

请换成你自己服务器的 command 和 args。内层对象的结构在各个客户端之间不会改变。

其他所有客户端想要的写法

同一个服务器,用于 Claude 或 Cursor:

{ "mcpServers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }

如果两个编辑器你都开着,那么你确实需要两个文件。这两个编辑器无法共用同一份配置。

为什么它失败时没有任何报错

VS Code 读取文件,发现是有效的 JSON,然后寻找 servers 键。文件里没有 servers 键,所以 VS Code 找到零个要启动的服务器。零个服务器并不是一种错误状态。在 VS Code 看来,你什么都没配置,这是完全合法的做法。

所以没有红色波浪线,没有通知,任何日志里也没有说键名错了的记录。这种失败看起来和服务器启动时崩溃一模一样,所以人们才会跑去调试服务器。

  • 文件是有效的 JSON,所以不会出现解析错误。
  • 无法识别的顶层键会被忽略,而不是被拒绝。
  • 配置的服务器数量为零是正常状态,所以 VS Code 不报告任何故障。

如何确认你遇到的是哪种问题

在认定服务器坏了之前,先证明 VS Code 是否真的尝试过启动它。

  • 先检查包装键。检查只需要五秒钟,大多数时候答案就在这里。
  • 在终端里手动运行服务器的命令。如果服务器能启动,问题出在别处。
  • 在 VS Code 的 MCP 服务器列表里查找该服务器。没有出现,说明从未被配置;出现了但失败,说明是真实的启动错误。
  • 如果你是通过一键链接而不是手动安装的,这一整类问题就不适用。

两个相关的陷阱

既然说到这儿,还有另外两件事也会以同样的悄无声息的方式失败。

第一,一键 MCP 安装链接以纯 URL 编码的 JSON 来携带它的内容。Base64 会被 URL 解析器接受,然后悄悄地什么都不做,这是最糟糕的失败方式:一个看起来已经生效的按钮。

第二,对于 VS Code,服务器名称是放在内容里面一起传递的,而不像 Cursor 那样作为单独的查询参数。按 Cursor 的格式构建的链接,在 VS Code 中即使能打开,也无法正确安装。

MyLinedChart 的作用

MyLinedChart 自带一个 MCP 连接器,让 AI 代理获取你的实时图表:品种、你的绘图、指标数值和屏幕上的 K 线。该连接器在你自己的机器上运行,数据不会经过我们的服务器。

应用里有一个一键的 Add to VS Code 按钮,会替你写入正确的键,这就是用它而不是手动编辑的理由。设置方法以及其他客户端:/resources/articles/ibkr-chart-data-github-copilot-vs-code。

下一步

修正键名,重启 VS Code,服务器就会出现。如果服务器仍然没有出现,你现在知道问题出在服务器而不是配置上,需要排查的范围就小得多了。

在 /mcp 连接你的 AI。

常见问题

为什么 VS Code 使用 servers 而不是 mcpServers?
servers 键是 VS Code 自己的 MCP 配置格式中的命名选择,独立于 Claude Desktop 所确立的惯例。两者没有谁更正确。这个差异之所以成为问题,只是因为两者看起来可以互换,而其中一个失败时不会作出任何提示。
如果我用了错误的键,VS Code 会警告我吗?
不会,这正是全部的难处所在。文件是有效的 JSON,未知的顶层键会被忽略而不是被拒绝,并且配置的服务器数量为零是正常状态。这一切看起来都不像故障。
我可以让 VS Code 和 Cursor 共用同一个配置文件吗?
不可以。它们读取不同的路径,期望不同的包装键,所以你需要两个文件。内层的服务器定义是相同的,所以只需复制一份,再改一个词。
这也适用于 Windows Copilot 吗?
不适用。这里说的 Copilot 是 VS Code 里的 GitHub Copilot,它支持 MCP 服务器。Windows 任务栏助手是另一个产品,只是名字相同,并不使用这些配置文件。

试用 MyLinedChart

MyLinedChart 把你的绘图、笔记和指标数值保存为数据,可以导出、复盘和重复使用。

了解 MyLinedChart

更多文章