ArchiMate MCP Server

ArchiMate MCP Server

Enables LLMs to create, modify, and analyze ArchiMate architecture models using the ArchiMate 3.2 specification, supporting coArchi2 repositories and multiple export formats.

Category
访问服务器

README

ArchiMate MCP Server

An MCP (Model Context Protocol) server that enables LLMs to work with ArchiMate models stored in coArchi2 repositories. The server design follows the ArchiMate 3.2 specification structure, making it intuitive for LLMs to select appropriate layers, elements, and relationships.

Features

  • Full ArchiMate 3.2 Support: All element types across Motivation, Strategy, Business, Application, Technology, and Implementation & Migration layers
  • Relationship Validation: Enforces valid ArchiMate relationships per the specification
  • LLM-Friendly Design: Layer-specific tools with enumerated element types guide correct usage
  • coArchi2 Compatible: Reads and writes model.archimate XML files
  • ArchiMate Exchange Format: Import/export using the standard ArchiMate Open Exchange Format
  • Multiple Export Formats: SVG, PNG, Mermaid diagrams, Markdown documentation, and interactive HTML decks
  • Audit Logging: Track all model operations with NDJSON audit logs
  • Impact Analysis: Analyze dependencies and impacts of architecture changes

Installation

Prerequisites

  • Node.js 18+
  • npm

Build from Source

cd archimate-mcp-server
npm install
npm run build

Usage with Claude Code

Quick Install (npx, auto-updates)

claude mcp add archimate -- npx -y archimate-mcp-server@latest

Build from Source

Clone and build, then add to Claude Code:

git clone https://github.com/thijs-hakkenberg/archimate-mcp.git
cd archimate-mcp
npm install
npm run build
claude mcp add archimate -- node $(pwd)/dist/index.js

Verify it was added:

claude mcp list

Remove if needed:

claude mcp remove archimate

Usage with Claude Desktop

Add to your Claude Desktop configuration file:

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

{
  "mcpServers": {
    "archimate": {
      "command": "node",
      "args": ["/path/to/archimate-mcp-server/dist/index.js"]
    }
  }
}

Available Tools (33 total)

Model Management

Tool Description
archimate_open_model Open a model from a coArchi repository
archimate_save_model Save the current model
archimate_create_model Create a new empty model

Navigation

Tool Description
archimate_list_elements List elements (optionally filtered by layer/type)
archimate_get_element Get element details with relationships
archimate_find_elements Search elements by name pattern

Element Creation (Layer-Specific)

Tool Element Types
archimate_create_motivation_element Stakeholder, Driver, Assessment, Goal, Outcome, Principle, Requirement, Constraint, Meaning, Value
archimate_create_strategy_element Resource, Capability, ValueStream, CourseOfAction
archimate_create_business_element BusinessActor, BusinessRole, BusinessCollaboration, BusinessInterface, BusinessProcess, BusinessFunction, BusinessInteraction, BusinessEvent, BusinessService, BusinessObject, Contract, Representation, Product
archimate_create_application_element ApplicationComponent, ApplicationCollaboration, ApplicationInterface, ApplicationFunction, ApplicationInteraction, ApplicationProcess, ApplicationEvent, ApplicationService, DataObject
archimate_create_technology_element Node, Device, SystemSoftware, TechnologyCollaboration, TechnologyInterface, Path, CommunicationNetwork, TechnologyFunction, TechnologyProcess, TechnologyInteraction, TechnologyEvent, TechnologyService, Artifact, Equipment, Facility, DistributionNetwork, Material
archimate_create_implementation_element WorkPackage, Deliverable, ImplementationEvent, Plateau, Gap
archimate_create_composite_element Grouping, Location

Relationships

Tool Description
archimate_create_relationship Create a relationship (validates against ArchiMate spec)
archimate_list_relationships List relationships
archimate_get_valid_relationships Get valid relationship types between element types

Supported Relationship Types: Composition, Aggregation, Assignment, Realization, Serving, Access, Influence, Association, Triggering, Flow, Specialization

Views/Diagrams

Tool Description
archimate_list_views List all diagram views
archimate_create_view Create a new view
archimate_add_to_view Add an element to a view; connections to on-canvas peers are auto-drawn (opt out with auto_connect: false)
archimate_add_connection_to_view Manually add a connection — normally unnecessary since archimate_add_to_view auto-draws

Modification

Tool Description
archimate_update_element Update element name/documentation
archimate_delete_element Delete element and its relationships
archimate_delete_relationship Delete a relationship

Analysis

Tool Description
archimate_layer_summary Get element counts by layer
archimate_impact_analysis Analyze element dependencies

Exchange Format (Import/Export)

Tool Description
archimate_import_exchange Import model from ArchiMate Open Exchange XML
archimate_export_exchange Export model to ArchiMate Open Exchange XML

Export Tools

Tool Description
archimate_export_mermaid Generate Mermaid diagram syntax from model or view
archimate_export_diagram Export view as SVG or PNG image
archimate_export_markdown Export model as Markdown documentation
archimate_export_html_deck Export model as interactive HTML deck

Audit Logging

Tool Description
archimate_configure_audit Enable/disable audit logging, set log path
archimate_get_audit_log Read recent audit log entries

Available Resources

URI Description
archimate://spec/elements Catalog of all ArchiMate element types
archimate://spec/relationships Catalog of relationship types
archimate://model/summary Current model summary

Example Usage

Once connected, you can ask Claude to:

Open the ArchiMate model at /path/to/my-model

Create a new Business Actor called "Customer" with documentation "External customer"

Create an Application Component called "Order Service"

Create a Serving relationship from "Order Service" to "Customer"

Show me all elements in the Application layer

What relationships are valid between ApplicationComponent and BusinessProcess?

Do an impact analysis on the "Order Service" component

Export the model as Markdown documentation to /path/to/docs.md

Generate a Mermaid diagram for the Business layer

Export the main view as an SVG to /path/to/diagram.svg

Create an interactive HTML deck of the architecture

Export Formats

Mermaid Diagrams

Generate Mermaid flowchart syntax that can be rendered in Mermaid-compatible viewers:

flowchart TB
    subgraph Business["Business Layer"]
        BA1["Customer"]
        BP1["Order Process"]
    end
    subgraph Application["Application Layer"]
        AC1["Order Service"]
    end
    AC1 -->|Serving| BP1

SVG/PNG Diagrams

Export diagram views as scalable SVG or rasterized PNG images with:

  • Color-coded elements by layer
  • ArchiMate notation
  • Relationship lines with appropriate arrows

Markdown Documentation

Generate comprehensive documentation including:

  • Model overview with statistics
  • Elements grouped by layer
  • Relationship details
  • Embedded Mermaid diagrams for views

HTML Deck

Create an interactive single-file HTML presentation with:

  • Tab navigation by layer
  • Element cards with relationship details
  • Search functionality
  • Light/dark theme support
  • Embedded SVG diagrams

Audit Logging

All model operations can be logged to an NDJSON file for auditing:

{"timestamp":"2024-01-15T10:30:00.000Z","event":"archimate_create_business_element","action":"create","elementType":"BusinessActor","elementId":"id-123","elementName":"Customer","success":true,"durationMs":5}

Configure via environment variable:

export ARCHIMATE_AUDIT_LOG=/path/to/audit.ndjson  # Set log path
export ARCHIMATE_AUDIT_LOG=disabled               # Disable logging

Relationship Validation

The server validates relationships against the ArchiMate 3.2 specification. Invalid relationships are rejected with helpful error messages:

Error: Assignment is not a valid relationship between DataObject and BusinessActor
Suggestions: Realization, Serving, Association, Flow

Project Structure

archimate-mcp-server/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── model/
│   │   ├── types.ts          # ArchiMate type definitions
│   │   ├── parser.ts         # XML model parser
│   │   └── writer.ts         # XML model writer
│   ├── relationships/
│   │   └── validation.ts     # Relationship validation
│   ├── exporters/
│   │   ├── mermaid-exporter.ts    # Mermaid diagram generation
│   │   ├── svg-exporter.ts        # SVG/PNG diagram rendering
│   │   ├── markdown-exporter.ts   # Markdown documentation
│   │   └── html-deck-exporter.ts  # HTML presentation deck
│   ├── exchange/
│   │   ├── exchange-reader.ts     # ArchiMate Exchange import
│   │   └── exchange-writer.ts     # ArchiMate Exchange export
│   └── audit/
│       └── logger.ts              # Audit logging system
├── dist/                     # Compiled output
├── package.json
├── tsconfig.json
└── vitest.config.ts          # Test configuration

Testing

npm test              # Run tests
npm run test:watch    # Run tests in watch mode
npm run test:coverage # Run tests with coverage

License

MIT

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选