MCP Code Expert System

by tomsiwik

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 Code Expert System

A Python-based code review system using the Model Context Protocol (MCP). It provides code review capabilities through simulated expert personas like Martin Fowler and Robert C. Martin (Uncle Bob).

Features

  • Code review based on Martin Fowler's refactoring principles
  • Code review based on Robert C. Martin's Clean Code principles
  • Knowledge graph storage of code, reviews, and relationships
  • Integration with Ollama for AI-powered reviews
  • Server-side Event (SSE) support for web integration

Prerequisites

Python 3.10+

This project requires Python 3.10 or higher.

Ollama

Ollama is required for AI-powered code reviews.

  1. Install Ollama for your platform:
    • macOS: Download from ollama.com
    • Linux: curl -fsSL https://ollama.com/install.sh | sh
    • Windows: Windows WSL2 support via Linux instructions
  2. Pull a recommended model:
    ollama pull llama3:8b
  3. Start the Ollama server:
    ollama serve

Installation

Run the setup script to install dependencies and create the virtual environment:

chmod +x setup.sh ./setup.sh

Configuration

Edit the .env file to configure (create from .env.example if needed):

# Knowledge Graph Settings KNOWLEDGE_GRAPH_PATH=data/knowledge_graph.json # Ollama Configuration (local AI models) OLLAMA_HOST=http://localhost:11434 OLLAMA_MODEL=llama3:8b

Usage

Running the Server

Standard Mode (for Cursor Integration)
source .venv/bin/activate python server.py
HTTP/SSE Mode (for Web Integration)
source .venv/bin/activate python server.py --transport sse

This will start the server at http://localhost:8000/sse for SSE transport.

For custom port:

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

Installing in Cursor

To install in Cursor IDE:

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

Available Tools

The server exposes these tools:

  • ask_martin: Ask Martin Fowler to review code and suggest refactorings
  • ask_bob: Ask Robert C. Martin (Uncle Bob) to review code based on Clean Code principles
  • read_graph: Read the entire knowledge graph
  • search_nodes: Search for nodes in the knowledge graph
  • open_nodes: Open specific nodes by their names

Example Usage

To review a code snippet with 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" }

Project Structure

  • server.py: Main server implementation with MCP integration
  • experts/: Expert modules implementing the code review capabilities
    • __init__.py: Shared models and interfaces
    • martin_fowler/: Martin Fowler expert implementation
    • robert_c_martin/: Robert C. Martin expert implementation
  • knowledge_graph.py: Knowledge graph for storing code and reviews
  • ollama_service.py: Integration with Ollama for AI-powered reviews
  • examples/: Example code for review in different languages
  • requirements.txt: Python dependencies
  • setup.sh: Setup script

Architecture

The system follows a modular architecture:

  1. Server Layer: Handles MCP protocol communication and routes requests
  2. Expert Layer: Encapsulates code review logic for each expert
  3. Service Layer: Provides AI integration and knowledge graph functionality

Each expert implements a standard interface allowing for consistent handling and easy addition of new experts.

License

MIT

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

local-only server

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

A Python-based system that provides AI-powered code reviews through simulated expert personas like Martin Fowler and Robert C. Martin, using the Model Context Protocol (MCP).

  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

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                Provides access to Perplexity AI models through two tools: ask\_perplexity for expert programming assistance and chat\_perplexity for maintaining ongoing conversations with context preservation.
                Last updated -
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                An MCP server that analyzes codebases and generates contextual prompts, making it easier for AI assistants to understand and work with code repositories.
                Last updated -
                2
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                A server that implements the Model Context Protocol (MCP) for orchestrating code reviews using a multi-agent system with Melchior, Balthasar, and Casper agents.
                Last updated -
                Python
              • -
                security
                -
                license
                -
                quality
                A Model Context Protocol (MCP) connector that allows AI agents to directly interact with Google Sheets, enabling creation, reading, and modification of spreadsheets through natural language.
                Last updated -
                23
                JavaScript
                MIT License

              View all related MCP servers

              ID: nbrs3glfk1