目次


1. Serena MCPとは?

gpt-oss

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 というランタイムが推奨されています。

  1. uv をインストール:macOS または Linux では次のコマンドを実行します。

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

    Windows の場合は PowerShell 版を利用するか、Homebrew でも導入できます。

  2. リポジトリをクローン:GitHub からコードを取得します。

    git clone https://github.com/oraios/serena
    cd serena
    
  3. 環境ファイルを用意

    cp .env.example .env
    

    Claude や他の LLM を使う場合、必要に応じて API キーやモデル設定を .env に追記します。

  4. 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 開発環境の構築や業務自動化のご相談を承っています。エージェント基盤を活用したい方は、お気軽にお問い合わせください。