Skip to main content
Glama
tomsiwik
by tomsiwik

MCP コード エキスパート システム

モデルコンテキストプロトコル(MCP)を使用したPythonベースのコードレビューシステム。Martin FowlerやRobert C. Martin(Uncle Bob)といった専門家のペルソナをシミュレートすることで、コードレビュー機能を提供します。

特徴

  • マーティン・ファウラーのリファクタリング原則に基づいたコードレビュー

  • Robert C. Martinのクリーンコード原則に基づいたコードレビュー

  • コード、レビュー、関係性のナレッジグラフストレージ

  • Ollamaとの統合によるAIを活用したレビュー

  • Web統合のためのサーバー側イベント(SSE)のサポート

Related MCP server: greybeard

前提条件

Python 3.10以上

このプロジェクトには Python 3.10 以上が必要です。

オラマ

AI を活用したコードレビューにはOllamaが必要です。

  1. お使いのプラットフォームに Ollama をインストールします。

    • macOS : ollama.comからダウンロード

    • Linux : curl -fsSL https://ollama.com/install.sh | sh

    • Windows : Linux の指示による Windows WSL2 サポート

  2. 推奨モデルを取得します:

    ollama pull llama3:8b
  3. Ollama サーバーを起動します。

    ollama serve

インストール

セットアップ スクリプトを実行して依存関係をインストールし、仮想環境を作成します。

chmod +x setup.sh
./setup.sh

構成

.envファイルを編集して設定します (必要に応じて.env.exampleから作成します)。

# Knowledge Graph Settings
KNOWLEDGE_GRAPH_PATH=data/knowledge_graph.json

# Ollama Configuration (local AI models)
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=llama3:8b

使用法

サーバーの実行

標準モード(カーソル統合用)

source .venv/bin/activate
python server.py

HTTP/SSE モード (Web 統合用)

source .venv/bin/activate
python server.py --transport sse

これにより、SSE トランスポート用のhttp://localhost:8000/sseでサーバーが起動します。

カスタム ポートの場合:

python server.py --transport sse --port 9000

カーソルへのインストール

Cursor IDE にインストールするには:

source .venv/bin/activate
mcp install server.py --name "Code Expert System"

利用可能なツール

サーバーは次のツールを公開します:

  • ask_martin : Martin Fowler にコードのレビューとリファクタリングの提案を依頼する

  • ask_bob : Robert C. Martin (Uncle Bob) にクリーンコードの原則に基づいてコードのレビューを依頼する

  • read_graph : ナレッジグラフ全体を読み取る

  • search_nodes : ナレッジグラフ内のノードを検索する

  • open_nodes : 特定のノードを名前で開く

使用例

Martin Fowler と一緒にコード スニペットをレビューするには:

{
  "code": "function calculateTotal(items) {\n  var total = 0;\n  for (var i = 0; i < items.length; i++) {\n    total += items[i].price;\n  }\n  return total;\n}",
  "language": "javascript",
  "description": "Calculate the total price of items"
}

プロジェクト構造

  • server.py : MCP 統合によるメインサーバーの実装

  • experts/ : コードレビュー機能を実装するエキスパートモジュール

    • __init__.py : 共有モデルとインターフェース

    • martin_fowler/ : Martin Fowler エキスパート実装

    • robert_c_martin/ : Robert C. Martin 専門家による実装

  • knowledge_graph.py : コードとレビューを保存するためのナレッジグラフ

  • ollama_service.py : AIを活用したレビューのためのOllamaとの統合

  • examples/ : さまざまな言語でのレビュー用サンプルコード

  • requirements.txt : Python の依存関係

  • setup.sh : セットアップスクリプト

建築

システムはモジュラーアーキテクチャに従います。

  1. サーバー層: MCPプロトコル通信を処理し、リクエストをルーティングします

  2. エキスパートレイヤー: 各エキスパートのコードレビューロジックをカプセル化します

  3. サービス層: AI統合とナレッジグラフ機能を提供する

各エキスパートは標準インターフェースを実装しており、一貫した処理と新しいエキスパートの簡単な追加が可能です。

ライセンス

マサチューセッツ工科大学

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    NeuroDev MCP is a smart Model Context Protocol server for Python development. It performs deep code review, generates high-quality unit tests, runs test suites with coverage, and formats code automatically — all through an AI assistant like Claude or Cline.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides AI-powered code review and architecture analysis, simulating the perspective of an experienced staff engineer. It integrates with IDEs to review diffs, design decisions, and tradeoffs through natural language.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that performs automated code reviews by analyzing git diffs against configurable review standards with custom reviewer personas.
    7
    2
    MIT