arcanon

Claude Code Plugin

Install, configure, and use the Arcanon plugin for Claude Code.

The Arcanon plugin turns Claude Code into a cross-repo service dependency scanner. It builds a local service graph, detects drift, queries impact, and syncs to Arcanon Hub — all from inside your editor. A bundled MCP server exposes the same data to any MCP-compatible client.

Source: github.com/Arcanon-hub/arcanon (AGPL-3.0, v0.1.1)

Installation

Add the Arcanon marketplace and install the plugin:

claude plugin marketplace add https://github.com/Arcanon-hub/arcanon
claude plugin install arcanon@arcanon --scope user

Restart Claude Code. The session banner should show:

Arcanon active. Detected: <project types>. Commands: /arcanon:map, /arcanon:drift, ...

No local binary is required. Runtime dependencies (better-sqlite3, fastify, chromadb, @modelcontextprotocol/sdk) are installed automatically on first session.

Commands

CommandPurpose
/arcanon:mapScan linked repos and build or refresh the local service graph
/arcanon:driftDetect version, type, and OpenAPI drift across scans and repos
/arcanon:impactQuery cross-repo consumers and impact for a service, endpoint, or schema
/arcanon:loginStore your Arcanon Hub API key (arc_*) in ~/.arcanon/config.json (mode 0600)
/arcanon:syncUpload the current repo's latest scan to Hub and drain the offline queue
/arcanon:statusOne-line health check — plugin version, credentials, queue, config
/arcanon:exportEmit the local graph as Mermaid, DOT, JSON, or a self-contained HTML viewer
/arcanon:updateCheck for plugin updates and preview the changelog

Typical session

/arcanon:login arc_your_key_here   # one-time, per machine
/arcanon:map                       # scan this repo + linked siblings
/arcanon:impact user-service       # see cross-repo consumers
/arcanon:sync                      # upload to Hub

Local Graph Viewer

The plugin's worker ships a local web UI at http://localhost:37888. It's a single-user, offline graph viewer — think of it as the local counterpart to the team dashboard at app.arcanon.dev. Use it for local development and quick exploration of your own scans.

Launched automatically by the worker after /arcanon:map. No account needed; no data leaves your machine.

What it does

  • Canvas graph — D3 force simulation with pan, zoom, and fit-to-view
  • Project picker — switch between scans you've run locally
  • Filters — by protocol, layer, boundary, and language
  • Isolate — focus on 1–3 hops around any service
  • Search — jump to a service by name
  • Export PNG — save the current viewport as an image
  • Worker logs — collapsible panel showing scan, HTTP, and MCP activity

Keyboard shortcuts

KeyAction
FFit all nodes in view
/Focus the search box
IToggle isolate mode for the selected service
?Show keyboard shortcut help

What it does not do

The local viewer is intentionally scoped to one developer's machine. If you need any of these, sync to Hub (/arcanon:sync) and use the team dashboard at app.arcanon.dev:

  • Cross-repo drift detection (version, type, OpenAPI)
  • Impact analysis across repos owned by other teammates
  • Declared connections, acknowledgements, team ownership
  • Invite-based sharing, shareable URLs, audit trail

Configuration

Optional arcanon.config.json at your repo root (commit this — it's shared across the team):

{
  "project-name": "my-project",
  "linked-repos": ["../sibling-service", "../shared-schemas"],
  "hub": {
    "auto-sync": true,
    "url": "https://api.arcanon.dev"
  }
}
FieldDescription
project-nameGroups scans under a project in Hub. Defaults to the repo name.
linked-reposSibling repo paths the scanner should include when mapping dependencies.
hub.auto-syncIf true, /arcanon:map uploads to Hub automatically after a successful scan.
hub.urlOverride the Hub endpoint (defaults to https://api.arcanon.dev).

Credentials are read in this order: ARCANON_API_KEY env var, then ~/.arcanon/config.json. Scans work fully offline — a Hub account is only needed for sync.

Bundled MCP Server

The plugin ships a stdio MCP server (scripts/mcp-wrapper.sh). Installing the plugin registers it automatically — no npx install, no manual .mcp.json wiring. Once installed, any MCP-compatible client in the same Claude Code session can call it.

Tools

ToolPurpose
impact_queryWhich services consume (or are consumed by) a given service — direct or transitive
impact_changedServices affected by changed files in the current git working tree
impact_graphReturn the dependency subgraph (nodes + edges) for a service, up to N hops
impact_searchFull-text search across connections by path, protocol, or file name
impact_scanTrigger a dependency scan via the local worker
drift_versionsDependency version mismatches across repos (CRITICAL on exact mismatch, WARN on range)
drift_typesShared type/interface/struct mismatches across same-language repos
drift_openapiOpenAPI spec breaking changes (uses oasdiff when available)

For standalone MCP clients (outside Claude Code), set ARCANON_API_KEY and point the client at the plugin's scripts/mcp-wrapper.sh.

Data & Privacy

  • Local scan DB: ~/.arcanon/projects/<hash>/impact-map.db (SQLite)
  • Hub credentials: ~/.arcanon/config.json (mode 0600)
  • Scans stay on your machine until /arcanon:sync (or hub.auto-sync: true) pushes them.

Legacy ~/.ligamen/ directories and LIGAMEN_* env vars are still honored — the plugin was formerly named Ligamen.

Troubleshooting

  • /arcanon:status — shows plugin version, API key presence, queue depth, and data directory in one line.
  • Plugin commands missing after install — restart Claude Code.
  • Dependencies failed to install — check ~/.arcanon/logs/install.log and re-run /arcanon:status.

On this page