Multi-Agent MCP Server
Automates codebase review and documentation generation using specialized AI agents, integrating with MCP for AI workflows and Smithery for deployment.
README
Multi-Agent MCP Server
A production-ready, modular multi-agent MCP server for automated codebase review and documentation generation. Built with the Model Context Protocol (MCP) for seamless integration with AI development workflows and compatible with Smithery for easy deployment.
๐ Features
- ๐ค Multi-Agent Architecture: Specialized AI agents for different analysis types
- Debt Agent: Technical debt and maintainability analysis
- Improvement Agent: Code quality improvement recommendations
- Critical Agent: Security vulnerabilities and reliability issues
- Documentation Agent: Comprehensive project documentation generation
- ๐ก MCP Integration: Full Model Context Protocol support for AI tool integration
- ๐ Workflow Orchestration: Advanced DSPy workflow integration for intelligent analysis
- โ Strict Validation: Comprehensive output validation with Pydantic schemas
- ๐ญ Production Ready: Comprehensive testing, logging, and professional packaging
- โ๏ธ Smithery Compatible: Ready for deployment on Smithery platform
- โก Flexible Execution: Quick scan for fast analysis or deep scan with LLM integration
๐ Table of Contents
- Installation
- Quick Start
- MCP Tools Reference
- Smithery Integration
- Configuration
- API Documentation
- Development
- Contributing
- License
๐ ๏ธ Installation
Via Smithery (Recommended)
The easiest way to use this MCP server is through Smithery:
- Visit Smithery
- Search for "multi-agent-code-review"
- Add to your AI workflow with one click
Python Package
# Using uv (recommended)
uv add multiagent-mcp-server
# Using pip
pip install multiagent-mcp-server
# Using conda
conda install -c conda-forge multiagent-mcp-server
From Source
# Clone the repository
git clone https://github.com/Arpit-Moga/Vibechecker.git
cd Vibechecker
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e .
๐ Quick Start
As MCP Server
# Run the MCP server
python -m multiagent_mcp_server
# Or using the installed script
multiagent-mcp-server
MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop, Continue, etc.):
{
"mcpServers": {
"multi-agent-code-review": {
"command": "python",
"args": ["-m", "multiagent_mcp_server"],
"env": {
"CODE_DIRECTORY": "./",
"LOG_LEVEL": "INFO"
}
}
}
}
With Environment Variables
# Set API keys for LLM analysis (optional for quick mode)
export GOOGLE_API_KEY="your-google-api-key"
export OPENAI_API_KEY="your-openai-api-key"
# Configure analysis settings
export CODE_DIRECTORY="/path/to/your/project"
export MAX_FILE_SIZE_MB="10.0"
export LOG_LEVEL="INFO"
# Run the server
python -m multiagent_mcp_server
๐ง MCP Tools Reference
The server provides the following MCP tools for AI agents:
issue_detection_review
Runs unified issue detection analysis on the specified code directory.
Parameters:
code_directory(string, optional): Path to analyze (default: current directory)output_directory(string, optional): Output path (default: ./DOCUMENTATION)output_format(enum): "md" or "json" (default: "md")scan_mode(enum): "quick" or "deep" (default: "quick")
Example:
{
"tool": "issue_detection_review",
"arguments": {
"code_directory": "./src",
"scan_mode": "deep",
"output_format": "json"
}
}
documentation_generate
Generates comprehensive project documentation.
Parameters:
code_directory(string, optional): Path to analyzeoutput_directory(string, optional): Output path
comprehensive_review
Runs all analyses in a coordinated workflow for complete project review.
Parameters: Same as issue_detection_review
โ๏ธ Smithery Integration
This MCP server is fully compatible with Smithery, providing:
- Easy Deployment: One-click deployment to Smithery cloud
- Automatic Discovery: Server is automatically indexed in Smithery registry
- Configuration Schema: Full JSON schema validation for parameters
- HTTP Transport: Optional HTTP endpoint for remote access
- Security Scanning: Passes Smithery security validation
Smithery Configuration
The server includes a smithery.yaml configuration file that defines:
- Server metadata and capabilities
- Connection methods (stdio and HTTP)
- Tool schemas and validation
- Security settings
Publishing to Smithery
- Ensure your code is in a public GitHub repository
- Add proper tags and description in
smithery.yaml - Smithery will automatically discover and index your server
- Users can then find and use your server through the Smithery platform
โ๏ธ Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
CODE_DIRECTORY |
Default directory to analyze | . |
GOOGLE_API_KEY |
Google AI API key for LLM analysis | None |
OPENAI_API_KEY |
OpenAI API key for LLM analysis | None |
MAX_FILE_SIZE_MB |
Maximum file size to process | 5.0 |
MAX_FILES_TO_PROCESS |
Maximum number of files | 100 |
LOG_LEVEL |
Logging level | INFO |
Scan Modes
- Quick Mode: Fast static analysis using linting tools (ruff, bandit, mypy)
- Deep Mode: Comprehensive analysis including LLM-powered review
Output Formats
- Markdown: Human-readable reports with formatting
- JSON: Structured data for programmatic consumption
๐ API Documentation
Response Format
All tools return a consistent response structure:
interface AgentReport {
issues: IssueOutput[];
review: string;
total_issues?: number;
high_severity_count?: number;
documentation_files?: number;
error?: boolean;
}
interface IssueOutput {
type: "maintainability" | "security" | "performance" | "compliance" | "other";
severity: "low" | "medium" | "high";
description: string;
file: string;
line: number;
suggestion?: string; // For maintainability/performance
remediation?: string; // For security/compliance
reference?: string;
}
Error Handling
The server implements comprehensive error handling:
- Input validation with detailed error messages
- Graceful degradation when tools are unavailable
- Structured error responses with error codes
- Comprehensive logging for debugging
๐งช Development
Prerequisites
- Python 3.10+
- uv package manager (recommended) or pip
Setup Development Environment
# Clone the repository
git clone https://github.com/Arpit-Moga/Vibechecker.git
cd Vibechecker
# Install development dependencies
uv sync --dev
# Install pre-commit hooks
pre-commit install
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=multiagent_mcp_server
# Run specific test file
pytest tests/test_models.py -v
Code Quality
# Format code
black src tests
isort src tests
# Lint code
flake8 src tests
mypy src
# Security scan
bandit -r src
Project Structure
multiagent-mcp-server/
โโโ src/multiagent_mcp_server/ # Main package
โ โโโ __init__.py # Package exports
โ โโโ __main__.py # Module entry point
โ โโโ server.py # MCP server implementation
โ โโโ models.py # Pydantic models
โ โโโ config.py # Configuration management
โ โโโ base_agent.py # Base agent class
โ โโโ issue_detection_agent.py # Issue detection logic
โ โโโ documentation_agent.py # Documentation generation
โ โโโ ... # Other modules
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โโโ smithery.yaml # Smithery configuration
โโโ mcp.json # MCP manifest
โโโ pyproject.toml # Package configuration
โโโ README.md # This file
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution Steps
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
pytest) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Add type hints to all functions
- Write comprehensive tests for new features
- Update documentation as needed
- Ensure backwards compatibility
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Model Context Protocol for the excellent protocol specification
- Smithery for the amazing MCP server registry and deployment platform
- FastMCP for the simplified MCP server framework
- DSPy for advanced workflow orchestration
- All contributors and the open-source community
๐ Links
- GitHub Repository: https://github.com/Arpit-Moga/Vibechecker
- Smithery Registry: https://smithery.ai/
- Model Context Protocol: https://modelcontextprotocol.io/
- Documentation: https://github.com/Arpit-Moga/Vibechecker/tree/main/docs
- Issue Tracker: https://github.com/Arpit-Moga/Vibechecker/issues
Ready to supercharge your code review process? Try the Multi-Agent MCP Server today! ๐
๐ฆ Quick Start
Start the Server
# Using the installed package
multiagent-mcp-server
# Or using Python module
python -m multiagent_mcp_server.server
๐งฉ MCP Tools Reference
The server exposes agent tools via the Model Context Protocol (MCP), not RESTful HTTP endpoints.
Available MCP Tools
| Tool Name | Description |
|---|---|
issue_detection_review |
Unified code issue detection and analysis |
documentation_generate |
Generate comprehensive project documentation |
comprehensive_review |
Run all agents for complete codebase analysis |
Refer to the MCP documentation for integration details.
๐ Documentation
Comprehensive documentation is available in the docs/ directory:
- Getting Started Guide - Quick start tutorial
- Architecture Guide - System architecture overview
- Development Guide - Development setup and guidelines
- Agent Documentation - Agent-specific documentation
๐๏ธ System Architecture
flowchart TD
subgraph Agents
A1[Documentation Agent]
A2[Unified Issue Detection Agent]
end
subgraph Plugins
P1[Bandit Plugin]
P2[Mypy Plugin]
P3[Ruff Plugin]
P4[Semgrep Plugin]
end
U[User/Client] --> S[MCP Server]
S --> Agents
S --> Plugins
Agents --> R[Aggregated Report]
Plugins --> R
R --> U
๐ง Development
Prerequisites
- Python 3.10 or higher
- uv or pip for package management
Setup
# Clone and setup
git clone https://github.com/your-org/multi-agent-mcp-server.git
cd multi-agent-mcp-server
uv sync
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
# Run with coverage
pytest --cov=src/multiagent_mcp_server
Project Structure
multi-agent-mcp-server/
โโโ src/multiagent_mcp_server/ # Main package
โโโ docs/ # Documentation
โโโ examples/ # Usage examples
โโโ tests/ # Test suite
โโโ data/ # Sample data and outputs
โโโ scripts/ # Utility scripts
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup
- Code style guidelines
- Testing requirements
- Pull request process
Quick Contribution Steps
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests and documentation
- Submit a pull request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with the Model Context Protocol
- Powered by DSPy
- Validation with Pydantic
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.