glsp-mcp
MCP-GLSPは、AIネイティブなグラフィカルモデリングプラットフォームであり、自然言語からダイアグラムを生成する機能を持っています。MCPを利用して、さまざまなAIエージェントと互換性があり、リアルタイムでのダイアグラム編集が可能です。プロセスの最適化やボトルネックの検出など、AIによる分析機能も備えています。
GitHubスター
0
ユーザー評価
未評価
フォーク
3
イシュー
29
閲覧数
6
お気に入り
0
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
Rust (latest stable)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Node.js (v18+) and npm
# Download from https://nodejs.org/ or use your package manager node --version # Should be v18+ npm --version
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
- Open: http://localhost:5173
- Check Status: AI panel should show 🟢 for both Ollama and MCP connections
- Select Model: Dropdown automatically populated with your available models
- Enter Description:
"Create a BPMN workflow for customer support ticket resolution with escalation paths"
- 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
- API Reference: Complete MCP protocol documentation
- AI Integration Examples: Python demonstration scripts
- Development Notes: Implementation details and architecture decisions
🌐 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 statediagram://validation/{id}
- Validation resultsdiagram://metadata/{id}
- Statistics and infodiagram://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
- First AI-Native GLSP: Traditional GLSP requires manual interaction - this enables pure AI-driven modeling
- Universal AI Compatibility: Any MCP-compatible AI can connect (Claude Desktop, custom agents, etc.)
- Intelligent Automation: AI understands diagram semantics, not just visual elements
- Self-Configuring: Auto-discovers models, handles errors gracefully
- Proven Architecture: Demonstrates successful MCP-GLSP integration with real working code
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - 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! 🚀