Code Review Assistant

Code Review Assistant

An MCP server that automates code review by providing syntax checking, code explanation, and improvement suggestions using a multi-agent system.

Category
访问服务器

README

Code Review Assistant

Code Review Assistant Architecture - visual selection

Code Review Assistant Architecture - visual selection (1)

Project Description

The Code Review Assistant is a simple multi-agent system built using the Model Context Protocol (MCP) and LangChain. Its purpose is to provide automated, preliminary feedback on code snippets, including syntax checking, code explanation, and improvement suggestions. It can be integrated with MCP-compatible clients like Cursor IDE or Claude for Desktop.

Features

  • Syntax Check: Identifies potential syntax errors and structural issues.
  • Code Explanation: Provides a high-level explanation of the code's functionality.
  • Suggestion Generation: Offers actionable suggestions for code improvement.
  • MCP Server: Exposes code review capabilities as a tool via the Model Context Protocol.
  • Flexible LLM Backend: Supports both local Ollama models and the Groq API.

File Structure

code_review_assistant/
├── .uv/                        # uv virtual environment directory (may be .venv based on your setup)
├── .env                        # Environment variables (sensitive config, ignored by git)
├── .gitignore                  # Specifies intentionally untracked files (.env, __pycache__, etc.)
├── code_review_server.py       # Main MCP server file (FastMCP instance, tool definitions)
├── agents/
│   ├── __init__.py             # Initializes the agents module
│   ├── syntax_check_agent.py   # Contains logic for SyntaxCheckAgent
│   ├── explanation_agent.py    # Contains logic for CodeExplanationAgent
│   └── suggestion_agent.py    # Contains logic for SuggestionAgent
├── prompts/
│   ├── syntax_check_prompt.py  # Prompt template for syntax checking
│   ├── explanation_prompt.py   # Prompt template for code explanation
│   └── suggestion_prompt.py    # Prompt template for suggestions
├── config.py                   # Non-sensitive, application-wide configurations
└── requirements.txt            # Project dependencies

Setup

  1. Clone the repository (if applicable, or navigate to your project directory).

  2. Install uv: If you don't have uv installed, follow the official installation guide.

    # Example: via pipx
    pipx install uv
    
  3. Navigate to the project directory:

    cd your-project-directory # e.g., cd CRA-MCP/cra
    
  4. Set up the virtual environment and install dependencies:

    uv venv
    # Activate the virtual environment
    # On Windows:
    .venv\\Scripts\\activate
    # On macOS/Linux:
    source .venv/bin/activate
    
    # Install dependencies from requirements.txt
    uv sync
    
  5. Configure Environment Variables: Create a file named .env in the root of the project (same directory as requirements.txt). Copy the contents from .sample.env and fill in your actual configuration.

    # Example .env content (copy from .sample.env)
    # ... your configuration here ...
    

    Important: Replace <your_groq_api_key_here> with your actual Groq API key if you plan to use Groq.

  6. If using Ollama: Download and install Ollama from ollama.com. Pull the required model (e.g., qwen2.5-coder) by running ollama pull qwen2.5-coder in your terminal. Ensure the Ollama server is running before starting the Code Review Assistant server.

Running the Server

  1. Activate the virtual environment (if not already active):
    # On Windows:
    .venv\\Scripts\\activate
    # On macOS/Linux:
    source .venv/bin/activate
    
  2. Run the server using uv:
    uv run code_review_server.py
    
    The server will start and listen for connections from MCP clients.

Using the Tool

Once the server is running, you can connect to it from an MCP-compatible client (like Cursor IDE chat or Claude for Desktop). The client should detect the available code_review_assistant server and expose the review_code tool.

Call the review_code tool with the code snippet you want to review:

review_code("""
# Paste your code snippet here
def example_function(x):
    return x * 2
""")

The server will process the request using the configured LLM and return a consolidated code review including syntax feedback, explanation, and suggestions.

Customization

  • Prompts: Modify the prompt templates in the prompts/ directory to adjust the behavior of each agent.
  • Agents: Enhance the logic within the agent files (agents/) to include more complex processing or integrate with other tools/APIs.
  • Configuration: Update config.py for application-wide settings or add new environment variables to .env.

Note: This is a starting point. Further development is needed to implement more sophisticated LLM interactions, error handling, and potentially integrate additional review aspects.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选