
Serena MCP とは?
Serena MCP は、Model Context Protocol (MCP) に対応した開発支援用のサーバーです。
MCP は「AIエージェントと外部ツールをつなぐ共通プロトコル」で、GitHub Copilot や Cursor などのエディタから利用できます。
Serena MCP を導入することで、AI は単に自然言語を処理するだけでなく、以下のような 開発者向けの“道具” にアクセスできるようになります。
- プロジェクト全体のファイル・モジュール構造を解析
- 関数やクラスのシンボル情報を抽出
- モジュール間の依存関係を可視化
- 設計資料のたたき台を生成
つまり 「Copilot がプロジェクトの内部を理解するための眼と手を与える仕組み」 が Serena MCP です。
今回は VS Code での利用を前提に検証を行いました。
python --version pip --version uv --version uvx --version
下記のように、それぞれバージョンが表示されればOKです。
C:\Users\user>python --version Python 3.13.7 C:\Users\user>pip --version pip 25.2 from C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip (python 3.13) C:\Users\user>uv --version uv 0.8.12 (36151df0e 2025-08-18) C:\Users\user>uvx --version uvx 0.8.12 (36151df0e 2025-08-18)
補足: python --version
が「Python」とだけ表示される場合
Windows 10 では、Microsoft Store のプレースホルダが先に呼ばれてしまい、バージョンが表示されないことがあります。
その場合、Copilot でエラーとなる可能性があるため、下記を試してください。
py --version
を試す(Windows 標準ランチャーで確認できることが多い)where python
で実際に呼ばれているパスを確認- PATH に正しい Python 実行ファイル(例:
C:\Users\<ユーザー名>\AppData\Local\Programs\Python\Python313\
)が含まれているかをチェック - Microsoft Store 版のエイリアスが競合している場合は、「アプリ実行エイリアスの管理」から python.exe / python3.exe を無効化すると解決できるケースがあります
Serena MCP の導入
1. 起動テスト
GitHub リポジトリから直接取得してローカルで MCP サーバーを起動します。
uvx --from git+https://github.com/oraios/serena serena start-mcp-server
これはあくまで確認用ビューなので、ブラウザを閉じてもサーバープロセス自体は動作を続けます。
2. VS Code / Copilot との連携
VS Code と GitHub Copilot から Serena MCP を使えるようにするため、MCPサーバの設定ファイルを作成します。ワークスペース直下の .vscode/mcp.json
に以下の設定を追加します。
{ "servers": { "serena": { "command": "uvx", "args": [ "--from", "git+https://github.com/oraios/serena", "serena-mcp-server", "--context", "ide-assistant" ], "env": { "SERENA_LOG_LEVEL": "info" } } } }
全体構造
servers
: MCP サーバーの一覧を定義するキー。serena
: サーバー名。任意に決められますが、ここでは「serena」としておくことで、Copilot Chat からserena
を指定して利用できます。
コマンド
"command": "uvx"
- 実際に MCP サーバーを起動するコマンド。
uvx
は Python 用のパッケージ実行ツールで、Node.js のnpx
と同じように「一時的にパッケージを取得して実行」できます。- つまり「
uvx
を使って Serena を起動しなさい」という指定。
- つまり「
args
"args": [ "--from", "git+https://github.com/oraios/serena", "serena-mcp-server", "--context", "ide-assistant" ]
--from
: どこからパッケージを取ってくるかを指定。git+https://github.com/oraios/serena
: Serena を GitHub リポジトリから直接取得。serena-mcp-server
: 実行するエントリーポイント。Serena を MCP サーバーモードで起動します。--context ide-assistant
: 起動時のコンテキスト指定。IDE(VS Code)向けのアシスタントモードで動かすオプションです。
env
"env": { "SERENA_LOG_LEVEL": "info" }
- 環境変数を設定するセクション。
SERENA_LOG_LEVEL=info
により、ログ出力を「info レベル」に設定しています。- より詳細に見たい場合は
debug
- 必要最低限だけにしたい場合は
error
- より詳細に見たい場合は
VS Code を再起動し、Copilot Chat にて
@workspace show mcp servers
と入力すると、serena
が表示されることを確認できます。

Serena MCP の起動と実行
1. 起動
VSCode上で起動します。serenaのMCPサーバの歯車マークから「サーバの起動」、もしくは mcp.json
ファイル上にある「起動」から起動します。

2. 実行の流れ
初期化フェーズ
activate_project
: プロジェクトをアクティベートcheck_onboarding_performed
: 初回セットアップ確認read_memory
: 前回解析データの読み込み
解析フェーズ
list_dir
: ディレクトリ構造スキャンfind_symbol
: 関数・クラス検索get_symbols_overview
: 全体シンボル概要取得find_referencing_symbols
: 依存関係調査
3. 正常動作の確認ポイント
- 各コマンドに緑のチェックマーク(✅)が表示される
- “serena (MCP サーバー)” の表記でサーバー接続が確認できる
- エラーメッセージが表示されない

試してみた
1. プロジェクト解析
プロンプト例
出力イメージ
下記はVSCodeコマンドで >Chat:Export Chat
をしてチャット履歴をエクスポートしたものです。

2. 特定のフォルダ配下の関数・クラスの列挙
プロンプト例
出力イメージ
下記はVSCodeコマンドで >Chat:Export Chat
をしてチャット履歴をエクスポートしたものです。

