
Serena MCP 入門ガイド|AIエージェント基盤で開発効率を飛躍
目次
1. Serena MCPとは?
Serena MCP は、オープンソースの AI エージェント基盤です。大規模言語モデル(LLM)に対して モデルコンテキストプロトコル(MCP) を介してツール呼び出しや編集操作を行えるようにし、IDE のような環境を実現します。Apidog の解説によれば、Serena は「LLM を完全装備のコードエージェントに変身させるツールキット」であり、コードベース上で直接動作し、LSP(Language Server Protocol)の活用によって シンボルレベルのコード解析 や編集が可能です。従来の「チャット型コード補助」とは違い、Serena MCP サーバーが LLM とツールの橋渡しをすることで、企画からリファクタリングまで一連の工程を AI が担当できます。
2. 特徴と注目される理由
Serena MCP が注目される理由は、開発効率の向上と拡張性にあります。主な特徴を整理すると次のとおりです:
✅ LSP による精密なコード検索と編集
従来の AI ツールはファイル全体を読み込んで検索しますが、Serena は LSP から定義や参照を取得して 必要な行だけを読み込むため、検索が高速で正確です。これによりトークン消費を抑え、迅速なアシスタンスを実現します。
✅ トークン削減とメモリシステム
Serena はシンボル単位のアクセスに加えて、参照の連鎖を効率よく辿り、不要な再読込を防ぐ仕組みを備えており、従来比で約 70% のトークン削減が可能と報告されています。さらに、.serena/memories
ディレクトリに自動生成される「メモリ」ファイルは、プロジェクト概要や主要機能を AI が記憶するためのもので、セッション間の知識継承をサポートします。
✅ シングルスレッド実行による安定性
SerenaAgent(サーバー内部のオーケストレーター)はタスクを 単一スレッドで順次実行します。これにより LSP サーバーへの過負荷を防ぎ、デバッグも容易になります。
✅ プラグイン拡張とツール制御
新しいツールを追加する際は Tool
クラスを継承したモジュールを置くだけで自動検出されるため、独自機能の追加が簡単です。また、config.yml
で使用ツールをホワイトリスト/ブラックリスト方式で制御でき、セキュリティや利便性を両立できます。
✅ 大規模プロジェクトでも高速
uvx serena project index
コマンドでコードベース全体を事前インデックスし、シンボル表や依存関係グラフを作成します。これにより巨大なコードベースでも呼び出しが即時に完了し、変更時にはインデックスを差分更新するだけで済みます。
✅ 無料かつカスタマイズ可能
Serena は MIT ライセンスのオープソースであり、商用製品のような高額なサブスクリプションを必要としません。誰でも自由に利用・改変でき、社内のセキュアな環境でも動かせます。
3. インストールと環境準備
ここでは最新のインストール手順を紹介します。Serena は Python 製で、セットアップには uv
というランタイムが推奨されています。
-
uv をインストール:macOS または Linux では次のコマンドを実行します。
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows の場合は PowerShell 版を利用するか、Homebrew でも導入できます。
-
リポジトリをクローン:GitHub からコードを取得します。
git clone https://github.com/oraios/serena cd serena
-
環境ファイルを用意:
cp .env.example .env
Claude や他の LLM を使う場合、必要に応じて API キーやモデル設定を
.env
に追記します。 -
MCP サーバーを起動:
Serena には二つの実行方法があります。
-
uv ランタイム利用:
uv run serena start-mcp-server
これでローカルサーバーが起動し、
http://localhost:24282/dashboard/index.html
でログや制御ができるダッシュボードが利用できます。 -
uvx を利用したインストール不要の実行: Claude Code などから直接呼び出す場合は、次のコマンドで MCP サーバーを追加できます。
claude mcp add-json "serena" '{"command":"uvx","args":["--from","git+https://github.com/oraios/serena","serena-mcp-server"]}'
これによりリポジトリのクローンや依存解決を自動で行い、即座にサーバーを利用できます。
-
Docker(実験的): 完全に隔離された環境で使いたい場合には Docker イメージも提供されています。次のコマンドで起動できます。
docker run --rm -i --network host -v /path/to/projects:/workspaces/projects ghcr.io/oraios/serena:latest serena start-mcp-server --transport stdio
プロジェクトディレクトリを
/workspaces/projects
にマウントし、必要に応じて--transport
オプションを変更します。
-
4. クイックスタート:サンプルコード
Serena を起動したら、実際にツールを呼び出してみましょう。以下は Python で MCPClient
を使い、登録されたツールの一覧を取得して簡単なツールを実行する例です。
from serena.client import MCPClient
# ローカルに起動したサーバーに接続
client = MCPClient("http://localhost:24282")
# 利用可能なツールを一覧表示
tools = client.list_tools()
print("利用可能なツール:")
for t in tools:
print(f"- {t['name']}: {t.get('description', '')}")
# 例として 'get_time' ツールを実行(サーバーに同梱されたサンプル)
result = client.call_tool("get_time", {})
print("現在時刻:", result)
上記のコードを実行すると、サーバーに登録されているツール名と説明が表示され、get_time
ツールから現在時刻が返ってきます。独自のツールを追加すれば、例えば「特定のファイルを要約する」「バグ箇所を探す」など、さまざまな処理を AI に任せられます。
5. 活用シーンとメリット
Serena MCP は開発現場の多様なニーズに対応します。以下は代表的な利用例です。
✅ コード解析とリファクタリング
LSP により関数やクラスの定義を正確に把握し、影響範囲を特定しながらリファクタリングができます。大規模プロジェクトでも高速に動作するため、複雑な依存関係を持つコードの整理に役立ちます。
✅ 複数言語をまたぐ開発支援
Serena は Python、TypeScript、Java、C/C++ など主要言語に対応し、multilspy
を使えば Ruby や C# などの LSP も利用できます。異なる言語間での参照や共通ロジックの発見に適しています。
✅ AI コーディングツールとの統合
Claude Code や Claude Desktop、Cursor などの AI コーディングツールと組み合わせると、チャットボット型 UI から Serena の能力を呼び出すことができます。claude mcp add-json
コマンドを使えば、コードベースを分析したり提案を受けたりする際に、特別な設定なしで Serena を利用できます。
✅ 内製ツールの自動化
独自のデータベースや API にアクセスするツールを作成し、Serena に登録することで、社内システムの操作を AI に任せることが可能です。プラグイン拡張の仕組みはシンプルで、既存の Python スクリプトをラップするだけで利用できます。
6. 今後の展望とまとめ
MCP エコシステムは日々進化しており、仕様変更や新しいツールの登場にも柔軟に対応できる基盤として Serena MCP は重要な役割を担っています。今後はより多くの LSP やツールへの対応、GUI の強化、ローカル LLM との統合などが期待されます。また、メモリシステムの高度化により、エージェントがプロジェクトの背景を深く理解し、より的確な提案をするようになるでしょう。
🔚 まとめ
- Serena MCP は 無料で使えるオープソースの AI エージェント基盤 であり、LLM を IDE のように強化します。
- LSP を活用した精密な検索と編集、トークン削減、メモリシステム、シングルスレッド実行などの工夫により、高速かつ正確なコードアシスタンスを実現します。
- プラグイン拡張により、独自ツールや社内システムと連携させることができ、MCP 対応の他ツールとも容易に組み合わせられます。
- インストールは簡単で、uv や Docker を使ってすぐに試すことができます。
OpenBridge では、Serena MCP を用いた AI 開発環境の構築や業務自動化のご相談を承っています。エージェント基盤を活用したい方は、お気軽にお問い合わせください。