0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsのClaude Codeでgraft MCPサーバーが即切断される(CONNECTION_CLOSED)問題の対処法

0
Last updated at Posted at 2026-09-16

Windows環境の Claude Code で graft の MCP サーバーを導入した際、起動直後に CONNECTION_CLOSED と表示されて即切断される事象が発生しました。

設定ファイル(.mcp.json)の記述を見直しても解決せず、原因を探ったところ npx 経由の実行時におけるファイルロックエラーであることが分かりました。本記事ではその回避手順と切り分け方法をまとめています。


発生原因(EBUSY エラー)

npx -y @nanonets/graft@latest で実行すると、一時領域へのパッケージ展開や依存ライブラリ(tree-sitter-cli)のリネーム処理が走ります。
Windows ではこのタイミングでファイルロックに引っかかり、EBUSY エラーを起こして親プロセスごとクラッシュしていたのが原因でした。

そのため、グローバルインストールしたバッチファイルを直接叩く構成に切り替えることで回避できます。


解決手順

※ 以下の環境で動作確認を行っています。

  • Node.js: 24.13.1
  • graft: 0.16.0
  • 前提環境: Visual Studio 2019 (C++ ビルドツール導入済み)

1. PowerShell でグローバルインストール

依存パッケージである tree-sitter-kotlin のネイティブビルドを落とさないよう、PYTHON 環境変数を明示してインストールします。

$env:PYTHON = "C:\Python313\python.exe" # パスは各自の環境に合わせて書き換えてください
npm i -g @nanonets/graft

補足: npm 11 以降では npm config set python が利用できないため、$env:PYTHON で node-gyp に直接パスを渡しています。

2. .mcp.json を実行ファイルの直接指定に書き換える

Claude Code の設定ファイルを編集し、グローバルインストールで生成された graft.cmd を直接呼び出すよう変更します。

{
  "mcpServers": {
    "graft": {
      "command": "C:\\Users\\<user>\\AppData\\Roaming\\npm\\graft.cmd",
      "args": ["mcp"]
    }
  }
}

※ <user> はご自身の Windows ユーザー名に置き換えてください。

これで一時展開のファイル処理を挟まずに起動できるようになります。


うまくいかないときの切り分け手順

設定後、Claude Code から起動する前に PowerShell から stdio 経由で MCP サーバー単体の疎通を確認できます。

以下のコマンドで初期化要求(initialize)を直接流し込みます。

'{"jsonrpc":"2.0","id":"check","method":"initialize","params":{}}' | & "C:\Users\<user>\AppData\Roaming\npm\graft.cmd" mcp

正常時のレスポンス

正常に動作していれば、以下のように serverInfo を含む JSON-RPC レスポンスが返ってきます。

{"jsonrpc":"2.0","id":"check","result":{"protocolVersion":"...","capabilities":{...},"serverInfo":{"name":"graft",...}}}

返ってくる文字列に serverInfo が含まれていれば、graft.cmd のパス疎通および MCP サーバーとしての動作は問題ありません。

何も返ってこない場合や例外ログが出る場合は、指定したパスや Python の環境変数周りを再確認してください。


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?