Skip to main content
Glama
README.md
# MCP AI POC (Still in progress)

[![CI](https://github.com/drewtech/mcp-ai-poc/actions/workflows/ci.yml/badge.svg)](https://github.com/drewtech/mcp-ai-poc/actions)

**MCP (Model Context Protocol) Server** with AI-powered development tools and resources.

## What This Project Provides

This project provides a comprehensive **MCP server** that offers:

### ๐Ÿ› ๏ธ **AI-Powered Tools**
- **Code Generation**: Generate production-ready code from specifications
- **Code Refactoring**: Improve existing code for better maintainability, performance, or readability
- **Debugging Assistant**: Analyze and fix code issues with detailed explanations
- **Performance Optimization**: Identify bottlenecks and optimize code performance
- **Test Generation**: Create comprehensive unit tests for any codebase

### ๐Ÿ“‹ **Smart Prompts**
- **Code Analysis**: Deep analysis for quality, security, and best practices
- **Documentation Generation**: Auto-generate docs in multiple styles (Google, Sphinx, NumPy)
- **Code Review**: Comprehensive reviews with focus on specific areas
- **Concept Explanation**: Explain programming concepts at different skill levels

### ๐Ÿ“š **Knowledge Resources**
- **Python Coding Guidelines**: Best practices and style guides
- **Design Patterns Reference**: Common patterns with examples
- **Security Best Practices**: Security guidelines and vulnerability prevention
- **Performance Optimization Guide**: Strategies for faster, more efficient code

## Quick Start

### 1. Installation

```bash
# Clone and set up the project
git clone <your-repo-url>
cd mcp-ai-poc

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
pip install -r dev-requirements.txt  # For development and testing

# Install in editable mode
pip install -e .
```

### 2. Set Up Environment

```bash
# Set your OpenAI API key
export OPENAI_API_KEY="your-api-key-here"
```

### 3. Run as MCP Server

```bash
# Start MCP server
python src/run.py
# or
python -m mcp_poc.standalone_server
```

### 4. Run Tests (Optional)

```bash
# Run all tests
pytest

# Run with verbose output
pytest -v

# Run specific test file
pytest src/tests/test_server.py
```

## MCP Integration

### Using with MCP-Compatible Clients

This server implements the Model Context Protocol and can be used with any MCP-compatible client like Claude Desktop, etc.

#### Configuration Example

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "mcp-ai-poc": {
      "command": "python",
      "args": ["/path/to/mcp-ai-poc/src/run.py"],
      "env": {
        "OPENAI_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

#### Available MCP Capabilities

**Tools:**
- `generate_code` - Generate code from specifications
- `refactor_code` - Refactor existing code
- `debug_code` - Debug and fix code issues
- `optimize_performance` - Optimize code performance
- `generate_tests` - Generate unit tests

**Prompts:**
- `analyze_code` - Comprehensive code analysis
- `generate_documentation` - Create documentation
- `code_review` - Perform code reviews
- `explain_concept` - Explain programming concepts

**Resources:**
- `coding-guidelines://python` - Python best practices
- `patterns://design-patterns` - Design patterns reference
- `security://best-practices` - Security guidelines
- `performance://optimization-guide` - Performance tips

## Key Features

### ๐Ÿš€ **Comprehensive MCP Server**

This project provides a full-featured MCP server with production-ready capabilities:

### ๐Ÿ”ง **Architecture**

- **Standalone Server**: No external MCP dependencies required
- **JSON-RPC Protocol**: Implements MCP's communication protocol
- **Modular Design**: Separate modules for AI tools, server logic, and utilities
- **Error Handling**: Robust error handling for production use
- **Comprehensive Testing**: Full test suite with pytest for reliability

### ๐Ÿ’ก **Practical AI Tools**

Each tool is designed to solve real development problems:

- **Code Generation**: Handles specifications with context awareness
- **Refactoring**: Focuses on specific goals (performance, readability, etc.)
- **Debugging**: Provides root cause analysis and fixes
- **Optimization**: Identifies bottlenecks with trade-off analysis
- **Testing**: Generates comprehensive test suites

### ๐Ÿ“– **Rich Knowledge Base**

Built-in resources provide instant access to:
- Coding standards and best practices
- Security guidelines
- Performance optimization strategies
- Design pattern references

## Use Cases

### For Individual Developers
- **Code Review**: Get instant feedback on your code
- **Learning**: Understand concepts and best practices
- **Debugging**: Get help with tricky bugs
- **Documentation**: Generate docs automatically

### For Teams
- **Consistency**: Enforce coding standards across the team
- **Knowledge Sharing**: Built-in best practices and patterns
- **Code Quality**: Automated analysis and suggestions
- **Onboarding**: Help new team members learn patterns

### For AI Assistants
- **Enhanced Capabilities**: Provide AI assistants with powerful development tools
- **Context-Aware Help**: Tools understand programming context
- **Structured Responses**: Well-formatted, actionable output
- **Resource Access**: Built-in knowledge base for common questions

## Project Structure

```
src/
โ”œโ”€โ”€ mcp_poc/                    # Main package
โ”‚   โ”œโ”€โ”€ __init__.py            # Package initialization
โ”‚   โ”œโ”€โ”€ app.py                 # Main application (chat + server entry)
โ”‚   โ”œโ”€โ”€ ai_tools.py            # OpenAI client and utilities
โ”‚   โ”œโ”€โ”€ standalone_server.py   # MCP server implementation
โ”‚   โ””โ”€โ”€ mcp_server.py          # Alternative MCP server (requires mcp package)
โ”œโ”€โ”€ tests/                     # Test suite
โ”‚   โ”œโ”€โ”€ test_app.py           # Application tests
โ”‚   โ””โ”€โ”€ test_server.py        # MCP server tests
โ””โ”€โ”€ run.py                     # Main entry point

Configuration & Dependencies:
โ”œโ”€โ”€ requirements.txt           # Runtime dependencies
โ”œโ”€โ”€ dev-requirements.txt       # Development and testing dependencies
โ”œโ”€โ”€ pyproject.toml            # Project configuration and build settings
โ””โ”€โ”€ mcp_config.json           # MCP client configuration example

Documentation:                # Comprehensive docs
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ CONTEXT.md            # Project overview
โ”‚   โ”œโ”€โ”€ ARCHITECTURE.md       # Technical details
โ”‚   โ”œโ”€โ”€ API.md                # API reference
โ”‚   โ”œโ”€โ”€ DEVELOPMENT.md        # Development guide
โ”‚   โ”œโ”€โ”€ EXAMPLES.md           # Usage examples
โ”‚   โ””โ”€โ”€ TROUBLESHOOTING.md    # Common issues
โ””โ”€โ”€ README.md                 # This file
```

## Documentation

### For AI Assistants
- **[๐Ÿ“‹ Project Context](docs/CONTEXT.md)** - High-level overview and AI guidelines
- **[๐Ÿ—๏ธ Architecture](docs/ARCHITECTURE.md)** - Code structure and design patterns
- **[๐Ÿ“š API Reference](docs/API.md)** - Detailed function and class documentation

### For Developers
- **[๐Ÿ› ๏ธ Development Guide](docs/DEVELOPMENT.md)** - Setup, testing, and contribution guidelines
- **[๐Ÿ’ก Examples](docs/EXAMPLES.md)** - Usage examples and integration patterns
- **[๐Ÿ› Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions

## Enhanced Features

### ๐ŸŽฏ **Intelligent Code Analysis**
- Multi-dimensional code quality assessment
- Security vulnerability detection
- Performance bottleneck identification
- Best practice recommendations

### ๐Ÿ”„ **Context-Aware Refactoring**
- Goal-specific refactoring (performance, readability, maintainability)
- Language-specific optimizations
- Preservation of functionality
- Clear change explanations

### ๐Ÿ› **Advanced Debugging**
- Root cause analysis
- Step-by-step problem breakdown
- Fixed code with explanations
- Prevention strategies

### โšก **Performance Optimization**
- Algorithmic improvements
- Memory usage optimization
- Concurrency recommendations
- Trade-off analysis

### ๐Ÿงช **Comprehensive Testing**
- Framework-specific test generation
- Edge case coverage
- Multiple testing strategies
- Production-ready test code

## Next Steps for Further Enhancement

### 1. **Add More Tools**
- **API Documentation Generator**: Auto-generate API docs
- **Database Query Optimizer**: Optimize SQL queries
- **Dependency Analyzer**: Analyze and update dependencies
- **Code Complexity Analyzer**: Measure and reduce complexity

### 2. **Enhanced Resources**
- **Framework-Specific Guides**: React, Django, FastAPI guides
- **Language References**: Support for more programming languages
- **Architecture Patterns**: Microservices, event-driven, etc.
- **DevOps Best Practices**: CI/CD, deployment, monitoring

### 3. **Integration Features**
- **Git Integration**: Analyze commits, generate changelogs
- **IDE Plugins**: VS Code, IntelliJ extensions
- **CI/CD Integration**: Automated code analysis in pipelines
- **Slack/Teams Bots**: Team collaboration features

### 4. **Advanced AI Features**
- **Multi-Model Support**: Support for different AI models
- **Custom Training**: Fine-tune models for specific codebases
- **Code Similarity Detection**: Find similar code patterns
- **Automated Testing**: AI-generated integration tests

This enhanced MCP server transforms your simple chat client into a powerful development assistant that can be integrated into any MCP-compatible environment, providing immediate value to developers and AI assistants alike.