MyLinedChart
Proダウンロード
ホーム料金ダウンロード記事

VS CodeのMCP設定:mcpServersではなくserversを使う

公開日 2026-08-05 · 更新日 2026-08-05 · 英語で読む

ClaudeやCursorで動いていたMCPの設定をコピーして、VS Codeに貼り付け、再起動しても、何も起こりません。エラーも、警告も、一覧にサーバーも出ません。ファイルは正しいJSONで、VS Codeもそれを問題なく受け付けています。原因は、たった1語、それも一番外側の1語です。

要点
  • VS Codeは、MCPサーバーをserversの下にまとめます。Claude、Cursor、ほかのほとんどのクライアントはmcpServersを使います。
  • 間違ったキーではエラーがまったく出ないため、多くの人が1時間を失います。
  • 内側のサーバー定義は、どのクライアントでも同じです。違うのは外側のラッパーだけです。

違いを並べて比べる

同じサーバー、同じコマンド、同じ引数です。変わるのは、ラッパーのキーだけです。

VS Codeだけが異なり、しかも静かに失敗するのも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"] } } }

両方のエディターを開いているなら、本当に両方のファイルが必要です。2つのエディターで1つの設定を共有することはできません。

エラーなしで失敗する理由

VS Codeはファイルを読み込み、正しいJSONだと確認して、serversというキーを探します。ファイルにserversキーがないので、VS Codeは起動すべきサーバーを0件と見なします。サーバーが0件であることは、エラーではありません。VS Codeから見れば、何も設定していないだけで、それはまったく正当な状態です。

そのため、赤い波線も、通知も、キーが間違っていると示すログの記載もありません。この失敗は、サーバーが起動時にクラッシュしたのとまったく同じに見えるため、多くの人がサーバー側のデバッグを始めてしまいます。

  • ファイルは正しいJSONなので、構文エラーは出ません。
  • 認識されない最上位のキーは、拒否されず無視されます。
  • 設定されたサーバーが0件でも正常な状態なので、VS Codeは不具合を報告しません。

どちらの問題かを見分ける方法

サーバーが壊れていると決めつける前に、VS Codeが起動を試みたかどうかを確かめます。

  • まず、ラッパーのキーを確認します。5秒で済み、たいていはこれが答えです。
  • サーバーのコマンドを、ターミナルで手動で実行します。サーバーが起動するなら、問題はほかにあります。
  • VS CodeのMCPサーバー一覧で、そのサーバーを探します。なければ一度も設定されておらず、あるのに失敗しているなら、実際の起動エラーです。
  • 手作業ではなく、ワンクリックのリンクでインストールした場合は、この種の問題は当てはまりません。

関連する2つの落とし穴

ここまで来たついでに、同じく静かに失敗する例をあと2つ紹介します。

1つ目は、ワンクリックのMCPインストールリンクは、中身をURLエンコードされたプレーンなJSONとして運びます。Base64はURLパーサーに受け付けられたあと、何事もなく何も起こりません。ボタンが動いたように見えるという、最悪の失敗の仕方です。

2つ目は、VS Codeではサーバー名がペイロードの中に入っていて、Cursorのように別のクエリパラメーターとして渡すのではありません。Cursor向けの形で作ったリンクは、開くことはできても、VS Codeでは正しくインストールされません。

MyLinedChartの役割

MyLinedChartは、AIエージェントにライブのチャートを渡すMCPコネクターを同梱しています。銘柄、作図、インジケーターの値、画面上のバーが対象です。コネクターはお使いのマシンで動作し、データが当社のサーバーを経由することはありません。

アプリには、正しいキーを書き込んでくれるワンクリックの「Add to VS Code」ボタンがあります。手で編集するよりこちらを使う理由はそこにあります。設定方法とほかのクライアントについては、/resources/articles/ibkr-chart-data-github-copilot-vs-code をご覧ください。

次のステップ

キーを直して、VS Codeを再起動すれば、サーバーが表示されます。それでもサーバーが表示されないなら、問題は設定ではなくサーバーにあると分かるので、調べる範囲はずっと短くなります。

AIを接続するには、/mcp をご覧ください。

よくある質問

なぜVS Codeは、mcpServersではなくserversを使うのですか?
serversというキーは、VS Code独自のMCP設定形式での命名の選択で、Claude Desktopが確立した慣例とは独立して決められました。どちらが正しいということはありません。問題になるのは、2つが入れ替えられそうに見えて、片方が何も言わずに失敗するからです。
間違ったキーを使うと、VS Codeは警告してくれますか?
いいえ。そこが難しいところです。ファイルは正しいJSONで、未知の最上位キーは拒否されず無視され、設定されたサーバーが0件でも正常な状態です。どれも不具合のようには見えません。
VS CodeとCursorで、1つの設定ファイルを共有できますか?
いいえ。読み込むパスも、求めるラッパーのキーも違うので、両方のファイルが必要です。内側のサーバー定義は同じなので、1語だけ変えたコピーになります。
これはWindowsのCopilotにも当てはまりますか?
いいえ。ここでのCopilotは、MCPサーバーに対応した、VS Code内のGitHub Copilotです。Windowsのタスクバーのアシスタントは、名前を共有する別の製品で、これらの設定ファイルは使いません。

MyLinedChartを試す

MyLinedChartは、作図、メモ、インジケーターの値を、書き出して見直し、再利用できるデータとして保持します。

MyLinedChartを見てみる

ほかの記事