Skip to content

Architectural Blueprint System for IDEs - A modular MCP ecosystem that helps developers and LLMs apply design patterns and write better code.

License

Notifications You must be signed in to change notification settings

CalettiGabriele/Abside

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Abside

Architectural Blueprint System for IDEs

Abside Logo

A modular MCP (Model Context Protocol) ecosystem that helps developers and LLMs apply design patterns and write better code.

License Python MCP


πŸ“‹ Table of Contents

🎯 Overview

Abside is a family of MCP (Model Context Protocol) servers designed to enhance the development experience by providing intelligent architectural guidance, design pattern recommendations, and code quality improvements directly within your IDE.

Key Features

  • πŸ—οΈ Modular Architecture: Each server focuses on a specific aspect of software development
  • πŸ”Œ MCP Protocol: Seamless integration with AI-powered IDEs and tools
  • πŸ“š Pattern Library: Comprehensive collection of design patterns and best practices
  • πŸ€– AI-Native: Built specifically for LLM-assisted development workflows
  • πŸ”§ Extensible: Easy to add new servers and capabilities

πŸ›οΈ Architecture

Abside follows a microservices-inspired architecture where each MCP server is an independent, specialized component:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      IDE / Client                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β”‚ MCP Protocol
                           β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                  β”‚                  β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Pattern       β”‚ β”‚  Architecture β”‚ β”‚   Quality      β”‚
β”‚  Server        β”‚ β”‚  Server       β”‚ β”‚   Server       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                  β”‚                  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    Shared Libraries

πŸ–₯️ MCP Servers

Available Servers

Server Description Status
Pattern Server Design patterns, SOLID principles, architectural patterns 🚧 In Development
Architecture Server System design, component relationships, dependency analysis πŸ“‹ Planned
Quality Server Code quality metrics, refactoring suggestions, best practices πŸ“‹ Planned
Documentation Server Auto-documentation, API specs, inline comments πŸ“‹ Planned

Server Capabilities

Each MCP server provides:

  • Resources: Access to pattern libraries, documentation, and knowledge bases
  • Tools: Executable functions for code analysis and transformation
  • Prompts: Pre-configured prompts for common development tasks

πŸ“¦ Installation

Prerequisites

  • Python 3.8 or higher
  • pip or uv package manager
  • An MCP-compatible IDE or client

Install from Source

# Clone the repository
git clone https://github.com/CalettiGabriele/Abside.git
cd Abside

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

Install with uv

uv pip install -e .

πŸš€ Quick Start

1. Configure Your IDE

Add Abside servers to your MCP client configuration (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "abside-pattern": {
      "command": "python",
      "args": ["-m", "abside.servers.pattern"],
      "cwd": "/path/to/Abside"
    }
  }
}

2. Start Using Abside

Once configured, you can interact with Abside through your AI assistant:

"Show me the Singleton pattern implementation"
"Analyze this code for SOLID principle violations"
"Suggest an architectural pattern for this microservice"

βš™οΈ Configuration

Each server can be configured through environment variables or configuration files:

# .env file
ABSIDE_PATTERN_LIBRARY_PATH=/path/to/patterns
ABSIDE_LOG_LEVEL=INFO
ABSIDE_CACHE_ENABLED=true

See individual server documentation for specific configuration options.

πŸ› οΈ Development

Project Structure

Abside/
β”œβ”€β”€ src/
β”‚   └── abside/
β”‚       β”œβ”€β”€ servers/          # Individual MCP servers
β”‚       β”‚   β”œβ”€β”€ pattern/
β”‚       β”‚   β”œβ”€β”€ architecture/
β”‚       β”‚   └── quality/
β”‚       β”œβ”€β”€ common/           # Shared utilities
β”‚       └── patterns/         # Pattern library
β”œβ”€β”€ tests/                    # Test suite
β”œβ”€β”€ docs/                     # Documentation
β”œβ”€β”€ examples/                 # Usage examples
└── README.md

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=abside --cov-report=html

Adding a New Server

  1. Create a new directory under src/abside/servers/
  2. Implement the MCP server interface
  3. Add server configuration
  4. Write tests
  5. Update documentation

See CONTRIBUTING.md for detailed guidelines.

🀝 Contributing

Contributions are welcome! Please read our Contributing Guidelines before submitting PRs.

Development Setup

# Install development dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

# Run linting
ruff check .

# Format code
ruff format .

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Contact


About

Architectural Blueprint System for IDEs - A modular MCP ecosystem that helps developers and LLMs apply design patterns and write better code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages