13
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロジェクトに専用のコンテキストを! VSCode + GitHub Copilot環境に「Serena MCP」を導入してみた

Last updated at Posted at 2025-09-04

はじめに

はじめまして。トライベック株式会社で中小企業向けの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をご確認ください。

https://github.com/oraios/serena

導入方法(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 で確認

  1. VSCodeのチャット画面を開く(Ctrl+Alt+I)
  2. モードを「Agent」に変更
  3. 「Tools」ボタンを押す
  4. 「serena」が表示されれば設定完了です

スクリーンショット 2025-08-27 15.39.18.png

トラブルシューティング

よくあるエラーと対処法:

  • 「command not found: uvx」エラー: uvが正しくインストールされていません。インストール後、新しいターミナルを開いて再度実行してください。
  • ポート競合エラー: 別のアプリケーションが同じポートを使用している可能性があります。lsof -i :24282でポートの使用状況を確認してください。
  • 権限エラー: sudoの使用が必要な場合があります。ただし、セキュリティ上の理由から、可能な限りユーザー権限での実行を推奨します。

プロジェクトを理解してもらう

セットアップが完了したら、プロジェクトを解析してみます。

AgentModeのチャットで「#serena プロジェクトを解析して」と入力します。

Serena MCPがプロジェクト全体を調べて、.serena/memories/フォルダに以下のファイルが自動生成されます。

スクリーンショット 2025-08-27 12.22.54.png

生成されるドキュメント

  1. project_overview.md: プロジェクトの概要

    • プロジェクトの目的や主な機能を説明
  2. tech_stack.md: 技術スタック情報

    • 使用しているフレームワークやライブラリの詳細
  3. code_style.md: コーディング規約

    • 変数名の命名規則(キャメルケース、スネークケースなど)
    • インデントのルール(スペース2つ、4つなど)
  4. project_structure.md: プロジェクト構造

    • ファイルの配置ルール
    • 各ディレクトリの役割
  5. suggested_commands.md: 推奨コマンド集

    • npm run devでサーバー起動
    • npm testでテスト実行など
  6. task_completion_checklist.md: タスク完了基準

    • コードレビュー前のチェック項目など
  7. design_patterns.md: 設計パターン

    • エラーハンドリングの手法
    • 状態管理の方針など

これらのファイルにより、AIはプロジェクト固有のルールや慣習を理解し、より適切なコードを生成できるようになります。

まとめ

Serena MCPの導入により、AIがプロジェクトの文脈を理解できるようになりました。自動でプロジェクトを解析し、包括的なドキュメントを生成する機能は、開発効率向上に大きく貢献します。

次回は、Serena MCPのツールとAgentModeの標準ツールで生成されるコードの品質にどの程度の違いが生まれるか、比較検証を行う予定です。

13
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?