Skip to main content
Glama

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

Related MCP server: Talk to Figma MCP

πŸš€ 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:

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:

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)

  • Project scaffolding with modern Python tooling

  • Basic FastAPI + FastMCP integration

  • Docker containerization

  • TDD workflow establishment

  • Redis job queue integration

  • 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 for details.

πŸ™ Acknowledgments

Built with inspiration from:

  • FastMCP - The foundation for MCP server development

  • Model Context Protocol - 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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to create, modify, and manage Figma designs through natural language commands via a specialized MCP server and plugin bridge. It supports a wide range of operations including element creation, property modification, component management, and accessibility checks.
    13
    105
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to directly control Figma Desktop via MCP, supporting UI creation, editing, prototyping, and variable management with over 60 tools.
    65
    725
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to create and manage consistent multi-screen UI designs through a token-efficient MCP interface, with design system tokens, components, flows, and visual review.
    35
    AGPL 3.0