mcp-design-platform
by revanshine
README.md
# On-Premise MCP Design Platform
A **professional-grade, containerized Model Context Protocol (MCP) server platform** designed for visual design tool workflows. This project provides a composable, scalable architecture for integrating multiple specialized tools into a unified AI-accessible interface.
Built for developers who want to "stay frosty" and implement cutting-edge technology patterns while maintaining production-quality standards.
## π― Vision
Transform complex, multi-tool visual design workflows into AI-accessible services that can be operated remotely through chat interfaces. This platform serves as a proof of concept for professional MCP server architecture that can scale from hobby projects to enterprise solutions.
### Core Philosophy
- **Test-Driven Development**: Every feature is built with tests first, ensuring reliability and maintainability
- **Surgical Precision**: Focused, modular components that do one thing exceptionally well
- **Container-First**: Built for consistent deployment across development, staging, and production
- **AI-Native**: Designed specifically for AI agent interaction patterns
## π Features
### Current Capabilities
- **Composable MCP Architecture**: Multiple specialized FastMCP servers mounted under a unified FastAPI application
- **Asynchronous Job Processing**: Built-in support for long-running tasks with job queues and progress tracking
- **Container-First Deployment**: Complete Docker containerization with development and production configurations
- **Professional Testing**: Comprehensive test suite with near 100% coverage using pytest and TDD patterns
- **Modern Python Tooling**: Built with `uv`, `pyproject.toml`, and contemporary Python best practices
- **Plugin Architecture**: Tool servers discovered and mounted dynamically
### Planned Features
- **Visual Design Tool Integration**: Seamless interaction with design software APIs
- **Multi-Environment Support**: Development, staging, and production environment configurations
- **Monitoring & Observability**: Built-in logging, metrics, and health checks
- **Authentication & Authorization**: Secure access control for production deployments
## ποΈ Architecture
```
βββββββββββββββββββββββββββββββββββββββββββ
β LM Studio Client β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β MCP Protocol
βββββββββββββββββββΌββββββββββββββββββββββββ
β FastAPI Main Application β
β βββββββββββββββββββββββββββββββββββ β
β β Image Processing Tools β β
β β (FastMCP Server) β β
β βββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
β β File System Tools β β
β β (FastMCP Server) β β
β βββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββ β
β β Design Workflow Tools β β
β β (FastMCP Server) β β
β βββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββββββββ
β Job Queue System β
β (Redis/RabbitMQ + Workers) β
βββββββββββββββββββββββββββββββββββββββββββ
```
## π Requirements
### Development Environment
- **Python**: 3.11+ (managed with `uv`)
- **Docker**: Latest stable version
- **Container Runtime**: Docker Desktop or compatible
### Target Deployment
- **Windows PC**: NVIDIA GPU-enabled workstation for design tools
- **macOS Client**: i.e. M4 Max with 48GB RAM running LM Studio
## π Quick Start
### 1. Clone and Setup
```
# Clone the repository
git clone https://github.com/yourusername/mcp-design-platform.git
cd mcp-design-platform
# Create and activate virtual environment with uv
uv venv
source .venv/bin/activate \# On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -e .
```
### 2. Development with Docker
```
# Build the development image
docker build -f Dockerfile.dev -t mcp-platform:dev .
# Start the Redis service with Docker Compose before running the server
docker-compose -f docker-compose.dev.yml up -d
# The MCP server will be available at http://localhost:8080
```
### 3. Configure LM Studio
Add to your `mcp.json`:
```
{
"mcpServers": {
"design-platform": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"-p",
"8080:8080",
"mcp-platform:latest"
]
}
}
}
```
## π Note Management
You can retrieve note contents programmatically using `read_note`:
```python
from mcp_platform import server
server.notes['welcome'] = 'hello world'
content = server.read_note('welcome')
```
`read_note` raises `ValueError` if the note does not exist.
The server also exposes a `read-note` tool to fetch a note via the MCP protocol:
```python
await server.handle_call_tool('read-note', {'name': 'welcome'})
```
## π§ͺ Testing
This project follows **strict Test-Driven Development** practices:
```
# Run all tests with coverage
pytest --cov=src --cov-report=html --cov-report=term
# Run tests in watch mode during development
pytest-watch
# Run only unit tests
pytest tests/unit/
# Run integration tests
pytest tests/integration/
```
**Coverage Target**: >95% line coverage, >90% branch coverage
## π Project Structure
```
mcp-design-platform/
βββ src/
β βββ mcp_platform/
β β βββ main.py \# FastAPI application entry point
β β βββ servers/ \# Individual MCP server modules
β β β βββ image_tools.py
β β β βββ file_tools.py
β β β βββ workflow_tools.py
β β βββ jobs/ \# Asynchronous job processing
β β β βββ queue.py
β β β βββ workers.py
β β β βββ tasks.py
β β βββ config/ \# Configuration management
β β βββ settings.py
β β βββ environments.py
βββ tests/
β βββ unit/ \# Fast, isolated tests
β βββ integration/ \# Component interaction tests
β βββ fixtures/ \# Test data and helpers
βββ docker/
β βββ Dockerfile \# Production image
β βββ Dockerfile.dev \# Development image
β βββ docker-compose.yml \# Multi-service orchestration
βββ docs/ \# Documentation
βββ AGENTS.md \# AI development instructions
βββ README.md \# This file
βββ pyproject.toml \# Modern Python project configuration
```
## πΊοΈ Roadmap
### Phase 1: Foundation (Completed)
- [x] Project scaffolding with modern Python tooling
- [x] Basic FastAPI + FastMCP integration
- [x] Docker containerization
- [x] TDD workflow establishment
- [x] Redis job queue integration
- [x] Basic tool implementations
### Phase 2: Core Platform (In Progress)
- [ ] Complete asynchronous job processing system
- [ ] Progress tracking and status endpoints
- [ ] Comprehensive error handling and logging
- [ ] Production-ready Docker configurations
- [ ] CI/CD pipeline setup
### Phase 3: Design Tool Integration (Following 6-8 weeks)
- [ ] Visual design software API integrations
- [ ] File system operation tools
- [ ] Image processing and manipulation tools
- [ ] Workflow automation capabilities
- [ ] Cross-platform compatibility testing
### Phase 4: Production Features (Future)
- [ ] Authentication and authorization
- [ ] Multi-tenant support
- [ ] Monitoring and observability
- [ ] Performance optimization
- [ ] Enterprise deployment guides
## π€ Contributing
This project is designed to be developed collaboratively with AI agents using the patterns described in `AGENTS.md`.
### Development Workflow
1. **Issues First**: All work begins with a GitHub issue describing the requirement
2. **Test-Driven**: Write failing tests before implementing features
3. **Small Increments**: Keep changes focused and atomic
4. **Container Testing**: All tests must pass in containerized environments
### Getting Started
1. Review `AGENTS.md` for AI development guidelines
2. Check open issues for current priorities
3. Follow the TDD cycle: Red β Green β Refactor
4. Submit pull requests with comprehensive tests
## π License
MIT License - see [LICENSE](LICENSE) for details.
## π Acknowledgments
Built with inspiration from:
- [FastMCP](https://github.com/fastmcp/fastmcp) - The foundation for MCP server development
- [Model Context Protocol](https://modelcontextprotocol.io/) - The protocol specification
- Professional software development practices from the Python and containerization communities
---
*This project represents a commitment to professional-grade software development practices while exploring cutting-edge AI integration patterns. It's designed to be both a learning vehicle and a foundation for production systems.*This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues