ArchiMate MCP Server

ArchiMate MCP Server

Enables generation of PlantUML ArchiMate enterprise architecture diagrams with full ArchiMate 3.2 specification support across all 7 layers, including automatic validation, multi-format export (PNG/SVG/XML), and instant diagram viewing through a built-in HTTP server.

Category
访问服务器

README

ArchiMate MCP Server

Python 3.11+ License: MIT uv FastMCP ArchiMate PlantUML MCP Protocol Tests Coverage Production Ready Claude Code Claude Desktop

A specialized MCP (Model Context Protocol) server for generating PlantUML ArchiMate diagrams with comprehensive enterprise architecture modeling support.

✨ Claude Code & Claude Desktop Compatible: Fully tested with both Claude Code CLI and Claude Desktop. Automatic parameter handling ensures seamless operation across both platforms (v1.0.2+).

🎯 Live Architecture Demo: This repository includes a complete architectural blueprint of the ArchiMate MCP Server itself, spanning all 7 ArchiMate layers with 8 coordinated views. See the generated diagrams below for a real-world demonstration of the tool's capabilities.

🏗️ Overview

ArchiMate MCP Server fills a crucial gap in the MCP ecosystem by providing dedicated support for ArchiMate enterprise architecture modeling. While existing MCP servers offer general UML diagram generation, this server focuses specifically on ArchiMate 3.2 specification compliance with full support for all layers, elements, and relationships.

Key Features

  • Complete ArchiMate 3.2 Support: All 55+ elements across 100% of 7 layers (Motivation, Strategy, Business, Application, Technology, Physical, Implementation)
  • Universal PlantUML Generation: All layers now supported with official PlantUML ArchiMate sprites and syntax
  • Intelligent Input Normalization: Case-insensitive inputs with automatic correction and helpful error messages
  • Built-in Validation: Comprehensive 4-step validation pipeline with real-time error detection
  • macOS-Optimized PNG/SVG Generation: Headless mode prevents cursor interference + live HTTP server for instant viewing (uses up-to-date PlantUML 1.2025.4)
  • 2 Core MCP Tools: Focused diagram creation and element normalization testing
  • Real-time Error Analysis: Actionable troubleshooting guidance with pattern recognition and fix suggestions
  • FastMCP 2.8+ Integration: Modern MCP protocol implementation with comprehensive schema discovery
  • Production-Ready Testing: 182 passing tests with 70% coverage and comprehensive test suites across all layers
  • Multi-Language Support: Automatic language detection (Slovak/English) with customizable relationship labels
  • Advanced Layout Control: Configurable direction, spacing, grouping with environment variable defaults

🚀 Quick Start

Installation

# Clone the repository
git clone https://github.com/entira/archi-mcp.git
cd archi-mcp

# Install dependencies with uv
uv sync

# Download PlantUML JAR (required for diagram generation)
curl -L https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar -o plantuml.jar

Upgrading to Latest Version

# Navigate to your archi-mcp directory
cd archi-mcp

# Fetch latest changes
git fetch origin

# Upgrade to specific version (e.g., v1.0.2)
git checkout v1.0.2

# Or upgrade to latest main branch
git checkout main
git pull origin main

# Update dependencies
uv sync

# Download latest PlantUML JAR if needed
curl -L https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar -o plantuml.jar

Claude Desktop Configuration

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuration for local installation:

{
  "mcpServers": {
    "archi-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/your/archi-mcp", "python", "-m", "archi_mcp.server"],
      "cwd": "/path/to/your/archi-mcp",
      "env": {
        "ARCHI_MCP_LOG_LEVEL": "INFO",
        "ARCHI_MCP_STRICT_VALIDATION": "true",
        "ARCHI_MCP_LANGUAGE": "auto",
        "ARCHI_MCP_DEFAULT_DIRECTION": "top-bottom",
        "ARCHI_MCP_DEFAULT_SPACING": "comfortable",
        "ARCHI_MCP_DEFAULT_TITLE": "true",
        "ARCHI_MCP_DEFAULT_LEGEND": "false",
        "ARCHI_MCP_DEFAULT_GROUP_BY_LAYER": "false",
        "ARCHI_MCP_DEFAULT_SHOW_RELATIONSHIP_LABELS": "true",
        "ARCHI_MCP_LOCK_DIRECTION": "false",
        "ARCHI_MCP_LOCK_SPACING": "false",
        "ARCHI_MCP_LOCK_TITLE": "false",
        "ARCHI_MCP_LOCK_LEGEND": "false",
        "ARCHI_MCP_LOCK_GROUP_BY_LAYER": "false",
        "ARCHI_MCP_LOCK_SHOW_RELATIONSHIP_LABELS": "false"
      }
    }
  }
}

Environment Variables

Core Configuration:

  • ARCHI_MCP_LOG_LEVEL: Logging level (DEBUG, INFO, WARNING, ERROR). Default: INFO
  • ARCHI_MCP_STRICT_VALIDATION: Enable strict ArchiMate validation (true/false). Default: true

Language Settings:

  • ARCHI_MCP_LANGUAGE: Language for relationship labels:
    • auto: Auto-detect from content (Slovak/English)
    • en: Force English labels
    • sk: Force Slovak labels
    • Default: auto

Layout Defaults:

  • ARCHI_MCP_DEFAULT_DIRECTION: Default layout direction:

    • top-bottom: Vertical top-to-bottom flow
    • left-right: Horizontal left-to-right flow
    • vertical: Same as top-bottom
    • horizontal: Same as left-right
    • Default: top-bottom
  • ARCHI_MCP_DEFAULT_SPACING: Default element spacing:

    • compact: Minimal spacing between elements
    • balanced: Moderate spacing for readability
    • comfortable: Maximum spacing for clarity
    • Default: comfortable
  • ARCHI_MCP_DEFAULT_TITLE: Show diagram title (true/false). Default: true

  • ARCHI_MCP_DEFAULT_LEGEND: Show legend with element types (true/false). Default: false

  • ARCHI_MCP_DEFAULT_GROUP_BY_LAYER: Group elements by ArchiMate layer (true/false). Default: false

  • ARCHI_MCP_DEFAULT_SHOW_RELATIONSHIP_LABELS: Show enhanced relationship labels (true/false). Default: true

Parameter Locking (Prevent Client Override):

  • ARCHI_MCP_LOCK_DIRECTION: Lock direction parameter (true/false). Default: false
  • ARCHI_MCP_LOCK_SPACING: Lock spacing parameter (true/false). Default: false
  • ARCHI_MCP_LOCK_TITLE: Lock title parameter (true/false). Default: false
  • ARCHI_MCP_LOCK_LEGEND: Lock legend parameter (true/false). Default: false
  • ARCHI_MCP_LOCK_GROUP_BY_LAYER: Lock grouping parameter (true/false). Default: false
  • ARCHI_MCP_LOCK_SHOW_RELATIONSHIP_LABELS: Lock relationship labels parameter (true/false). Default: false

XML Export (Experimental):

  • ARCHI_MCP_ENABLE_UNIVERSAL_FIX: Enable universal relationship fixing for Archi compatibility (true/false). Default: true
  • ARCHI_MCP_ENABLE_VALIDATION: Enable XML validation logging (true/false). Default: false
  • ARCHI_MCP_ENABLE_AUTO_FIX: Enable automatic relationship correction (true/false). Default: false

HTTP Server:

  • ARCHI_MCP_HTTP_PORT: Port for diagram viewing server (number). Default: 8080
  • ARCHI_MCP_HTTP_HOST: Host for diagram server (localhost, 0.0.0.0). Default: localhost

Basic Usage

Once configured, you can use ArchiMate MCP Server through Claude Desktop:

Diagram Generation:

Create a simple service-oriented diagram with:
- A customer facing business service
- An application service implementing it
- A supporting technology node
Show how the layers interact.

The server automatically:

  • Generates all diagram formats (PlantUML, PNG, SVG, XML)
  • Starts an HTTP server for instant viewing
  • Returns direct URLs for immediate access (e.g., http://localhost:8080/diagram.png)
  • Saves all outputs to timestamped directories in exports/

🏛️ Complete Architecture Demonstration

This repository showcases comprehensive architectural documentation of the ArchiMate MCP Server itself, spanning all 7 ArchiMate layers with production-ready diagrams. Each layer is fully supported with complete PlantUML generation:

🎯 Complete Layered Architecture Overview

ArchiMate MCP Server - Enhanced Layered Architecture Comprehensive view showing key elements from all 7 ArchiMate layers with cross-layer relationships

🎯 Motivation Layer

Motivation View Stakeholders, drivers, goals, and requirements driving the ArchiMate MCP Server implementation

  • Stakeholders: Enterprise Architect, Software Developer, Claude Desktop User
  • Drivers: Architecture Complexity, ArchiMate Compliance, Modeling Automation, AI Integration Demand
  • Goals: Enable ArchiMate Modeling, Claude Integration, High Quality Diagrams, Comprehensive Validation
  • Requirements: MCP Protocol Support, ArchiMate 3.2 Support, PlantUML Generation, Real-time Error Analysis

📋 Strategy Layer

Strategy View Strategic resources, capabilities, and courses of action for the ArchiMate MCP Server

  • Resources: ArchiMate IP Knowledge, Development Team, MCP Ecosystem, Testing Infrastructure
  • Capabilities: Enterprise Architecture Modeling, Automated Diagram Generation, MCP Protocol Integration, Quality Assurance
  • Courses of Action: Open Source Strategy, MCP-First Strategy, Standards Compliance Strategy, Continuous Testing Strategy

🏢 Business Layer

Business View Business actors, processes, services, and objects for architecture modeling

  • Business Actor: Enterprise Architecture Role (responsible for creating and maintaining enterprise architecture models)
  • Business Processes: Architecture Modeling Process, Model Validation Process, Error Analysis Process
  • Business Services: ArchiMate Diagram Service, Architecture Analysis Service, Validation Service
  • Business Objects: Architecture Model, Diagram Specification, Validation Report

💻 Application Layer

Application Structure Application components, services, and data objects implementing the MCP server

  • Components: MCP Server Main, ArchiMate Engine, PlantUML Generator, Validation Engine, HTTP Server
  • Services: Diagram Generation Service, Architecture Analysis Service, Element Normalization Service, Error Analysis Service
  • Data Objects: Element Model, Relationship Model, PlantUML Code, Diagram Metadata

⚙️ Technology Layer

Technology Layer Technology services, system software, nodes, and artifacts supporting the MCP server

  • Technology Services: MCP Protocol Service, PlantUML Service, Python Runtime Service, HTTP Service
  • System Software: Python Interpreter (3.11+), Java Runtime, Operating System
  • Nodes: Development Environment, Production Environment, Claude Desktop Environment
  • Artifacts: ArchiMate MCP Server Package, PlantUML JAR (v1.2025.4), Configuration Files

🏗️ Physical Layer

Physical Layer Physical equipment, facilities, and distribution networks supporting the ArchiMate MCP Server

  • Equipment: Developer Workstation, Cloud Server, User Device
  • Facilities: Development Office, Cloud Datacenter, User Location
  • Distribution Networks: Development Network, Internet Distribution, Local Network

🚀 Implementation & Migration Layer

Implementation & Migration Work packages, deliverables, plateaus, and implementation events for the ArchiMate MCP Server rollout

  • Work Packages: Core MCP Implementation, Advanced Features Package, Integration Package, Production Release Package
  • Deliverables: MCP Protocol Implementation, ArchiMate Engine, Validation Framework, HTTP Server Integration, Test Suite
  • Plateaus: Development Plateau, Feature Complete Plateau, Integration Plateau, Production Plateau
  • Events: Project Start, Core Milestone, Feature Milestone, Release Event

💡 Complete ArchiMate 3.2 Coverage: All 7 layers successfully generated using the ArchiMate MCP Server itself, demonstrating 100% layer support and production readiness.

🏛️ ArchiMate Support

Supported Layers

  • Business Layer: Actors, roles, processes, services, objects
  • Application Layer: Components, services, interfaces, data objects
  • Technology Layer: Nodes, devices, software, networks, artifacts
  • Physical Layer: Equipment, facilities, distribution networks, materials
  • Motivation Layer: Stakeholders, drivers, goals, requirements, principles
  • Strategy Layer: Resources, capabilities, courses of action, value streams
  • Implementation Layer: Work packages, deliverables, events, plateaus, gaps

Supported Relationships

All 12 ArchiMate relationship types with directional variants:

  • Access, Aggregation, Assignment, Association
  • Composition, Flow, Influence, Realization
  • Serving, Specialization, Triggering

Junction Support

  • And/Or junctions for complex relationship modeling
  • Grouping and nesting capabilities

🛠️ MCP Tools

The server exposes 2 core tools via FastMCP:

1. create_archimate_diagram

Generate complete ArchiMate diagrams from structured input with:

  • Support for all 55+ element types across 7 layers
  • All 12 ArchiMate relationship types with directional support
  • Intelligent input normalization and validation
  • Multi-format export: PlantUML (.puml), PNG, SVG, ArchiMate XML (.archimate)
  • Built-in HTTP server with direct viewing URLs
  • Comprehensive layout configuration options
  • Multi-language support (auto-detects Slovak/English)

2. test_element_normalization

Test element type normalization across all ArchiMate layers:

  • Validates case-insensitive input handling
  • Tests common element type mappings
  • Verifies layer and relationship normalization
  • Essential for troubleshooting input issues

ArchiMate Viewpoints

  • Layered: Cross-layer relationships and dependencies
  • Service Realization: How services are realized by components
  • Application Cooperation: Application component interactions
  • Technology Usage: Infrastructure and technology stack
  • Motivation: Stakeholders, drivers, goals, and requirements

Architecture Patterns

  • Three-Tier Architecture: Presentation, business logic, data layers
  • Microservices: Service-oriented architecture with API gateway
  • Event-Driven: Event producers, consumers, and message flows
  • Layered Service: Service-oriented layered architecture
  • CQRS: Command Query Responsibility Segregation pattern

🧪 Development

🔧 For complete development setup, testing, and contribution guidelines, see CLAUDE.md

Quick Start for Developers:

git clone https://github.com/entira/archi-mcp.git
cd archi-mcp
uv sync --dev
uv run pytest

Project Structure

archi-mcp/
├── src/archi_mcp/           # Library and server code
│   ├── archimate/           # Modeling components
│   ├── i18n/                # Internationalization
│   ├── xml_export/          # XML export functionality
│   ├── utils/               # Logging and exceptions
│   └── server.py            # FastMCP server entry point
├── tests/                   # Test suites (194 tests, 66% coverage)
├── docs/                    # Documentation and diagrams

💡 Production Validation: All architecture diagrams were generated using the ArchiMate MCP Server itself, proving 100% ArchiMate 3.2 layer support and production readiness.

🤝 Contributing

🔧 For complete development guidelines, code style, and contribution workflow, see CLAUDE.md

Contributions are welcome! The project follows standard open source practices with comprehensive testing and documentation requirements.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

🗺️ Roadmap

  • [x] Export to ArchiMate Open Exchange Format (Experimental)
  • PlantUML is the primary output - fully tested and production-ready
  • XML export is experimental - may not be 100% ArchiMate compliant
  • Use for exploration - XML export is bonus functionality for those who need it
  • [ ] Enhanced XML validation and auto-fix capabilities
  • [ ] Additional language support (beyond Slovak/English)
  • [ ] Custom ArchiMate viewpoint templates

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选