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のKiro IDEからWSL2に接続した状態で、MCPサーバーにアクセスできなくなった話

0
Posted at

はじめに

私はWindows 11のPCにKiro IDEをインストールし、そこからWSL2に接続して使用しています。
元々Kiroから外部公開されているMCPサーバーにアクセス出来ていたのですが、PCの設定を色々いじったりKiroをインストールし直していたら、いつの間にか全くアクセス出来なくなってしまいました。

既存のトラシュー記事を色々参考にしましたが上手くいかず、結局それらの記事に無かった方法で解決しました。
おそらく私のケースが特殊だったのだと思いますが、もしかしたら同じ状況の人がいるかもしれないので、その時の解決方法について記録しておきたいと思います。

私の環境

私の環境について簡単に記載しておきます。(バージョンについてはあまり関係ないかもしれませんが)

種別 バージョン
OS Windows 11 Enterprise(25H2)
Kiro IDE 1.0.89
WSLバージョン 2.7.10.0
WSLカーネルバージョン 6.18.33.2-2

その他の考慮事項としては、私はまずWindows PCのデスクトップ上でKiro IDEを起動し、Kiro IDEからWSL2に接続していました。
KiroのワークスペースはWSL2上のディレクトリに存在しており、mcp.jsonもそこに格納されています。

接続失敗時のmcp.json

接続失敗時、mcp.jsonの記述は以下のようになっていました。

接続失敗時
{
  "mcpServers": {
    "fetch": {
      "command": "/home/yuki/.local/bin/uvx",
      "args": [
        "mcp-server-fetch"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    },
    "aws-mcp": {
      "command": "/home/yuki/.local/bin/uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata",
        "AWS_REGION=ap-northeast-1"
      ],
      "env": {
        "AWS_PROFILE": "default"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Kiro上でパスが通っていない事が原因かと思い、commandはあえてフルパスで指定しましたが、それでも結局上手くいきませんでした。

対象のパスでuvxコマンドは実行可能な状態でした。

yuki:~$ /home/yuki/.local/bin/uvx --version
uvx 0.11.26 (x86_64-unknown-linux-gnu)

接続成功時のmcp.json

私の環境では、以下のようにmcp.jsonを修正したところ、接続に成功しました。

接続成功時
{
  "mcpServers": {
    "fetch": {
      "command": "wsl",
      "args": [
        "-e", "/home/yuki/.local/bin/uvx", "mcp-server-fetch"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    },
    "aws-mcp": {
      "command": "wsl",
      "args": [
        "-e", "/home/yuki/.local/bin/uvx",
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata",
        "AWS_REGION=ap-northeast-1"
      ],
      "env": {
        "AWS_PROFILE": "default"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

主な変更点として、commandをwslとし、引数に"-e", "/home/yuki/.local/bin/uvx"を記載してuvxを実行させるようにしました。

wsl -e <command> を使うと、コマンドプロンプト等Windows上で、WSLに対してコマンドを実行することが出来ます。
サンプルとして、コマンドプロンプトでの wsl -e ls の実行結果と、WSL上での lsコマンドの実行結果を比較します。

コマンドプロンプト
C:\Users\YukiYamashita>wsl -e ls -l /home/yuki/.aws/
total 16
-rw------- 1 yuki yuki  260 Jul  6 19:51 config
-rw------- 1 yuki yuki  148 Jun  8 20:28 credentials
drwxr-xr-x 3 yuki yuki 4096 Mar 23 14:00 login
drwxr-xr-x 3 yuki yuki 4096 Mar 25 12:44 sso

C:\Users\YukiYamashita>
WSL2
yuki:~$ ls -l /home/yuki/.aws/
total 16
-rw------- 1 yuki yuki  260 Jul  6 19:51 config
-rw------- 1 yuki yuki  148 Jun  8 20:28 credentials
drwxr-xr-x 3 yuki yuki 4096 Mar 23 14:00 login
drwxr-xr-x 3 yuki yuki 4096 Mar 25 12:44 sso

想定される原因

おそらくですが、KiroはWindows側のプロセスとしてuvxを実行しようとするが、/home/yuki/.local/bin/uvx はWindowsのファイルシステムには存在しないパスのため失敗していたのかと思われます。

Kiro IDE を Windows上で起動し、WSLのファイルシステムをワークスペースとして開いている環境特有の問題なのかと思います。



本記事は以上となります。同じ状況でお困りの方の参考になれば幸いです。

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?