1
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+WSL2でのClaude CodeとSerenaの連携

Posted at

Serenaを入れてみたい。

巷の流行にのって、Claude CodeとSerenaを連携してみました。
導入手順を誤り、Serenaが起動してくれなかったのと、
初回は接続できるのに次からはTIMEOUTになって接続できなくなったりしたので、
四苦八苦の結果を備忘録としてまとめています。

前提

  • Windows11でWSL2が有効化されている
  • WSL2上でUbuntuまたはDebian系Linuxが動作している
    →私はUbuntuを使っているので、以降はUbuntu前提です。
  • VSCodeがインストールされている
  • Claude Codeがインストールされている

手順1:uvパッケージマネージャーのインストール

1.1 uvのインストール

curl -LsSf https://astral.sh/uv/install.sh | sh

当初、どういうわけか

pip install uvx 

でuvxを入れていたのですが、うまくいかずでした・・・。

1.2 環境変数の設定

# PATHに~/.local/binを追加
source $HOME/.local/bin/env
# 永続的に設定するため.bashrcまたは.zshrcに追加
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

1.3 インストール確認

which uvx
# 出力例: /home/username/.local/bin/uvx

手順2: 既存のSerena MCP設定のクリーンアップ(必要に応じて)

2.1 既存設定の確認

  claude mcp list

2.2 既存のSerena設定がある場合は削除

claude mcp remove serena

手順3: Serena MCPサーバーの設定

3.1 プロジェクトディレクトリに移動

cd /path/to/your/project

3.2 Serena MCPの追加

ネットを検索すると、いくつかパターンがあるようなのですが以下に落ち着きました。

export PATH="$HOME/.local/bin:$PATH"
claude mcp add serena -s project -- uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant --project $(pwd)
-s projcet

プロジェクトルートに.mcp.jsonを配置するようになります。
これを入れない場合は~/.claude.jsonの"mcpServers": {}に設定が記述されます。

手順4: Claude Codeの起動

4.1 現在のClaude Codeセッションを終了(必要に応じて)

/exit

4.2 新しいセッションでClaude Codeを起動

VSCodeのアイコンから起動します。

4.3 MCP起動状況の確認

新しいセッション開始時に、MCPサーバーが起動されます。
こんな感じ。

ps aux | grep mcp
{user}   227767  0.7  2.2 1801700 135612 pts/12 Sl+  21:49   0:00 /home/{user}/.local/bin/uv tool uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context ide-assistant --project {プロジェクトディレクトリ}
{user}   227890  7.4  1.5 619216 91936 pts/12   Sl+  21:49   0:06 /home/{user}/.cache/uv/archive-v0/nb7l1W1oOcQdtO3ob2blP/bin/python /home/{user}/.cache/uv/archive-v0/nb7l1W1oOcQdtO3ob2blP/bin/serena start-mcp-server --context ide-assistant --project {プロジェクトディレクトリ}
{user}   229364  0.0  0.0   4028  1940 pts/4    S+   21:50   0:00 grep --color=auto mcp

4.4 MCP接続状況の確認

claude codeのプロンプトで/mcpを入力
以下のような結果になっていれば接続済です。

│ Manage MCP servers                                                                                                                             │
│                                                                                                                                                │
│ ❯ 1. serena  ✔ connected · Enter to view details                                                                                               │
│                                                                                                                                                │
│ MCP Config locations (by scope):                                                                                                               │
│  • User config (available in all your projects):                                                                                               │
│    • /home/{user}/.claude.json                                                                                                                │
│  • Project config (shared via .mcp.json):                                                                                                      │
│    • {プロジェクトルート}/.mcp.json                                                                                 │
│  • Local config (private to you in this project):                                                                                              │
│    • /home/{user}/.claude.json [project: {プロジェクトルート}]                                                     │
│                                                                                                                                                │
│ For help configuring MCP servers, see: https://docs.anthropic.com/en/docs/claude-code/mcp       

4.5 初期化

Claude Codeのプロンプトで以下を実行すると、Serenaがいろいろやってくれます。

/mcp__serena__initial_instructions

こちらでもいけるらしい(試してない)

Serena のオンボーディングを開始して

トラブル

SerenaMCPに接続できない

初回は接続できるのだけど、2回目以降、接続がFailedする。

claude debug

デバッグモードで起動すると、TIMEOUT(30秒)してました。
最終的な結論としてはsettings.local.json(settings.jsonでも大丈夫)に以下の設定を入れました。

  "env":{
    "MCP_TIMEOUT": "60000"
  }

Serena起動からプロジェクトのロードまで40秒以上経過していました。
もともと、プロジェクトファイルが/mnt/c配下に置いてあるので、
その場所だと読込みが遅いからWSL内に置いた方が良いとネット上でもよく書かれているようです。
個人的には開発に支障が出るほどではなかったので、気にしていませんでした。
Claudeに相談すると、/mnt/c配下に置いてあるから遅いんだ!と怒られました。
MCP_TIMEOUTの設定追加でプロジェクトディレクトリの移動を回避できたので
ひとまずよかったです。
(/mnt/cからWSL内に移動してからの起動は試してないです)

1
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
1
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?