本文へスキップ
Edition · Tokyo

egov-law-mcpが動かない時の対処法|npx・Node.js・Windows接続エラー

e-Gov法令MCP(@codeagentjp/egov-law-mcp)がClaude CodeやCursorで接続失敗する時の切り分け手順を、npx解決、Node.jsバージョン、Windows固有、e-Gov API側の4段階で解説します。

codeagent.jp編集部 情報確認 約5分
Tags
情報確認
参考リンク
6件
更新性
定期更新
読了目安
約5分
更新管理

仕様・料金・提供範囲が変わりやすいテーマは、公開日・更新日・情報確認日を分けて管理します。 導入前には必ず記事末尾の一次情報と公式ドキュメントで最新状況を確認してください。

egov-law-mcpが動かない時の対処法|npx・Node.js・Windows接続エラー の16:9共有用サマリー画像。 egov-law-mcp接続失敗の9割は、npx解決・Nodeバージョン・Windows起動・stdout汚染の4つで切り分けられる 1. 切り分けの順序: まずMCPクライアント抜きでnpx単体起動を確認する、node -vが20以上かを最初に見る、サーバー側かe-Gov API側かを分けてから直す 2. よくある原因: WindowsのspawnエラーはcmdやCで回避する、npxキャッシュ破損は_npxディレクトリ削除で直る、シェル起動時のstdout出力がJSON-RPCを壊す 3. 直らない時: claude --debugでMCPログを確認する、e-Gov APIへ直接curlして障害を切り分ける、再現手順を添えてGitHub Issueへ報告する
egov-law-mcpが動かない時の対処法|npx・Node.js・Windows接続エラー 資料 26-18LO 2026.07.17 運用Tips・トラブルシュート

@codeagentjp/egov-law-mcp をClaude CodeやCursorに追加したのに、failed と表示される、ツールが呼ばれない、Windowsだけ動かない。この記事は、そうした接続トラブルを症状別に切り分けるための実務メモです。

セットアップ手順そのものはClaude Codeでe-Gov法令を検索する設定と使い方、サーバーの設計はe-Gov法令MCPの仕組みと安全境界にまとめています。この記事は「設定したのに動かない」場面だけを扱います。

まず結論

egov-law-mcpの接続失敗は、経験上ほぼ次の4つに収束します。

  1. npxがパッケージを解決できていない(キャッシュ破損、レジストリ未到達)
  2. Node.jsが20未満(engines 要件を満たさない)
  3. Windows固有のnpx起動問題(spawn npx ENOENT)
  4. e-Gov API側の問題(サーバーは正常、上流が応答しない)

切り分けの鉄則は1つです。MCPクライアント抜きで npx -y @codeagentjp/egov-law-mcp を単体起動し、サーバー側とクライアント側のどちらが悪いかを先に確定させること。ここを飛ばして設定JSONをいじり始めると、時間を溶かします。

前提: 「無言で待つ」のが正常動作

最初に、故障ではないものを故障と誤認しないようにします。

egov-law-mcpはstdio型のMCPサーバーです。ターミナルで直接起動すると、何も表示せずに待機します。

Terminal window
npx -y @codeagentjp/egov-law-mcp

ここでポート番号もバナーも出ませんが、それが正常です。Model Context Protocolのstdio transportは、標準入力からJSON-RPCメッセージを受け取り、標準出力へ応答を書く仕様です。Webサーバーのように「Listening on port 3000」と出ないことを、起動失敗と判断しないでください。

逆に言うと、この単体起動でエラーメッセージが出て終了する場合は、MCPクライアント以前の問題です。以降の症状別の切り分けに進みます。

症状1: claude mcp list で failed になる

Claude Codeで追加したのに接続できない場合、まず状態を確認します。

Terminal window
claude mcp list
claude mcp get egov-law

failed の場合は、Claude Codeがサーバープロセスを起動できていません。原因の大半は、npxがパッケージを解決できないことです。順に確認します。

1. npx単体で起動できるか

Terminal window
npx -y @codeagentjp/egov-law-mcp

無言で待機すれば、サーバー側は正常です。クライアント設定(サーバー名、コマンド、引数のtypo)を見直してください。

2. npxキャッシュが壊れていないか

npm errorENOTEMPTYEEXIST のようなエラーで単体起動も失敗する場合は、npxのキャッシュ破損を疑います。npxのキャッシュは ~/.npm/_npx にあります。

Terminal window
rm -rf ~/.npm/_npx
npx -y @codeagentjp/egov-law-mcp

3. レジストリに到達できているか

社内ネットワークやプロキシ環境では、registry.npmjs.org への到達自体が塞がれていることがあります。

Terminal window
npm ping
npm view @codeagentjp/egov-law-mcp version

npm view がバージョン(執筆時点では 0.1.0)を返さないなら、npmレジストリへの経路の問題です。プロキシ設定(npm config get proxy / https-proxy)を確認してください。

症状2: Node.jsのバージョンが古い

egov-law-mcpは enginesNode.js 20以上を要求します。Node 18以前で動かすと、EBADENGINE の警告や、モジュール読み込み時の SyntaxError で落ちることがあります。

Terminal window
node -v

v20.0.0 未満なら、まずここを直します。注意が必要なのは、ターミナルのnodeとMCPクライアントが起動するnodeが別物になっているケースです。nvmやvoltaでターミナル上は20系でも、GUIアプリ(Claude Desktopなど)がPATH解決で古いnodeを拾うことがあります。

その場合は、MCP設定のcommandをnodeの絶対パスで固定するのが確実です。

{
"mcpServers": {
"egov-law": {
"command": "/path/to/node20/bin/npx",
"args": ["-y", "@codeagentjp/egov-law-mcp"]
}
}
}

which npx(macOS/Linux)や where npx(Windows)で、実際に使われるパスを確認できます。

症状3: Windowsで spawn npx ENOENT

Windowsネイティブ環境で最も多い失敗です。Windowsでは npx.cmd バッチファイルとして解決されるため、MCPクライアントが npx を直接spawnすると見つけられないことがあります。

対処は cmd /c 経由にすることです。Claude Codeなら次で追加し直します。

Terminal window
claude mcp remove egov-law
claude mcp add --transport stdio egov-law -- cmd /c npx -y @codeagentjp/egov-law-mcp

設定JSONを直接書くクライアントでは、次の形にします。

{
"mcpServers": {
"egov-law": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@codeagentjp/egov-law-mcp"]
}
}
}

WSLを使っている場合は逆に、WindowsのClaude CodeとWSL内のnode環境が別世界である点に注意してください。WSL側にインストールしたnodeは、Windowsネイティブのクライアントからは見えません。クライアントを動かしている側の環境にnode 20+が必要です。

症状4: 接続済みなのにツール呼び出しが失敗する

/mcpegov-law が接続済みなのに、search_lawsget_article がエラーを返す場合は、MCPサーバーではなく上流のe-Gov法令API側を疑います。

切り分けは、e-Gov APIへ直接アクセスすることです。

Terminal window
curl -s "https://laws.e-gov.go.jp/api/1/lawdata/415AC0000000057" | head -c 300

XMLが返れば、e-Gov側は生きています。返らない場合は、次のどちらかです。

状態判断
ブラウザからも laws.e-gov.go.jp が開けないe-Gov側のメンテナンス・障害。待つ
ブラウザでは開けるがcurlは失敗するローカルのプロキシ・証明書・DNS設定の問題

e-Gov法令検索は定期メンテナンスで停止することがあります。深夜帯にツール呼び出しだけ失敗する場合は、まず障害・メンテナンス情報を確認してから自分の環境を疑うと早いです。

また、存在しない条番号や法令IDを指定した場合のエラーは正常動作です。法令IDが不確かな時は、get_article の前に search_laws で正式なlawIdを取り直してください。

症状5: 接続が不安定・起動直後に切断される

接続できたり切れたりする場合は、stdoutの汚染を疑います。stdio型MCPは標準出力をJSON-RPC専用に使うため、そこに余計な文字列が1行混ざるだけでプロトコルが壊れます。

egov-law-mcp本体はログをstderrにしか書きませんが、次のような外側の要因でstdoutが汚れることがあります。

  • シェルのrcファイル(.zshrc / .bashrc)に echo があり、非対話シェル起動時にも出力される
  • npxをラップした自作スクリプトが進捗メッセージをstdoutに出している
  • npmの古いバージョンが通知メッセージをstdoutに混ぜる

それでも直らない時

ここまでで直らない場合は、ログを取ってから報告に進みます。

Claude Codeのデバッグログを見る

Terminal window
claude --debug

デバッグモードで起動すると、MCPサーバーの起動コマンド、stderr出力、接続失敗の理由がログに出ます。egov-law 関連の行を探してください。

GitHub Issueで報告する

再現手順が固まったら、SHAYOUWORLD/egov-law-mcp へIssueを立ててください。次の4点があると調査が早く進みます。

  1. OS(Windowsの場合はネイティブかWSLか)
  2. node -vnpm -v の出力
  3. npx -y @codeagentjp/egov-law-mcp 単体起動の結果
  4. MCPクライアント名と設定JSON(そのまま貼り付け)

診断チェックリスト

最後に、この記事の切り分けを上から順に実行できる形でまとめます。

#確認コマンドNGの時
1Node 20以上かnode -vNodeを更新、またはパス固定(症状2)
2npx単体で起動するかnpx -y @codeagentjp/egov-law-mcpキャッシュ削除・レジストリ確認(症状1)
3stdoutが汚れていないかtools/list をパイプで送る(症状5)rcファイル・ラッパーを掃除
4Windowsかcmd /c 経由に変更(症状3)
5e-Gov APIが生きているかcurl で直接アクセス(症状4)障害情報を確認して待つ
6クライアントのログclaude --debugエラー行を添えてIssueへ

1〜3がすべて通るのにクライアントから繋がらない場合、問題はほぼ確実に設定JSONのtypoか、クライアントが参照しているnode環境の食い違いです。

egov-law-mcpで何ができるかは使い方実演記事、他のMCPサーバーと合わせた選定はMCP厳選カタログを参照してください。法案段階の調査にはhouan-mcpという選択肢もあります。egov-law-mcpに限らないMCP接続全般の切り分けはMCPサーバーが繋がらない時のチェックリストにまとめています。

参考リンク

Primary sources

一次情報・参考リンク

About the author
codeagent.jp編集部

Claude Code / Codex / MCP を個人開発サイト運用と公開MCPサーバー開発で試し、一次情報・検証ログ・失敗例をもとに整理します。

関連して読む