arch-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARCH_MCP_PYTHON | No | Interpreter for the sqlglot bridge. Default: python. | python |
| ARCH_MCP_STACKS | No | Stack filter: py, jvm, js or all. Default: all. | all |
| ARCH_MCP_SQLGLOT | No | Set to 1 to add the sqlglot bridge for CTAS, materialized views, ALTER-FK and column lineage. Default: off. | off |
| ARCH_MCP_SCIP_DIR | No | Directory or index.scip file for the scip adapter. Default: not set. | |
| ARCH_MCP_CACHE_DIR | No | Cache root override for graphs and snapshots. Default: %LOCALAPPDATA%\arch-mcp\cache. | %LOCALAPPDATA%\arch-mcp\cache |
| ARCH_MCP_TERRAFORM | No | Set to 1 to enable the lazy @dagster/hcl2 Terraform adapter. Default: off. | off |
| ARCH_MCP_ALLOW_EXEC | No | Set to 1 to enable optional external tools. Default: off. | off |
| ARCH_MCP_TIMEOUT_MS | No | Timeout for every external process. Default: 120000. | 120000 |
| ARCH_MCP_GRAMMAR_DIR | No | wasm grammar directory override. Default: <package>/grammars. | |
| ARCH_MCP_AUTO_INSTALL | No | Installs the toolchain automatically when missing. Set to 1 to enable. Default: off. | off |
| ARCH_MCP_SCIP_INDEXER | No | Indexer command template with {root} and {out} tokens; needs ARCH_MCP_ALLOW_EXEC=1. Default: not set. | |
| ARCH_MCP_ALLOWED_ROOTS | No | Workspace allowlist separated by path.delimiter; unset means no restriction. Default: not set. | |
| ARCH_MCP_SQLGLOT_BRIDGE | No | sqlglot bridge path override; the file content joins the cache key. Default: <package>/python/sqlglot_bridge.py. | |
| ARCH_MCP_MAX_RESPONSE_BYTES | No | Response budget, cap 1048576, above it BUDGET_EXCEEDED. Default: 65536. | 65536 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| arch_statusB | Workspace status: detected stacks, git info, graph index coverage and adapter availability. Read-only. |
| arch_snapshotB | Architectural snapshot: stacks, git, graph and snapshot_id (scope=summary|full). Read-only. |
| searchB | Search graph nodes by case-insensitive substring (kind=file|dir|test|all|module|package|symbol|table|view|api|config|doc|service|container). Read-only. |
| focusA | Incoming and outgoing edges of one node with types; sqlglot lineage edges additionally carry columns (from/to pairs), stripped from get_graph/arch_snapshot. Type-only edges excluded unless include_type_only=true. Read-only. |
| reachesB | Reverse reachability: which nodes depend on target within max_depth. Read-only. |
| impactB | What a change affects: transitive dependents of changed files within depth (type-only excluded by default). Read-only. |
| affected_testsA | Test files transitively depending on changed files (type-only excluded by default). Read-only. |
| arch_diffA | Diff two snapshots (current | git HEAD | snapshot_id): added/removed nodes and edges. Read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have distinct roles, but reaches, impact, and affected_tests all express reverse-dependency/reachability queries and can be confused. Descriptions clarify the differences (generic depth vs changed-file impact vs tests only), but the boundaries are not fully crisp.
All names are snake_case and readable, but the set mixes an arch_ prefix on only some tools and mixes verb-style names (search, focus, reaches) with noun-style names (impact, affected_tests, arch_diff). No predictable verb_noun convention is followed.
Eight tools is well within the typical 3-15 range and the surface is focused on read-only architecture graph analysis. Each tool corresponds to a distinct query shape, so the count is appropriate.
The read-only architecture-analysis surface is broadly covered: status, snapshots, search, edge inspection, reverse reachability, impact, test impact, and diff. A minor gap is the lack of a general get_graph or node-detail tool (focus explicitly references get_graph, which is absent), though arch_snapshot may fill part of that role.