astrograph
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASTROGRAPH_C_LSP_COMMAND | No | TCP endpoint for C LSP (e.g., tcp://host.docker.internal:2087) | |
| ASTROGRAPH_GO_LSP_COMMAND | No | TCP endpoint for Go LSP (e.g., tcp://host.docker.internal:2091) | |
| ASTROGRAPH_JS_LSP_COMMAND | No | Override for JavaScript LSP command | |
| ASTROGRAPH_PY_LSP_COMMAND | No | Override for Python LSP command | |
| ASTROGRAPH_TS_LSP_COMMAND | No | Override for TypeScript LSP command | |
| ASTROGRAPH_CPP_LSP_COMMAND | No | TCP endpoint for C++ LSP (e.g., tcp://host.docker.internal:2088) | |
| ASTROGRAPH_JAVA_LSP_COMMAND | No | TCP endpoint for Java LSP (e.g., tcp://host.docker.internal:2089) |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| analyzeA | Find duplicate code (verified via graph isomorphism). Returns summary inline. Full details available via the astrograph://analysis/latest resource. File paths in responses are server-internal — use the resource URI instead. |
| suppressA | Suppress a duplicate by WL hash (from analyze output). Only suppress AFTER confirming the duplication is intentional (e.g. API symmetry, test isolation). Refactoring should be the default action for duplicates. |
| unsuppressC | Unsuppress a hash. |
| list_suppressionsA | List suppressed hashes. |
| statusA | Check server readiness. Returns instantly even during indexing. |
| lsp_setupB | Inspect and configure deterministic LSP command bindings for bundled language plugins. Returns a guided recommended_actions plan for search/install/config workflows. |
| metadata_eraseA | Erase all persisted metadata. Resets server to idle. |
| metadata_recompute_baselineB | Erase metadata and re-index the codebase from scratch. |
| generate_ignoreA | Auto-generate .astrographignore with reasonable defaults for excluding files from indexing. |
| set_workspaceA | Set or change the workspace directory. Re-indexes the codebase at the new path. |
| writeA | Write file. Blocks if duplicate exists, warns on similarity. |
| editA | Edit file. Blocks if new code duplicates existing, warns on similarity. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review-duplicates | Review duplicate code findings and decide whether to suppress, refactor, or skip each group. |
| setup-lsp | Guided workflow to install and configure LSP servers for language support. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Server Status | Current server readiness and statistics |
| Latest Analysis | Most recent duplicate analysis report |
| Suppressions | Currently suppressed duplicate hashes |
TDQS
Scored across 12 tools
Most tools have clearly distinct purposes: analyze finds duplicates, suppress/unsuppress/list manage suppressions, write/edit handle file operations. However, metadata_erase and metadata_recompute_baseline overlap (both erase metadata) and write/edit are similar in behavior, creating minor boundary ambiguity.
Tool names mix single verbs (analyze, status, edit) with verb_noun patterns (list_suppressions, generate_ignore) and noun-verb patterns (metadata_erase, metadata_recompute_baseline). This inconsistency in naming structure makes the set feel less cohesive.
12 tools is an appropriate scope for a code duplication analysis server, covering detection, suppression management, file enforcement, and configuration without excess.
The server covers the core duplication lifecycle well: detect (analyze), manage (suppress/unsuppress/list), enforce (write/edit), plus setup and maintenance tools. Minor gaps exist, such as no configuration for detection thresholds, but the overall surface is comprehensive.