etch
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETCH_BEARER_TOKEN | Yes | Bearer token from Etch. Get one: curl -X POST https://etch.systems/v1/anonymous-projects |
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 | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query_factB | Query the knowledge graph for facts about entities (APIs, functions, classes, etc.) |
| record_eventC | Record a development event (file edit, test run, etc.) |
| validate_changeB | Validate a proposed code change against known constraints |
| get_constraintsA | Get constraints (linting rules, patterns, conventions) for a file |
| record_correctionC | Record a user correction to Claude's output (high-priority learning signal) |
| get_related_bugsC | Get bugs fixed in a file and assess regression risk |
| seed_projectA | Scan the project codebase and populate the knowledge graph with entities and relationships from existing code |
| ingest_pr_reviewsA | Pull GitHub PR review comments and convert them into learned constraints in the knowledge graph |
| record_decisionC | Record a decision trace: what the agent proposed and how the human responded |
| pin_annotationA | Attach a signed human annotation (note, override rationale, or intervention record) to a span of agent events. Persists into the annotations table and chains into the same Merkle audit log as agent writes (v0.15.0, ADR-0001). Rationale limited to 8 KB. |
| get_decision_logC | Get decision traces showing agent proposals and human corrections |
| record_test_outcomeC | Record test results and link failures to recent code changes |
| get_co_edit_suggestionsB | Get files commonly edited alongside the given file based on historical patterns |
| search_globalC | Search entities across all registered world-model projects |
| predict_regressionA | Score regression risk for a proposed change to a file based on past bugs, test failures, and constraint violations |
| simulate_changeC | Project blast radius and historical outcomes for a proposed change |
| predict_test_failuresA | Surface tests likely to fail given a set of edited files |
| promote_constraintB | Promote a constraint from this project to all other registered projects |
| get_health_reportA | Memory health diagnostics: orphans, stale facts, contradictions, decay candidates, DB sizes |
| get_context_for_actionC | Pre-action context bundle: constraints, decisions, bugs, co-edits, related facts, and risk score for a file before editing |
| find_contradictionsC | Find pairs of facts that contradict each other based on similarity and status differences |
| recall_transcript_rangeC | Hydrate a Claude Code session transcript by line range. Lets agents trace a fact back to the exact conversation that produced it. |
| export_claude_mdB | Generate a CLAUDE.md document from the knowledge graph (top constraints, recent decisions, known bug regions, co-edit patterns). |
| get_injection_contextB | Return a compact constraint+fact bundle for PostCompact / UserPromptSubmit hooks to re-inject after context loss. |
| record_compaction_auditA | Record a context-compaction event with token counts and what was re-injected. Lets developers audit what was remembered across compaction boundaries. |
| get_compaction_auditA | List recent compaction audit entries, most-recent first. Filter by session_id or limit count. |
| get_agents_md_constraintsA | Parse AGENTS.md / CLAUDE.md / GEMINI.md / .agents/skills/*.md in the project and return declarative constraints. Mixed into PreToolUse enforcement automatically; this tool exposes the same data for inspection. |
| resolve_contradictionC | Pick a winner between two contradicting facts using a confidence-weighted strategy (auto, keep_higher_confidence, keep_most_recent, keep_most_sources, supersede_a, supersede_b, manual). |
| verify_retrievalA | Adversarially verify an answer is grounded in a specific set of facts. An independent Coach LLM call checks each material claim in the answer against the supplied source facts and returns confidence (HIGH / MEDIUM / LOW), verified + unverified claim lists, and per-claim source_pointers. Never raises; failures return LOW + |
| prove_entry_inclusionA | v0.13 tamper-evident audit log. Return a cryptographic inclusion-proof bundle for a persisted row_id (fact, constraint, event, or decision ID). Bundle includes the entry, the containing signed epoch (Ed25519 + SLH-DSA hybrid signature envelope), an RFC 6962 Merkle inclusion proof, and the full epoch chain from genesis. Requires WORLD_MODEL_AUDIT_LOG=on at server startup; returns an error object when opt-in is off, when the row_id is not found, or when the entry is in the unclosed backlog. |
| get_audit_log_headA | v0.13 tamper-evident audit log. Return the current head state (last log entry seq, last closed epoch seq, unclosed-entry count) plus the full closed-epoch chain with hybrid signature envelopes. Compliance auditors call this periodically to verify no operator misbehavior has occurred since the last check. Requires WORLD_MODEL_AUDIT_LOG=on at server startup. |
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 31 tools
Most tools have clearly distinct purposes (e.g., query_fact vs. search_global, record_decision vs. record_correction). A few pairs like get_constraints/get_agents_md_constraints and simulate_change/validate_change have some overlap, but the descriptions differentiate them sufficiently for an agent to choose correctly.
All tool names follow a consistent verb_noun pattern in snake_case (get_*, record_*, predict_*, etc.). Even compound names like get_co_edit_suggestions and prove_entry_inclusion maintain the pattern without mixing conventions.
With 31 tools, the surface is significantly larger than the typical well-scoped server. While the server covers a broad domain, this count places a heavy burden on agent selection and navigation, likely reducing overall coherence.
The tool set covers a comprehensive lifecycle: seeding, ingestion, querying, validation, prediction, audit, and export. Minor gaps exist, such as no explicit update/delete for facts or constraints, but these are likely handled internally, so core workflows are supported without dead ends.