MCP Code Expert System

by tomsiwik
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports environment configuration through .env files, enabling customization of knowledge graph settings and Ollama configuration parameters.

  • Provides integration with Ollama for AI-powered code reviews using local models, allowing the MCP server to utilize Ollama's capabilities to generate expert code reviews based on different programming principles.

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

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

特徴

  • マーティン・ファウラーのリファクタリング原則に基づいたコードレビュー
  • Robert C. Martinのクリーンコード原則に基づいたコードレビュー
  • コード、レビュー、関係性のナレッジグラフストレージ
  • Ollamaとの統合によるAIを活用したレビュー
  • Web統合のためのサーバー側イベント(SSE)のサポート

前提条件

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統合とナレッジグラフ機能を提供する

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

ライセンス

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

-
security - not tested
F
license - not found
-
quality - not tested

モデル コンテキスト プロトコル (MCP) を使用して、Martin Fowler や Robert C. Martin などのシミュレートされた専門家ペルソナを通じて AI を活用したコード レビューを提供する Python ベースのシステムです。

  1. Features
    1. Prerequisites
      1. Python 3.10+
      2. Ollama
    2. Installation
      1. Configuration
        1. Usage
          1. Running the Server
          2. Installing in Cursor
          3. Available Tools
          4. Example Usage
        2. Project Structure
          1. Architecture
            1. License
              ID: nbrs3glfk1