glsp-mcp

MCP-GLSP is an AI-native graphical modeling platform that transforms natural language into diagrams. Utilizing the Model Context Protocol (MCP), it ensures compatibility with various AI agents and allows real-time diagram editing. The platform also features AI-powered analysis for process optimization and bottleneck detection, making it a robust tool for workflow management.

GitHub Stars

0

User Rating

Not Rated

Forks

3

Issues

29

Views

7

Favorites

0

README
MCP-GLSP: AI-Native Graphical Modeling Platform

๐Ÿš€ The world's first AI-native implementation of the Graphical Language Server Protocol (GLSP) using the Model Context Protocol (MCP) for universal AI agent compatibility.

๐ŸŒŸ Revolutionary Features
  • ๐Ÿค– Natural Language โ†’ Diagrams: "Create a workflow for order processing" โ†’ Complete BPMN diagram
  • ๐Ÿ“Š AI-Powered Analysis: Intelligent optimization, bottleneck detection, and process improvement
  • ๐Ÿ”ง Universal AI Access: Any MCP-compatible AI agent can create and manipulate diagrams
  • ๐ŸŽจ Interactive Canvas: Real-time diagram editing with drag-and-drop
  • โšก Auto-Discovery: Automatically detects and configures available AI models
๐Ÿ“Š Current Status

Functional MVP with Strong Foundation

โœ… Working Components:

  • Complete MCP server with 7 diagram tools implemented
  • TypeScript frontend with Canvas rendering
  • Ollama integration with model auto-detection
  • Basic diagram creation and manipulation
  • Comprehensive documentation and startup instructions

โš ๏ธ Ready for Use:

  • Creates sample diagrams with basic node types
  • AI generates intelligent diagram planning (text-based)
  • Manual editing supports position updates and basic interactions
  • All three services integrate smoothly

๐Ÿ”ง Areas for Enhancement:

  • AI โ†’ Visual: Currently generates text plans, full visual generation being refined
  • Canvas Rendering: Basic shapes working, advanced BPMN/UML symbols in development
  • Edge Creation: Tool implemented, UI workflow being polished
  • File Persistence: Memory-based storage, file system integration planned
  • Testing: Core functionality validated, comprehensive test suite in progress

Architecture Validation: This implementation successfully demonstrates that the MCP-GLSP concept works. The foundation is solid and the system is actively usable for diagram creation and AI experimentation.

๐Ÿ—๏ธ Architecture

Revolutionary Protocol Mapping:

  • MCP Resources โ†’ Diagram model state (read-only views)
  • MCP Tools โ†’ Diagram operations (create, modify, validate)
  • MCP Prompts โ†’ AI modeling workflows (guided templates)

Components:

  • Backend: Rust HTTP server implementing MCP over JSON-RPC
  • Frontend: TypeScript web client with Canvas rendering + AI integration
  • AI Agent: Ollama LLM integration with intelligent diagram generation
๐Ÿš€ Quick Start
Prerequisites
  1. Rust (latest stable)

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  2. Node.js (v18+) and npm

    # Download from https://nodejs.org/ or use your package manager
    node --version  # Should be v18+
    npm --version
    
  3. Ollama (for AI features)

    # Install from https://ollama.ai/ then:
    ollama pull llama3.2  # or llama2, mistral, etc.
    
๐Ÿ”ฅ Start the Complete System

Terminal 1: Start MCP-GLSP Server

cd glsp-mcp-server
cargo run --bin server

Expected: "Server listening on http://127.0.0.1:3000"

Terminal 2: Start Frontend + AI Agent

cd glsp-web-client
npm install  # First time only
npm run dev

Expected: "Local: http://localhost:5173/"

Terminal 3: Ensure Ollama is Running

# Check if running:
curl http://127.0.0.1:11434/api/tags

# If not running:
ollama serve
๐ŸŽฏ Test the AI Workflow
  1. Open: http://localhost:5173
  2. Check Status: AI panel should show ๐ŸŸข for both Ollama and MCP connections
  3. Select Model: Dropdown automatically populated with your available models
  4. Enter Description:
    "Create a BPMN workflow for customer support ticket resolution with escalation paths"
    
  5. Click "Create Diagram": Watch AI โ†’ MCP โ†’ Canvas magic! โœจ
๐ŸŽจ Usage Examples
Natural Language Diagram Creation
"Create a workflow for e-commerce order fulfillment with payment validation, inventory check, and shipping"

โ†’ Complete BPMN diagram with start/end events, tasks, gateways, and proper flow

AI-Powered Analysis
  • Analyze Current Diagram: Get intelligent insights about process efficiency
  • Optimize Layout: AI applies best practices for diagram organization
  • Add Error Handling: Automatically insert error boundaries and recovery paths
Manual Editing
  • Drag & Drop: Interactive canvas with real-time editing
  • Tool Palette: Create nodes, edges, apply layouts manually
  • Export: SVG, JSON, or other formats
๐Ÿ”ง Development
Backend Development
cd glsp-mcp-server

# Run server
cargo run --bin server

# Run tests
cargo test

# Build release
cargo build --release
Frontend Development
cd glsp-web-client

# Development server
npm run dev

# Build for production
npm run build

# Type checking
npx tsc

# Linting
npm run lint
API Testing
# Test MCP server health
curl http://127.0.0.1:3000/health

# Test diagram creation
curl -X POST http://127.0.0.1:3000/mcp/rpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "create_diagram",
      "arguments": {"diagramType": "workflow", "name": "Test"}
    },
    "id": 1
  }'
๐Ÿ“š Documentation
๐ŸŒ MCP Protocol Integration

This implementation provides:

Tools (7 available)
  • create_diagram, create_node, create_edge, delete_element
  • update_element, apply_layout, export_diagram
Resources (Dynamic)
  • diagram://model/{id} - Complete diagram state
  • diagram://validation/{id} - Validation results
  • diagram://metadata/{id} - Statistics and info
  • diagram://list - All available diagrams
Prompts (6 AI workflows)
  • generate_workflow, optimize_layout, add_error_handling
  • analyze_diagram, create_subprocess, convert_diagram
๐Ÿš€ What Makes This Revolutionary
  1. First AI-Native GLSP: Traditional GLSP requires manual interaction - this enables pure AI-driven modeling
  2. Universal AI Compatibility: Any MCP-compatible AI can connect (Claude Desktop, custom agents, etc.)
  3. Intelligent Automation: AI understands diagram semantics, not just visual elements
  4. Self-Configuring: Auto-discovers models, handles errors gracefully
  5. Proven Architecture: Demonstrates successful MCP-GLSP integration with real working code
๐Ÿค Contributing
  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request
๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐Ÿ™ Acknowledgments
  • Eclipse GLSP: Original Graphical Language Server Protocol inspiration
  • Anthropic MCP: Model Context Protocol specification
  • Ollama: Local LLM runtime
  • Rust & TypeScript: Amazing development ecosystems

๐ŸŽฏ Ready to revolutionize diagram creation with AI? Start the system and create your first AI-generated diagram in under 2 minutes! ๐Ÿš€