WSL/LinuxでSerenaMCPを導入する際のコマンド解説

要約
SerenaMCPをWSL/Linuxで導入してClaude Codeで実行するための準備コマンドをステップバイステップで紹介しています。実際に使用する際により便利に使えるように、serena.mdをまとめた記事も記載しているので、参考にしてください。
意見はこのエリアに表示されます
アイキャッチ画像

akihiroさんの記事(以下リンク)を見て「よっしゃSerenaMCP導入するぜ!」となったものの、参考記事をいくつか見ながらコマンドを実行しても上手くいかず。

(そもそも最初にWSL利用なしと明記されていたのを見落とした模様…)

原因は私がClaude CodeをWSL/Linux環境でインストールしているが故、その中でインストールする際には通常Windowsで使用出来るコマンドが使えないというシンプルな理由。

参考になる人がいるかなと思うので、WSL/Linux環境でSerenaMCPを導入する手順とコマンドをまとめました。

「Serena MCPとは?」という点を知りたい方は、akihiroさんの記事をチェックしてみましょう。

大まかな流れ

ざっくりとした流れは以下の通りです。

  1. PowerShellでWSL/Linuxに移動
  2. 必要に応じてディレクトリを移動
  3. uvx.exeとuvx.exeを入れる
  4. イメージとしては「ゲーム機に新機能を追加する」ようにここでSerenaMCPを入れる
  5. ちゃんとSerenaMCPが入ったかを確認する

シンプルですね。ではサクサクと解説していきましょう。

PowerShellでWSL/Linuxに移動

これは特にひねる必要なく、wsl -d Ubuntu-22.04でOKです。サクッとWSLに移動しちゃいましょう

必要に応じてディレクトリを移動

私の場合は cd ~を挟んでますが、ここは個人差があると思うので参考程度にしてください。自分がセットアップしたいディレクトリに移動しましょう。

uvx.exeとuvx.exeを入れる

ちょっと前にClaudeデスクトップでMCPを触った程度の知識だったので、念のため「uvx.exeとuvx.exeって何?」というところを確認してからインストールしました。

「uvx.exeとuvx.exeって何?」の部分は後述するので、知りたい方は後ほど✅してみてください!

Windows環境では使える(Get-Location) コマンドがWSL/Linux環境だと使用できないので、以下のコマンドに変更してuvx.exeとuvx.exeをインストールしました。

Kyutaroさんが にて書かれていた**”「ClaudeにこれからはSerenaさんと一緒に働いてね」と正式に紹介してあげる呪文”**という表現が凄くわかりやすいかなと思います。

このコマンドでインストールが完了したら、念のためにuvx -Vでバージョンが表示されるかを確認しておきましょう。

SerenaMCPのWSL/Linux導入コマンド
こんな感じに表示されたらOK

MCPがちゃんとインストールされたか確認する

念のため、SrenaMCPがちゃんとインストールされたかを確認しておきましょう。

このコマンドで以下のように表示されれば、無事インストールは完了しています。

SerenaMCPのWSL/Linux導入コマンド
こんな感じに表示されたらOK
SerenaMCPのWSL/Linux導入コマンド
こんな感じに表示されたらOK

実際にSerenaMCPを使う際に必要なコマンド

これは一般的な人間同士のコミュニケーションでも同じですが、一方的に紹介しただけでは「君は一体…何者なんだい……?」となりますよね。

なので、SerenaMCPにもClaudeに「自分はこういうツールだよ!」と自己紹介をしてもらう必要があります。

以下のコマンドを各プロジェクトで実行すると、SerenaMCPが各プロジェクトをスキャンして文字列で検索したり、関連コードを認識しやすくなったりします。

添付画像のようにダーッと表示される場合もありますが、エラーとかではないので安心してください。

SerenaMCPの自己紹介が終わったら、もうプロジェクト上ではSerenaMCPがプロジェクト構造をスキャン完了している状態です。

実際にSerenaMCPを使ってみた

現状、私は化粧品やサプリメントの広告で守るべき「薬機法」の抵触リスクの一次チェックとして利用できる「薬機法リスクチェッカー」というWEBアプリを開発中です。

搭載されているのは、JavaScriptとPythonを使って、入力したテキストをClaudeのAPIで読み込み分析する機能。

「ある程度できたし、そろそろデプロイしても良いかもな~~~」と思っていたこのプロジェクトで「SerenaMCPを使い、全体構造を通じて改善点があるかを確認してください」と指示を出してみました。

結果はこちらの画像です。

SerenaMCPのWSL/Linux導入コマンド
めっちゃ改善点あるやんけ

…というわけで、現在この記事を書いている裏ではSerenaMCPを使ってゴリゴリに改善させています。

「SerenaMCPを使って~~」がダルいのでserena.mdを作った

ディレクトリ直下にある.claude内にserena.mdを作成して多少楽にSerenaMCPを使えるようにしました。

zennでkaitoさんという方がserena.mdを公開してくださっていたので、それをベースに作成したのが以下です。

(kaitoさんの記事:https://zenn.dev/sc30gsw/articles/ff81891959aaef)

serena.mdをまとめた記事はこちら🔽

よくある質問

Q MCPの導入にはどのくらい時間がかかった?

A: コマンドエラーさえ起きなければ、約10-15分で完了します!

Q: Serenn MCPは無料?有料?

A:無料で使えます!

Q: Serena MCPのuv.exeとは?

uv は「Python用の超高速パッケージ管理ツール」です。
ゲームで例えると:

  • 従来のツール(pip) = 普通の配達員さん(少し遅い)
  • uv = 超高速の配達員さん(めちゃくちゃ速い!)

uvの特徴:

  • Pythonのパッケージをダウンロード・インストールするのが超高速
  • 必要なものを自動で判断して準備してくれる
  • エラーが起きにくい

Q: Serena MCPのuvx.exeとは?

uvx は「一時的にプログラムを実行するマンド」です。

  • 普通の方法:
    • プログラムをインストール
    • 設定する
    • 実行する
    • 使わなくなったら削除

こんなイメージですが、uvxを使うとインストール不要でuvx プログラム名 で即実行可能です。

そのため、uvxを使うと

  • ダウンロード版を買わなくても

  • インストールしなくても

  • すぐにゲーム(プログラム)を試せる!
    というイメージです。

  • uv = ゲーム機本体(Switch、PS5など)

  • uvx = ゲームの体験版を即プレイできる機能
    このようにイメージしてもわかりやすいかもしれません。

Q: claude mcp add serena~~のコードって何を実行してるの?

コマンドに不慣れな人にとっては、暗号に等しいですよね。

これは「ClaudeというAIアシスタントに、プログラミングを手伝ってくれる新しい能力を追加する」コマンドです。

1. claude mcp add serena

「Claudeに新しい拡張機能『serena』を追加して!」

ゲームで例えると:

  • claude = あなたのゲーム機(Switch)
  • mcp = 拡張機能システム(ニンテンドーeショップ)
  • add = ダウンロードボタン
  • serena = 新しいゲーム機能の名前(例:「スプラトゥーン3 追加コンテンツ」)

2. -

「ここから先は、追加する機能の詳細設定だよ」

レストランで例えると:

  • ハンバーガーを注文した後の「--」
  • 「ここからトッピングの指定です」という区切り

3. uvx --from git+https://github.com/oraios/serena

「GitHubという倉庫から、serenaをその場で実行する形で持ってきて」

配信サービスで例えると:

  • uvx = ストリーミング再生(ダウンロードせずに即再生)
  • -from = どこから持ってくるか
  • git+https://github.com/oraios/serena = YouTube的な場所にある動画のURL

4. serena-mcp-server

「serenaのサーバー機能を起動して」

オンラインゲームで例えると:

  • マインクラフトのサーバーを立ち上げる
  • これでClaudeがserenaと通信できるようになる

5. -context ide-assistant

「プログラミングアシスタントとして動作して」

ゲームのモード選択で例えると:

  • 「ストーリーモード」「対戦モード」「クリエイティブモード」から
  • プログラミング支援モード」を選択

6. -project $(pwd)

「今いるフォルダをプロジェクトとして使って」

ゲームのセーブデータで例えると:

  • $(pwd) = 現在地(今開いているフォルダ)
  • 「このフォルダにあるプログラムファイルを編集対象にして」

結果として何が起きる?

このコマンドを実行すると:

  1. Claudeがパワーアップ!
    • 今まで:会話だけ
    • これから:あなたのコードを直接見て編集できる
  2. プログラミングの家庭教師GET!
    • ファイルの中身を読める
    • コードを書き換えられる
    • エラーを見つけて修正提案できる
  3. 現在のフォルダが作業場に!
    • Claudeが今いるフォルダのファイルにアクセス可能
    • 「このコード直して」と言えば、実際に修正してくれる

つまり簡単に言うと

「ClaudeというAIに、あなたのパソコンの中のプログラムを直接編集できる特殊能力(serena)を与えるコマンド」 が最初のコマンドです!

Explore More
関連記事はありません。