Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CONSTELLATION_ACCESS_KEYYesAPI 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

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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: return await api.searchSymbols({query: "AuthService"}) — simple queries are one-liners. Run api.listMethods() for full API reference with signatures and descriptions. Run api.help("methodName") for inline TypeScript type definitions — no resource reads needed. Compose: const [impact, deps] = await Promise.all([api.impactAnalysis({symbolId}), api.getDependents({filePath})]);

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 filePath extension is not in the project's configured languages with UNSUPPORTED_LANGUAGE — check api.getCapabilities() first.

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, limit max 100 on any method with a limit param. Pure JS only — no require/import/fs/net/process (see constellation://docs/guide for full restrictions).

IMPORTANT: The cwd parameter is required — always set it to the target project directory path.

The optional hook input is for agent-plugin hooks; agents omit it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
api-typesTypeScript type summaries for every Code Mode API method in one document (~20KB). Prefer constellation://types/api/{methodName} when you need only one method.
code-mode-guideFull method reference, response shapes, composition recipes, and error recovery patterns. Read this when writing code_intel queries.
metricsRuntime metrics: execution counts, durations, error rates, and API call patterns.
searchSymbols typesType definitions for api.searchSymbols()
getSymbolDetails typesType definitions for api.getSymbolDetails()
getDependencies typesType definitions for api.getDependencies()
getDependents typesType definitions for api.getDependents()
findCircularDependencies typesType definitions for api.findCircularDependencies()
traceSymbolUsage typesType definitions for api.traceSymbolUsage()
getCallGraph typesType definitions for api.getCallGraph()
impactAnalysis typesType definitions for api.impactAnalysis()
findOrphanedCode typesType definitions for api.findOrphanedCode()
getArchitectureOverview typesType definitions for api.getArchitectureOverview()
ping typesType definitions for api.ping()
getCapabilities typesType definitions for api.getCapabilities()
Method ReferenceMethod lookup table, disambiguation guide, and parameter reference (~1,200 tokens)
Response Shapes & RecipesResponse contract, top 3 response shapes, and workflow recipes (~1,000 tokens)
Common Mistakes & RecoveryCommon mistakes, empty result debugging, and error recovery patterns (~800 tokens)

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation4/5

With a single tool, there is no cross-tool ambiguity to resolve, and the description explicitly draws a clear boundary against Grep/Glob/Read (structure vs text search). The only residual overlap is internal (getDependents vs getCallGraph vs traceSymbolUsage), which the description addresses but does not fully resolve without running api.listMethods().

Naming Consistency4/5

A single name cannot be internally inconsistent, and 'code_intel' is a clean, readable snake_case identifier. It is a noun phrase rather than a verb_noun pattern, so there is no predictable action convention to anchor on, but nothing is violated.

Tool Count3/5

The one-tool design is intentional (a code-execution entry point fronting a multi-method api.* surface), which is defensible for this domain. However, as presented the server exposes exactly one thinly-described tool whose real capabilities are hidden behind api.listMethods()/api.help(), making the surface feel thin and requiring a discovery round-trip.

Completeness4/5

The stated domain — graph-backed code intelligence — is well covered: symbol search, dependencies/dependents, call graph, usage tracing, impact analysis, orphan detection, and architecture overview. Gaps are minor (e.g. no explicit symbol-level diff/change-scope or test-impact mapping), and read-only scope is appropriate for an intelligence tool.

Maintenance

ActivityActive
ResponsivenessUnresponsive