System Designer MCP Server
A Model Context Protocol (MCP) server that provides AI agents with tools to create, validate, and export UML system models and System Runtime bundles. Built with a tool-based approach that empowers LLMs to generate complete, executable System Runtime applications.
๐ Documentation
API Reference - Detailed API documentation for all MCP tools
System Runtime Integration Guide - Complete guide to System Runtime bundle creation
Cloudflare Deployment Guide - Deploy to Cloudflare Workers as remote MCP server
CLI Guide - Command-line interface usage and examples
Integration Guide - Platform integration instructions
Examples - Sample models and use cases
Contributing Guide - How to contribute to the project
Code of Conduct - Community guidelines and behavior expectations
Security Policy - Security vulnerability reporting and policies
Features
Core MSON Tools
create_mson_model: Create and validate MSON models from structured data
validate_mson_model: Validate MSON model consistency and completeness
generate_uml_diagram: Generate UML diagrams in PlantUML and Mermaid formats
export_to_system_designer: Export models to System Designer application format
System Runtime Tools
create_system_runtime_bundle: Convert MSON models to complete System Runtime bundles
validate_system_runtime_bundle: Validate System Runtime bundles for correctness and compatibility
Key Capabilities
โ Tool-Based Architecture: LLMs handle understanding, server handles validation/formatting
โ Type Safety: Comprehensive Zod schema validation for all inputs and outputs
โ System Runtime Integration: Full support for System Runtime bundle generation and validation
โ Bidirectional Relationships: Automatic bidirectional relationship creation
โ Multiple Inheritance: Support for classes implementing multiple interfaces
โ Multiple UML Formats: Support for both PlantUML and Mermaid diagram generation
โ System Designer Integration: Direct export to System Designer macOS application
โ Comprehensive Testing: 46 tests with 302 expect() calls covering all functionality
โ Critical Bug Fixes: Resolved SDMCP-001 through SDMCP-005 (property preservation, ID management, validation consistency)
โ Streamable HTTP Transport: Modern MCP protocol (2025-03-26 specification)
โ Stateless Operation: Each request creates new server instance
โ Single Endpoint: Single
/mcpendpoint handles all operationsโ Workers Optimized: Stateless design perfect for Cloudflare Workers
Installation
Prerequisites
Bun JavaScript runtime
Node.js compatibility through Bun
Setup
Quick Start
Deployment Options
The System Designer MCP Server can run in two modes:
Local Mode (stdio transport)
Start the local server:
Remote Mode (Cloudflare Workers)
Deploy as a remote MCP server accessible over HTTP with SSE transport:
Your MCP server will be available at:
Note: Replace <your-subdomain> with your actual Cloudflare Workers subdomain.
Key Features:
โ SSE (Server-Sent Events) transport for remote access
โ No authentication required (configurable)
โ All 6 MCP tools available
โ Returns JSON data directly (no file system)
โ Automatic session management
โ CORS support for web clients
See
Usage Examples
Example tool usage:
CLI Usage
The server includes a CLI tool for testing and model management:
See the CLI Guide for detailed usage instructions.
Example MSON Model Structure
Tool Reference
For detailed API documentation, see the API Reference.
Available Tools
create_mson_model - Create and validate MSON models from structured data with automatic ID generation and relationship mapping
validate_mson_model - Validate MSON model consistency and completeness with detailed error messages and relationship validation
generate_uml_diagram - Generate UML diagrams in PlantUML and Mermaid formats
export_to_system_designer - Export models to System Designer application format
create_system_runtime_bundle - Convert MSON models to complete System Runtime bundles with schemas, models, types, behaviors, and components
validate_system_runtime_bundle - Validate System Runtime bundles for correctness and compatibility
Platform Integration
The server can be integrated with various platforms:
Claude Desktop - Native MCP integration
VS Code - Extension development support
Web Applications - React/Node.js integration
CLI Tools - Command-line interface
See the Integration Guide for detailed setup instructions.
Architecture
Modular Structure
The codebase follows SOLID principles with clear separation of concerns:
src/types.ts- TypeScript type definitions for MSON modelssrc/schemas.ts- Zod validation schemas for all data structuressrc/tools.ts- MCP tool registration using modern SDK patternssrc/index.ts- Local MCP server with stdio transport (Node.js/Bun)src/worker.ts- Remote MCP server with SSE transport (Cloudflare Workers)src/cli.ts- Command-line interface for testing and integrationsrc/integration/- System Designer app integrationsrc/transformers/- MSON to System Runtime transformation logicsrc/validators/- System Runtime bundle validation logic
Modern MCP SDK Patterns
The server uses the modern MCP TypeScript SDK (v1.18.2) patterns:
server.registerTool()- Modern tool registration API (not legacyserver.tool())Zod Input Schemas - Type-safe input validation with Zod schema shapes
Title Metadata - Each tool includes a
titlefield for better UXType Inference - Handler methods use Zod-inferred types for parameters
Tool-Based Approach
This server uses a tool-based architecture that:
Empowers LLMs: The LLM handles understanding requirements and creating structured data
Validates Input: Server validates structured input using comprehensive Zod schemas
Processes Efficiently: Simple, fast processing without complex parsing logic
Exports Flexibly: Multiple output formats for different use cases
Benefits Over Parser-Based Approaches
Simplicity: No complex NLP parsing to maintain
Flexibility: Works with any domain the LLM understands
Reliability: Fewer moving parts, less error-prone
Performance: Faster validation and processing
Extensibility: Easy to add new tools and features
Development
Running Tests
Building
Code Structure
Integration with System Designer
The server exports models in a format compatible with the System Designer macOS application:
File Export: Models are saved as JSON files
Automatic Integration: Files can be imported directly into System Designer
Format Compatibility: Uses MSON (Metamodel JavaScript Object Notation) format
Recent Changes & Improvements
Latest Updates (v1.0.0)
๐ฏ Critical Bug Fixes (SDMCP-001-005): Resolved property preservation, ID mapping, validation consistency, and bundle compatibility issues
๐ง Enhanced Error Messages: Added detailed, actionable error messages with specific fix suggestions and examples
๐ก๏ธ Relationship Validation: Proactive validation prevents orphaned references with clear guidance
๐ Flexible Input Handling: Support for both 'properties' and 'attributes' in entity definitions
๐ Comprehensive Bug Reports: Detailed documentation of all issues and resolutions in
docs/BUG_REPORTS.md๐ System Runtime Tools: Added complete System Runtime bundle creation and validation functionality
Previous Features
๐๏ธ Modular Architecture: Complete refactoring for SOLID principles compliance
๐งช Enhanced Testing: 46 tests with 302 assertions covering all functionality including edge cases
๐ Cloudflare Workers Support: Remote MCP server deployment with modern JSON-RPC transport
๐ Modern MCP SDK: Updated to latest MCP TypeScript SDK (v1.18.2) patterns
๐ Documentation: Complete API reference, integration guides, and deployment documentation
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
Setting up the development environment
Running tests and code quality checks
Code style guidelines
Submitting pull requests
Reporting issues
License
MIT License - see LICENSE file for details.
Acknowledgments
Model Context Protocol (MCP) for the tool integration framework
System Designer for the target macOS application
Zod for type-safe validation
Bun for the fast JavaScript runtime