mcpField
A
Arc

Arc

Local
hudsonkit.comDeveloper Tools15Updated today

About Arc

Arc is an MCP server for creating architecture diagrams as code. It gives AI agents tools to validate, lay out, render, and compare diagrams, with multiple export formats, themes, and related resources; it runs over stdio or a self-run HTTP service.

Key features

  1. 01Validate diagrams and return diagnostics
  2. 02Automatically lay out diagrams
  3. 03Render SVG, PNG, and animations
  4. 04Export HTML, ASCII, and TypeScript
  5. 05Produce structural diagram diffs

Use cases

  1. 01Generate architecture diagrams from coded data
  2. 02Check diagrams and apply supported fixes
  3. 03Export diagrams for documents or terminals
  4. 04Compare the structures of two diagram versions

MCP support

Arc exposes diagram validation, layout, rendering, and diff tools to MCP clients, along with schema, skill, and documentation resources. The published package runs over stdio; a Streamable HTTP service can also be started from a repository checkout.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"hudsonkit-arc": {
"command": "npx",
"args": [
"-y",
"@hudsonkit/arc-mcp"
]
}
}
}
Run commandnpx -y @hudsonkit/arc-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@hudsonkit/arc-mcp0.14.1

Tools

10

Saved tool list · updated 3d ago

ParameterTypeRequiredDescription
diagramobjectYesArc diagram JSON object or JSON string
severityenumNoFilter returned diagnostics by severity (default: all)error | warning | all

Details

From the project README
Arc

@hudsonkit/arc-mcp

MCP server for architecture diagrams as code.

Gives AI agents the full Arc toolchain over the Model Context Protocol — author, validate, lay out, render, and diff architecture diagrams from any MCP client.

npm version license

Run it

No install needed — the server runs over stdio:

npx -y @hudsonkit/arc-mcp
# or: bunx @hudsonkit/arc-mcp

Client setup

Requires Node.js 22 or newer. No account, API key, or environment configuration is required. PNG export needs a local Chrome/Chromium installation; animation export also needs ffmpeg.

Claude Code:

claude mcp add --scope project arc -- npx -y @hudsonkit/arc-mcp

Devin:

devin mcp add arc -- npx -y @hudsonkit/arc-mcp

Any MCP client (JSON config):

{
  "mcpServers": {
    "arc": {
      "command": "npx",
      "args": ["-y", "@hudsonkit/arc-mcp"]
    }
  }
}

Tools

ToolWhat it does
validate_diagramCoded diagnostics for ArcDiagramData — consume by code, apply a supportedFixes entry, re-validate
auto_layoutAuto-layout a full diagram or minimal input (nodeData + connectors + connectorStyles)
diff_diagramStructural DiagramDelta — feed to <ArcDiagram data={head} delta={delta} /> for a diff render
render_svgDeterministic SVG export — eleven themes, light/dark; authored flows animate via SMIL or sample at flowTime
render_pngPNG raster via a local Chrome/Chromium binary (ARC_CHROME to override, ARC_CHROME=none to disable), sampled at flowTime
render_animationGIF/MP4 flow animation to an output path via Chrome frames + ffmpeg (ARC_FFMPEG to override)
render_htmlReact component snippet, iframe embed, or standalone HTML page
render_asciiUnicode/ASCII box-art rendering for terminals and docs
diagram_to_typescriptEmit a typed ArcDiagramData TypeScript module
editor_handoffBuild URLs that open the diagram in the Arc studio

Resources

URIContent
arc://schema/diagramGenerated draft-07 JSON Schema for ArcDiagramData
arc://skill/diagramsArc diagram-generation skill for agents
arc://docs/llmDense LLM briefing

Self-hosting over HTTP

The published bin runs over stdio, which is all a local client needs. To serve Arc to clients on other machines, run the Streamable HTTP server from a checkout of the repo:

git clone https://github.com/hudsonkit/arc && cd arc
bun install
ARC_MCP_HOST=127.0.0.1 ARC_MCP_PORT=5190 bun run mcp:http
# MCP endpoint: http://127.0.0.1:5190/mcp · health: /health
VariableDefaultPurpose
ARC_MCP_PORT5190Port to listen on
ARC_MCP_HOST0.0.0.0Interface to bind; use 127.0.0.1 unless it sits behind your own auth
ARC_EDITOR_URLhttp://localhost:5188Studio base that editor_handoff links point to

Arc doesn't run a public MCP endpoint. If you need a hosted one, open an issue at github.com/hudsonkit/arc.

MCP Registry

Arc's registry identity is io.github.hudsonkit/arc. The install metadata lives in server.json, and the npm package declares the same mcpName so the registry can verify ownership.

Maintainers can run the Publish to npm GitHub Actions workflow with package scope mcp for an MCP-only patch release, or all for a coordinated release. The workflow sets both versions before building, verifies the packed server, publishes npm, then publishes the registry metadata using GitHub OIDC. A dry run validates and packs without publishing. GitHub's curated MCP catalog requires initial onboarding after publication to the official MCP Registry.

Related packages

Studio + docs: hudsonkit.com/arc · Source: github.com/hudsonkit/arc

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.