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.
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
Pull a recommended model:
ollama pull llama3:8b
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 refactoringsask_bob
: Ask Robert C. Martin (Uncle Bob) to review code based on Clean Code principlesread_graph
: Read the entire knowledge graphsearch_nodes
: Search for nodes in the knowledge graphopen_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 integrationexperts/
: Expert modules implementing the code review capabilities__init__.py
: Shared models and interfacesmartin_fowler/
: Martin Fowler expert implementationrobert_c_martin/
: Robert C. Martin expert implementation
knowledge_graph.py
: Knowledge graph for storing code and reviewsollama_service.py
: Integration with Ollama for AI-powered reviewsexamples/
: Example code for review in different languagesrequirements.txt
: Python dependenciessetup.sh
: Setup script
Architecture
The system follows a modular architecture:
- Server Layer: Handles MCP protocol communication and routes requests
- Expert Layer: Encapsulates code review logic for each expert
- 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
MCP Code Expert System
Project Details
- tomsiwik/mcp-experts
- Last Updated: 4/17/2025
Recomended MCP Servers
MCP server for programmatically creating and managing n8n workflows
一个简单的获取微博热搜的MCP服务
Bun Server Transport implementation for MCP - MCP SSE
An MCP server that checks if a website is currently down by querying the website https://www.isitdownrightnow.com
Integração de LangChain e MCP para processamento de linguagem natural e avaliação de expressões matemáticas.
A model context protocol server for Momento
MCP Server for ClickUp
Model Context Protocol (MCP) server implementation with Minimax API integration
MCP stdio server for frida
FastAPI server implementing MCP protocol Browser automation via browser-use library.