Serena MCPとは?Claude Codeでの導入手順とトークン削減の仕組みを解説
2026年8月12日
著者:NEXT SCALE編集部
監修者:石丸真平

Claude CodeやCodexで開発を進めていると、「ファイルを丸ごと読み込んでコンテキストがすぐ埋まる」「複数ファイルにまたがる修正で取りこぼしが出る」といった場面に行き当たります。
この課題への対処として使われているのが、オープンソースのMCPサーバー「Serena」です。GitHubのスター数は2万4千を超えており、AIコーディング関連のツールとしては上位に位置しています。
SerenaはLSP(Language Server Protocol)を使ってコードをシンボル単位で解析し、必要な箇所だけをAIに渡します。ここではSerena MCPの仕組みから導入手順、動かないときの確認箇所、業務利用時のセキュリティまでを順に整理します。
| 確認したいポイント | 結論 | 詳細 |
| Serena MCPとは? | コードを構造で理解させるMCPサーバー | LSPでコードをシンボル単位に解析し、検索・編集・リファクタリングの機能をAIクライアント側へ渡す仕組み |
| トークンが減る理由は? | ファイル全体を読まずに済むため | 必要なシンボルだけを取り出して渡すので、無関係なコードがコンテキストに載らず入力量が抑えられる |
| 導入手順は? | uvで入れてserena initで初期化 | uvでインストール後にserena initを実行し、クライアントごとの接続コマンドを登録して/mcpで疎通を確認する |
| 業務利用の注意点は? | 信頼モデルと隔離環境の設計が先 | ローカル環境とリポジトリを信頼する前提で動くため、サンドボックス化とツール範囲の制限を先に決める |
この記事でわかること
- Serena MCPがMCP規格やLSPとどう結び付いているかという基本構造
- 従来のコーディングエージェントと比べてトークン消費が抑えられる理由
- 検索・編集・リファクタリングの各領域で具体的に何ができるのか
- Claude CodeやCodexへ接続するまでの手順と疎通確認の方法
- 業務で使う前に決めておきたいセキュリティと運用のルール
| ▼ AI開発環境の設計から相談したい方へ ツールを入れただけでは開発体制は変わりません。どの工程をAIに任せ、どこを人が見るのかという線引きが必要になります。 ネクストスケールでは、現状の開発フローを整理したうえで、AIエージェントの組み込み方を一緒に設計しています。 ▶ 無料相談はこちら(株式会社ネクストスケール) |
Serena MCPとはコーディングエージェントにIDE相当の機能を与えるMCPサーバー
Serenaという名前は目にしても、実態がつかみにくいという声は少なくありません。ここではMCPという規格との関係、内部で使われているLSPという技術、対応範囲とライセンスの3点に分けて整理します。
MCPサーバーとしてのSerenaの立ち位置
MCP(Model Context Protocol)は、LLMと外部のツールやデータソースをつなぐための共通仕様です。クライアント側がMCPに対応していれば、同じサーバーを別のツールから使い回せます。
Serenaは、この規格に沿って「コードを扱うための道具一式」を提供するサーバーです。 Serena自体はAIモデルではなく、実際の判断や文章生成はClaude CodeやCodexといったクライアント側のLLMが担当します。
公式ドキュメントでは、Claude Code、Codex、OpenCode、Gemini CLIといったターミナル型クライアント、VSCodeやCursor、JetBrains系IDEのアシスタント、Claude DesktopやOpenWebUIなどのデスクトップ・Web型クライアントが接続先として挙げられています。
MCPという規格そのものの考え方を先に押さえたい場合は、MCP(Model Context Protocol)とはもあわせて確認してください。
LSPによるシンボル単位の解析が中核にある
一般的なコーディングエージェントは、コードを「テキストファイル」として扱います。関数の定義を探すだけでも、文字列検索で候補を洗い出し、該当ファイルを開いて中身を読む、という手順を踏むことになります。
Serenaが異なるのは、コードを「構造を持ったもの」として扱う点です。 LSPを実装した言語サーバーを内部で動かし、クラスや関数といったシンボルの定義位置、参照元、実装先を直接問い合わせます。
その結果、「このクラスはどこで定義されているか」「この関数はどこから呼ばれているか」といった問いに、ファイル全体を読まずに答えられます。読み込む量が減るぶんコンテキストに余白が残り、長いセッションでも応答が安定しやすくなります。
対応言語とライセンスの範囲
言語サーバー方式では40以上のプログラミング言語に対応しています。Python、JavaScript、TypeScript、Java、Go、Ruby、Rust、C#、C/C++、PHP、Kotlin、Swift、Scala、Elixirなど、業務で使われる主要な言語はおおむねカバーされています。
ライセンスはMITで、言語サーバー方式であれば無償で利用できます。 これとは別に、JetBrains IDEの解析機能を利用する有償プラグインも用意されており、こちらは無料試用期間が設けられています。
開発元はOraios AIで、ソースコードはGitHub(oraios/serena)で公開されています。実装や更新履歴を事前に確認できる点は、社内でツールを選定する際の判断材料になります。
関連記事:Claude Codeのインストール方法|Mac・Windows別の手順とエラー対処を解説
Serena MCPが評価される理由はトークン消費と修正精度の課題にある
Serenaが広く使われるようになった背景には、コーディングエージェントを実務で回したときに誰もがぶつかる、2つの詰まりがあります。コンテキストの圧迫と、大規模な変更での取りこぼしです。
ファイル全体の読み込みがコンテキストを圧迫する
大規模なリポジトリでは、目的のコードにたどり着くまでに読み込むテキスト量が膨らみます。関連しそうなファイルを片端から開けば、そのぶんコンテキストウィンドウが埋まり、肝心の作業指示や過去のやり取りが押し出されていきます。
コンテキストが逼迫すると、エージェントは直前の指示を取りこぼしたり、すでに直した箇所を再度書き換えたりします。 長く使うほど精度が落ちるように感じる原因の一つがここにあります。
費用面の影響も無視できません。読み込んだテキストは入力トークンとして課金対象になるため、無関係なコードを読ませるほどコストが積み上がっていきます。
必要なシンボルだけを取り出す設計
Serenaは、ファイル単位のアウトライン取得、定義の検索、参照元の追跡といったツールをクライアントへ提供します。エージェントはまずアウトラインで全体像をつかみ、そこから必要な関数だけを取り出します。
ファイルを丸ごと読み込む工程が省けるため、無関係なコードがコンテキストに載りません。 これがトークン削減の実質的な中身です。
編集側も同じ考え方です。行番号を指定した差し替えではなく「このシンボルの本体を置き換える」「このシンボルの直前に挿入する」という単位で操作するため、行ズレによる書き換えミスが起きにくくなります。
効果が出やすいケースと出にくいケース
効果がはっきり出るのは、ファイル数が多く依存関係が入り組んだプロジェクトです。ファイルをまたぐリネームや参照の洗い出しなど、手作業なら何段階もかかる操作が一度の呼び出しにまとまります。
一方、単発のスクリプトや数ファイル程度の小規模な開発では、恩恵は限定的です。言語サーバーの起動や初期解析にかかる時間を踏まえると、規模の小さい作業ではかえって手間が増える場面もあります。
導入の判断は、対象リポジトリの規模と、AIに任せたい作業の種類から逆算するのが現実的です。エージェント型ツール全般の使い分けについてはAIエージェントとは何かでも整理しています。
| ▼ 開発コストと工数の両方を見直したい方へ トークン費用だけを削っても、レビュー工数が増えれば全体の生産性は変わりません。 どこにボトルネックがあるのかを数字で押さえることが先になります。 現状の開発工数を棚卸ししたうえで、改善余地のある工程からご提案します。 ▶ 無料相談はこちら(株式会社ネクストスケール) |
関連記事:Claude Agent SDKとは?Claude Codeとの違い・導入手順・商用利用の注意点を解説
Serena MCPでできることは検索・編集・リファクタリングの3領域に整理できる
Serenaが提供するツールは数が多く、一覧をそのまま眺めても用途がつかみにくくなります。実務での使いどころに沿って、探す・書き換える・作り直すの3つに分けて見ていきます。
コードを探す機能
検索系のツールは、ファイルを開かずにコードベースの構造を把握するために使います。 主な機能は次のとおりです。
- シンボルの検索:クラス名や関数名から定義位置を特定する
- ファイルのアウトライン取得:中身を読まずに構成要素だけを一覧する
- 参照元の追跡:そのシンボルがどこから呼ばれているかを洗い出す
- 定義や実装への移動:抽象クラスから具象実装へたどる
- 診断結果の取得:言語サーバーが検出したエラーや警告を受け取る
JetBrainsプラグイン方式を選んだ場合は、依存ライブラリ内の検索や型階層の取得にも対応します。外部ライブラリの挙動まで踏み込んで調べたい場面では差が出る部分です。
コードを書き換える機能
編集系のツールは、シンボルという単位で動きます。関数やクラスの本体をまるごと置き換える、指定したシンボルの前後にコードを挿入する、参照を確認したうえで安全に削除する、といった操作が中心です。
行番号や正規表現に頼った置換と比べて、意図しない箇所を巻き込む可能性が下がります。差分も小さくまとまるため、レビューする側の負荷も軽くなります。
リファクタリングとメモリ機能
リネームは言語サーバー方式でもシンボルに対して実行できます。JetBrainsプラグイン方式では、シンボルやファイル、ディレクトリの移動、インライン化、未使用コードの削除といった操作まで扱えます。
あわせて押さえておきたいのがメモリ機能です。 プロジェクトの前提や設計方針をファイルとして残しておくことで、セッションをまたいでも同じ文脈から作業を再開できます。
この仕組みは、AIに任せる範囲を広げていくうえで効いてきます。自然言語で開発を進める流れ全般についてはバイブコーディングの進め方を参照してください。
言語サーバー方式とJetBrainsプラグイン方式の違い
Serenaには解析基盤が2つあり、どちらを選ぶかで使える機能が変わります。既定は言語サーバー方式で、オープンソースの言語サーバーを利用するため追加費用がかかりません。
JetBrainsプラグイン方式は有償ですが、IDEが持つ解析結果をそのまま使えるのが利点です。 移動やインライン化といったリファクタリング、ブレークポイントを使った対話的なデバッグはこちらでのみ扱えます。
普段からIntelliJ IDEAやPyCharmを使っているチームであれば後者が候補になりますが、まずは無償の言語サーバー方式で効果を確かめ、物足りなければ切り替えるという順序が無理のない進め方です。
関連記事:Claude MCPとは?できることと設定方法・おすすめサーバー・注意点を解説【2026年最新】
Serena MCPの導入手順はインストールと初期化の2段階で完了する
導入そのものは複雑ではありません。ただし、以前の手順を紹介した記事が検索結果に残っているため、コマンドが通らずつまずくケースが目立ちます。ここでは公式ドキュメントで案内されている流れに沿って進めます。
前提となるuvの準備
Serenaはuvというパッケージ管理ツールで管理されており、事前に必要なのはこれだけです。 Pythonそのものをあらかじめ入れておく必要はなく、uvが必要なバージョンを用意します。
なお、扱う言語によっては言語サーバー側の依存関係を別途入れる必要があります。C#やF#のように追加のランタイムを求めるものもあるため、対象言語の要件は公式ドキュメントの言語対応ページで確認しておくと安全です。
インストールと初期化
uvが使える状態になったら、次の2行を順に実行します。
uv tool install -p 3.13 serena-agent@latest –prerelease=allow
serena init
1行目でSerena本体が入り、2行目で言語サーバー方式の初期設定と動作確認が走ります。 完了すると、シェルからserenaコマンドが呼べる状態になります。
JetBrainsプラグイン方式を使う場合は、初期化のコマンドにバックエンドを指定する引数を追加します。既定のままであれば言語サーバー方式が選ばれます。
Claude CodeとCodexへの接続
主要なクライアントには専用のセットアップコマンドが用意されています。Claude Codeであればserena setup claude-code、Codexであればserena setup codexを実行すれば、設定ファイルへの登録まで済みます。
手動で登録する場合は、全プロジェクトで使うか特定のプロジェクトだけで使うかを先に決めます。 全体で使うならユーザースコープに登録し、作業ディレクトリからプロジェクトを判定させる指定を加えます。特定のプロジェクトだけなら、そのディレクトリを明示して登録します。
VSCodeやCopilot CLI、JetBrains系のプラグイン、Claude Desktopなどにもそれぞれ推奨の設定が示されています。クライアントごとに最適化されたコンテキスト指定があるため、汎用の設定を流用せず該当する指定を使ってください。
最新の接続コマンドはSerena公式ドキュメントに掲載されています。クライアント側の仕様変更に追随して更新されるため、導入時は必ず一次情報を確認してください。Claude Code側の基本操作はClaude Codeの使い方にまとめています。
接続の確認とプロジェクトの有効化
登録が済んだらクライアントを再起動し、/mcpコマンドでSerenaが接続済みになっているかを確認します。ここで接続が確立していなければ、以降のツールは呼び出されません。
設定が全体スコープの場合は、作業対象のプロジェクトを有効化する操作が別途必要です。 「現在のディレクトリをSerenaのプロジェクトとして有効化して」と指示すれば、エージェント側が処理します。
| ▼ 導入手順の設計から社内展開まで任せたい方へ 検証環境で動かすところまでは進んでも、チーム全体へ広げる段階で止まってしまうという相談を多くいただきます。 手順の標準化、権限設計、教育まで含めた導入計画をご一緒に組み立てます。 ▶ 無料相談はこちら(株式会社ネクストスケール) |
Serena MCPが期待どおり動かないときに見直す箇所
接続はできているのにツールが使われない、という状態は珍しくありません。原因はSerena側ではなくクライアント側にあることが多く、切り分けの順序を知っておくと解決が早くなります。
ツールが呼び出されないとき
クライアントによっては、内蔵のファイル読み込みや文字列検索が優先され、Serenaのツールが後回しになります。特にClaude Codeでは内蔵ツールの説明文が非常に長く、モデルがそちらへ引き寄せられやすいことが公式に指摘されています。
対策として、Serena側にこの偏りを打ち消すシステムプロンプトが用意されています。起動時にこれを読み込ませる方法と、セッション中に注意を促すフック機能を設定する方法の2通りがあります。
フックは、文字列検索やファイル読み込みが連続したときにシンボル系ツールの利用を促す、セッション開始時にプロジェクトを有効化する、といった動きをします。長いセッションで指示が薄れる現象への対処として有効です。
起動に失敗する・コマンドが見つからない
クライアントがserenaコマンドを見つけられない場合があります。パスが通っていても起きるため、設定ファイルには実行ファイルの絶対パスを書くのが確実です。
起動が間に合わずタイムアウトすることもあります。この場合は待機時間を延ばす環境変数を設定します。言語サーバーが環境変数を必要とする場合、シェルの設定ファイルに書いただけでは引き継がれないことがあるため、MCPサーバーの設定側に直接記載してください。
古い手順を参照してしまうケース
公式リポジトリには、MCPやプラグインのマーケットプレイス経由でインストールしないよう明記されています。 古い起動コマンドが残っており、うまく動かない原因になるためです。
検索で見つかる解説記事も同様で、以前の書き方が残っているものが少なくありません。エラーが出たら記事どうしを見比べるより、公式ドキュメントの現行手順に戻すほうが早く片付きます。
Serena MCPを業務で使うなら信頼モデルと運用ルールを先に決める
個人の検証と業務利用では、前提の置き方が変わります。Serenaはシェルコマンドの実行やファイルの書き換えを行うため、どこまでを許すのかという設計が必要です。
公式が示している前提条件
Serenaのセキュリティモデルは、ローカルマシン、MCPクライアント、作業対象のリポジトリ、ユーザー設定、パッケージマネージャの設定がいずれも信頼できることを前提に組まれています。
言い換えると、これらのいずれかが信頼できない状況では、ツール側の制限だけで安全性を担保することはできません。 コーディングエージェントに共通する性質であり、Serena固有の弱点ではありません。
なお、供給経路については保護が施されています。言語サーバーの依存関係はバージョンを固定して取得し、ハッシュ照合と取得元の制限を通したうえで、プロジェクトとは別の管理領域に導入されます。照合に失敗すればインストールは中止されます。
隔離環境とツール範囲の制限
公式が最も効果的な対策として挙げているのは、コンテナなどで隔離した環境の中でSerenaを動かすことです。必要なファイルとコマンドだけをエージェントに見せる構成にしておけば、想定外の操作が起きても影響範囲が閉じます。
あわせて、作業対象をバージョン管理下に置くこと、設定で有効なツールを絞り込むこと、ネットワークサービスを社外に開かないことが推奨されています。ダッシュボードやHTTPモードのサーバーは既定でローカルのみを受け付けます。
社内展開で決めておきたいこと
技術的な設定と同じくらい、運用ルールの整備が結果を左右します。 少なくとも次の項目は、展開前に合意を取っておくと後戻りが減ります。
- エージェントに接続してよいリポジトリの範囲と、除外する機密領域
- 自動承認を許す操作と、人の確認を挟む操作の線引き
- 生成されたコードのレビュー基準と責任の所在
- 認証情報や顧客データが含まれるファイルの取り扱い
- 利用状況のログをどこまで残し、誰が確認するか
生成AIを業務に組み込む際の情報管理については生成AI利用時のセキュリティ対策で詳しく扱っています。
| ▼ セキュリティ要件を満たしたうえで進めたい方へ 情報システム部門の承認が下りず、検証段階で止まっているという状況は珍しくありません。 判断材料となる資料の整理から支援できます。 社内規程との突き合わせや、隔離環境の構成案づくりもあわせてご相談ください。 ▶ 無料相談はこちら(株式会社ネクストスケール) |
Serena MCPを開発体制に定着させるための進め方
ツールを入れること自体は数十分で終わります。問題はその先で、使う人と使わない人に分かれたまま定着しないケースが多く見られます。組織として成果につなげるための順序を整理します。
対象を絞って試す
最初から全社展開を狙うと、環境差や言語ごとの設定差につまずいて止まります。まずは規模が大きく依存関係の複雑なリポジトリを1つ選び、数名のチームで2週間ほど回すのが現実的です。
この段階で、どの作業に効いてどの作業には効かないのかが見えてきます。既存の改修、影響範囲の調査、テストコードの追加など、作業種別ごとに手応えを記録しておくと次の判断が楽になります。
効果を測る指標を決める
感覚的な評価だけでは投資判断につながりません。トークン消費量、1件あたりの改修リードタイム、レビューでの差し戻し回数といった、導入前後で比較できる数字を先に決めておきます。
特に見落とされやすいのがレビュー工数です。 生成量が増えても確認に時間がかかれば全体の速度は変わらないため、開発側と確認側の両方を測る必要があります。
総務省の令和7年版 情報通信白書によると、生成AIを活用する方針を定めている日本企業は49.7%で、米国の84.8%や中国の92.8%と開きがあります。導入時の懸念として最も多く挙がったのは「効果的な活用方法がわからない」でした。ツールの有無ではなく、使い道を設計できるかどうかが差になっていることがうかがえます。
社内だけで抱え込まない
言語サーバーの設定、クライアントごとの差異、セキュリティ要件との整合など、検討事項は分野をまたぎます。通常の開発業務と並行して進めると、どうしても後回しになりがちです。
**社内に知見が溜まるまでの立ち上がりを外部で補う判断も選択肢になります。** 開発そのものを委託する形についてはAI受託開発の依頼先の選び方、エンジニア以外も含めた社内の底上げについては法人向け生成AI研修で整理しています。
まとめ
Serena MCPは、コードをテキストではなく構造として扱うことで、コーディングエージェントの弱点を補うオープンソースのMCPサーバーです。LSPによるシンボル単位の解析により、必要な箇所だけを読み込んで正確に書き換えられます。
導入はuvでのインストールと初期化の2段階で、Claude CodeやCodexには専用のセットアップコマンドが用意されています。動かないときはクライアント側の内蔵ツールとの競合や、古い手順の参照を疑うのが近道です。
業務で使う場合は、ローカル環境とリポジトリを信頼する前提の上に成り立っている点を踏まえ、隔離環境の用意とツール範囲の制限、社内ルールの整備を先に済ませてください。効果を測る指標を決めたうえで、対象を絞って始めるのが定着への近道になります。
社外AI役員サービスご紹介資料
この資料でこんなことがわかります!
- 社外AI役員とは
- 支援内容
- 導入の進め方
- 導入実績・効果
\3ステップで簡単入力/
| ▼ AI開発環境の整備をご検討中の方へ Serena MCPのようなツール選定にとどまらず、開発フロー全体をどう組み替えるかという視点で支援しています。 現状の課題整理から導入後の定着支援まで、まずは無料相談でお聞かせください。 ▶ 無料相談はこちら(株式会社ネクストスケール) |
この記事の監修者
石丸真平
NEXTSCALE コンサルタント / AI活用・業務効率化支援
ワイヤー段階では、監修者名、肩書き、プロフィール本文、関連リンク、著者導線がどのように入るかを確認できる構成にしています。実装時には実際のプロフィール文や外部リンク、SNSアカウント情報などに差し替える想定です。

