Constellation
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CONSTELLATION_ACCESS_KEY | Yes | API key required for all requests to the Constellation service. |
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": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| code_intelA | DECISION RULE: Structure questions → this tool. Text search → Grep. Before using Grep, ask: Is this a STRUCTURE question (definitions, callers, impact) or a TEXT question (strings, config)? QUICK START: WHY THIS TOOL: Graph-backed intelligence finds indirect relationships, transitive dependencies, and breaking change risks that text search cannot detect. "What uses X?" disambiguation: getDependents (file imports) vs getCallGraph (call chain) vs traceSymbolUsage (all usages). USE IMMEDIATELY WHEN: • BEFORE using Edit on a function/class → run impactAnalysis({symbolId}) first • BEFORE exploring an unfamiliar codebase → run getArchitectureOverview() • BEFORE refactoring → trace getDependencies + getDependents for blast radius • Running 3+ Grep calls for structure? STOP → use code_intel instead TOP 5 QUESTIONS (query is case-insensitive substring match): • "Where is X defined?" / "Find function Y" → searchSymbols({query}) • "What calls X?" / "What imports this?" → getDependents({filePath}) or getCallGraph({symbolId}) • "What does X depend on?" → getDependencies({filePath}) • "Safe to modify X?" / "Blast radius?" → impactAnalysis({symbolId}) • "Find dead code" / "Unused exports?" → findOrphanedCode() • "Complex functions?" / "Refactoring targets?" → searchSymbols results include complexity.cyclomaticComplexity + complexityRisk per function NOT FOR: literal string search, log messages, config values, or reading source code. Use Grep/Glob/Read for those.
Supports TypeScript, JavaScript, Python, and more — run api.getCapabilities() to check your project.
File-path-scoped methods (getDependencies, getDependents, getCallGraph, traceSymbolUsage, impactAnalysis) reject calls whose WRONG TOOL SIGNAL: If you've run 3+ Grep calls for structure (callers, dependencies, impact), STOP and use code_intel instead. Typical workflow: code_intel to find (results include source snippets) → Edit to modify Sandbox limits: 50 api.* calls per execution, 128 MB memory, 100 KB max code size, IMPORTANT: The |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-types | Prefer constellation://types/api/{methodName} for individual methods. This resource is ~147KB and may consume excessive context. Full TypeScript type definitions for all Code Mode API methods. |
| code-mode-guide | Full method reference, response shapes, composition recipes, and error recovery patterns. Read this when writing code_intel queries. |
| metrics | Runtime metrics: execution counts, durations, error rates, and API call patterns. |
| searchSymbols types | Type definitions for api.searchSymbols() |
| getSymbolDetails types | Type definitions for api.getSymbolDetails() |
| getDependencies types | Type definitions for api.getDependencies() |
| getDependents types | Type definitions for api.getDependents() |
| findCircularDependencies types | Type definitions for api.findCircularDependencies() |
| traceSymbolUsage types | Type definitions for api.traceSymbolUsage() |
| getCallGraph types | Type definitions for api.getCallGraph() |
| impactAnalysis types | Type definitions for api.impactAnalysis() |
| findOrphanedCode types | Type definitions for api.findOrphanedCode() |
| getArchitectureOverview types | Type definitions for api.getArchitectureOverview() |
| ping types | Type definitions for api.ping() |
| getCapabilities types | Type definitions for api.getCapabilities() |
| Method Reference | Method lookup table, disambiguation guide, and parameter reference (~1,200 tokens) |
| Response Shapes & Recipes | Response contract, top 3 response shapes, and workflow recipes (~1,000 tokens) |
| Common Mistakes & Recovery | Common mistakes, empty result debugging, and error recovery patterns (~800 tokens) |
TDQS
Scored across 1 tool
With only one tool, there is no ambiguity; the tool's purpose is clearly defined and distinct from any other.
A single tool name ensures perfect naming consistency; there are no naming conflicts or inconsistencies.
The server attempts to cover a broad range of code intelligence operations (symbol search, dependency analysis, impact analysis, etc.) but condenses them into a single tool, which is insufficient for discoverability and typical MCP expectations.
The tool's API covers many code intelligence operations (symbols, dependencies, impact, dead code), with minor gaps like source reading explicitly delegated elsewhere, making it fairly complete for its stated purpose.