はじめに
はじめまして。トライベック株式会社で中小企業向けのDX支援プラットフォームHirameki7のフロントエンド開発を担当している岡山です。
普段はVSCode & GitHub Copilotを使用して開発を行っています。AIエージェントを活用した開発は非常に快適で、開発速度が大幅に向上するため重宝しています。
しかし、AIの成果物にはハルシネーションが付き物です。「期待した成果物を生成してくれない」というフラストレーションが溜まることも少なくありません。
プロンプトの品質、コンテキストの不足、AIのモデルなど様々な要因が考えられますが、特に「コンテキスト不足」に起因する問題が多いと感じています。
例えば:
- プロジェクトの命名規則を無視したコードが生成される
- 使用している状態管理ライブラリと異なるライブラリでコードを書いてくる
- 一般的すぎて自分のプロジェクトに適さない内容になる
Serena MCPを使用すれば、AIにプロジェクト専用のコンテキストを持たせることができます。
Serena MCPとは
Serena MCPは、AI(特に大規模言語モデル、LLM)がソースコードを深く理解し、より賢く正確にコーディング作業を支援できるようにするためのオープンソースツールです。
従来のAIコーディング支援ツールは、コードを単なる文字列として処理するため、プロジェクト全体の構造や関係性を十分に理解できませんでした。Serena MCPは、この課題を以下の2つの主要機能で解決します。
コードの文脈理解: プロジェクト全体のソースコード構造を解析し、「どこに何が書かれているか」をAIに正確に伝えます。これにより、AIは単なるテキストとしてではなく、コードの意味(セマンティクス)を理解して、的確な修正や提案ができます。
LSPの活用: 多くの高機能エディタで使用されている「Language Server Protocol (LSP)」という仕組みを利用して、関数や変数の定義場所、参照箇所などを正確に把握します。
これにより、AIはエディタと同等の「コード理解能力」を獲得できます。
詳しい情報は公式GitHubをご確認ください。
導入方法(Mac版)
Step 1: 必要なものを準備
# Pythonのバージョン確認(3.11以上が必要)
python3 --version
# uvをインストール(Homebrewがある場合)
brew install uv
# Homebrew がない場合はこちら
curl -LsSf https://astral.sh/uv/install.sh | sh
Step 2: Serenaサーバーを起動
# このコマンドを実行(ターミナルは開いたままにしておきます)
uvx --from git+https://github.com/oraios/serena serena-mcp-server --context ide-assistant
成功すると、ブラウザで管理画面が開けるようになります(通常は http://127.0.0.1:24282/dashboard/index.html になります)。
Step 3: VSCodeの設定
プロジェクトのルートに.vscode/mcp.json
ファイルを作成し、以下を記述します:
{
"servers": {
"serena": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server",
"--context",
"ide-assistant"
]
}
}
}
Step 4: GitHub Copilot で確認
- VSCodeのチャット画面を開く(Ctrl+Alt+I)
- モードを「Agent」に変更
- 「Tools」ボタンを押す
- 「serena」が表示されれば設定完了です
トラブルシューティング
よくあるエラーと対処法:
- 「command not found: uvx」エラー: uvが正しくインストールされていません。インストール後、新しいターミナルを開いて再度実行してください。
-
ポート競合エラー: 別のアプリケーションが同じポートを使用している可能性があります。
lsof -i :24282
でポートの使用状況を確認してください。 -
権限エラー:
sudo
の使用が必要な場合があります。ただし、セキュリティ上の理由から、可能な限りユーザー権限での実行を推奨します。
プロジェクトを理解してもらう
セットアップが完了したら、プロジェクトを解析してみます。
AgentModeのチャットで「#serena プロジェクトを解析して」と入力します。
Serena MCPがプロジェクト全体を調べて、.serena/memories/
フォルダに以下のファイルが自動生成されます。
生成されるドキュメント
-
project_overview.md: プロジェクトの概要
- プロジェクトの目的や主な機能を説明
-
tech_stack.md: 技術スタック情報
- 使用しているフレームワークやライブラリの詳細
-
code_style.md: コーディング規約
- 変数名の命名規則(キャメルケース、スネークケースなど)
- インデントのルール(スペース2つ、4つなど)
-
project_structure.md: プロジェクト構造
- ファイルの配置ルール
- 各ディレクトリの役割
-
suggested_commands.md: 推奨コマンド集
-
npm run dev
でサーバー起動 -
npm test
でテスト実行など
-
-
task_completion_checklist.md: タスク完了基準
- コードレビュー前のチェック項目など
-
design_patterns.md: 設計パターン
- エラーハンドリングの手法
- 状態管理の方針など
これらのファイルにより、AIはプロジェクト固有のルールや慣習を理解し、より適切なコードを生成できるようになります。
まとめ
Serena MCPの導入により、AIがプロジェクトの文脈を理解できるようになりました。自動でプロジェクトを解析し、包括的なドキュメントを生成する機能は、開発効率向上に大きく貢献します。
次回は、Serena MCPのツールとAgentModeの標準ツールで生成されるコードの品質にどの程度の違いが生まれるか、比較検証を行う予定です。