Claude Code の Serena プラグインが desktop-app コンテキストで動いている問題とワークアラウンド
はじめに
Serena は、Language Server Protocol (LSP) を活用してコードベースを意味的に理解する MCP サーバーである。シンボル検索、参照追跡、リネームといった IDE レベルの操作を AI エージェントに提供する。
Claude Code では /plugins からワンクリックでインストールできるが、プラグイン版の起動引数に不備があり、本来の性能を発揮できていない。
この記事では、何が問題なのか、どう影響するのか、そしてワークアラウンドを解説する。
問題の概要
Serena には「コンテキスト」という概念があり、動作環境に応じてツールセットやプロンプトを最適化する仕組みがある。Claude Code 専用の claude-code コンテキストが用意されているにもかかわらず、プラグインの .mcp.json にはコンテキスト指定がないため、デフォルトの desktop-app で起動してしまう。
// プラグインの現在の設定(不足あり)
{
"serena": {
"command": "uvx",
"args": ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server"]
}
}
同様に、--project-from-cwd(カレントディレクトリからプロジェクトを自動検出するフラグ)も指定されていない。
desktop-app と claude-code の違い
Serena の Web ダッシュボード(http://localhost:24282/dashboard/)で Active context を確認すると、プラグイン版では desktop-app と表示される。
両コンテキストの違いは以下の通り。
ツールの重複
desktop-app コンテキストでは Serena の全ツールが有効になる。Claude Code 本体と機能が重複するツールも含まれるため、無駄にトークンを消費し、どちらのツールを使うかが曖昧になる。
| Serena ツール(desktop-app で有効) | Claude Code の同等ツール |
|---|---|
read_file |
Read |
create_text_file |
Write |
execute_shell_command |
Bash |
replace_content |
Edit |
prepare_for_new_conversation |
(不要) |
claude-code コンテキストではこれら 5 つが除外され、Serena はシンボル操作に集中、ファイル操作は Claude Code が担当と役割が明確になる。
プロジェクトモード
| desktop-app | claude-code | |
|---|---|---|
single_project |
false |
true |
activate_project ツール |
有効 | 無効 |
claude-code では単一プロジェクトを前提とし、不要なツール(activate_project など)を排除してツールセットを最小化する。
プロンプトの違い
desktop-app のプロンプトは「チャット UI からコードベースにアクセスする汎用的なデスクトップアプリ」を想定した内容になっている。
一方 claude-code では「ファイル操作や基本的な編集は内部ツールで処理済み。Serena のツールが使える場合はそちらを優先し、ソースファイル全体の読み込みは厳に避けよ」と、より効率的なトークン消費を促す指示になっている。
自動プロジェクト検出
--project-from-cwd がないと、毎回手動で activate_project を呼ぶか、Serena のオンボーディングフローを経由する必要がある。claude-code コンテキスト+ --project-from-cwd なら、カレントディレクトリの .serena/project.yml や .git から自動的にプロジェクトを検出・アクティベートしてくれる。
なぜ修正されていないのか
この問題は既に認知されている。
-
oraios/serena #910 — プラグインに
--context claude-code --project-from-cwdが足りないという Issue - anthropics/claude-plugins-official PR #162 — Serena のメンテナ自身が修正 PR を提出
- PR は Anthropic 側の「外部 PR を受け付けない」ポリシーにより自動クローズ された
- anthropics/claude-plugins-official #340 — 修正を求める Issue が別ユーザーから出されている(2026年2月時点で open、コメントなし)
- oraios/serena discussions #918 — 「プラグインで claude-code コンテキストを指定する方法がない」という Q&A
Serena 側は修正を出したが、プラグインリポジトリのポリシーで反映されない状態が続いている。
ワークアラウンド
プラグイン版を無効化し、ユーザーレベルの MCP 設定で正しい引数付きの Serena を直接起動する。
「プラグインを無効にして大丈夫?」と思うかもしれないが、Serena プラグインの中身は .mcp.json(MCP サーバーの起動設定)と plugin.json(メタデータ)だけである。skills、commands、hooks などは含まれていない。つまり MCP サーバーをインストールするためだけのプラグインなので、同じ MCP サーバーを正しい引数で直接起動すれば、失われるものは何もない。
1. プラグインを無効化
~/.claude/settings.json の enabledPlugins で Serena プラグインを無効にする。
{
"enabledPlugins": {
"serena@claude-plugins-official": false
}
}
/plugins の UI からでも無効化できる。
2. ユーザースコープで MCP サーバーを登録
claude mcp add に --scope user を付けて登録する。これにより ~/.claude.json のトップレベル mcpServers に書き込まれ、全プロジェクトで有効になる。
claude mcp add --scope user serena -- \
uvx --from "git+https://github.com/oraios/serena" \
serena start-mcp-server --context claude-code --project-from-cwd
登録後の ~/.claude.json には以下が追加される。
{
"mcpServers": {
"serena": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server",
"--context",
"claude-code",
"--project-from-cwd"
]
}
}
}
なお、MCP 設定のスコープは 3 種類ある。
| スコープ | 保存先 | 用途 |
|---|---|---|
--scope user |
~/.claude.json トップレベル mcpServers
|
全プロジェクト共通(今回はこれ) |
--scope local(デフォルト) |
~/.claude.json の projects.*.mcpServers
|
特定プロジェクトのみ |
--scope project |
プロジェクトルートの .mcp.json
|
チーム共有 |
3. プロジェクトの設定
各プロジェクトのルートに .serena/project.yml が必要。まだない場合は以下のコマンドで生成できる。
uvx --from git+https://github.com/oraios/serena serena project init
4. 確認
Claude Code を再起動し、Serena のダッシュボード(http://localhost:24282/dashboard/)で Active context が claude-code になっていることを確認する。
おまけ:ダッシュボードの自動起動を止める
Serena は起動時に Web ダッシュボードをブラウザで自動的に開く。不要な場合は ~/.serena/serena_config.yml で以下を設定する。
web_dashboard_open_on_launch: false
この設定はダッシュボード自体からも変更できる。http://localhost:24282/dashboard/ にアクセスし、Configuration から web_dashboard_open_on_launch を false にすればよい。
ダッシュボード自体は有効なまま、手動でアクセスすれば引き続き利用できる。
まとめ
- Claude Code の Serena プラグインは
--context claude-codeと--project-from-cwdが欠落している - その結果、ツールが重複し、トークン効率が悪く、毎回手動でプロジェクトをアクティベートする必要がある
- Serena 開発者からの修正 PR は Anthropic 側のポリシーで却下されている
- ワークアラウンドとして、プラグインを無効化し
claude mcp add --scope userで直接設定するのが現時点での最善策
Discussion