rarefaction
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PATH | No | Set (e.g. via the client's --env) to include the directories of language servers such as rust-analyzer or wat_server that live outside the client's PATH, e.g. $HOME/.local/bin:$HOME/.cargo/bin:$PATH. | |
| CLAUDE_PROJECT_DIR | No | Claude Code's project directory, used as a fallback to determine the workspace root. An explicit --root takes precedence over CLAUDE_PROJECT_DIR, then the working directory. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| orientA | Compact source context from language-server indexes: signature, body, callers, callees, tests, implementations and relevant files. Use before broad file reads in Swift, Rust, C/C++, TypeScript/JavaScript, Python and WebAssembly WAT projects. In mixed workspaces specify profile or use path:line:column. No cross-language/FFI edges are inferred. Increase up/down only when needed. |
| scopeA | The files a change to one symbol is likely to touch: orient's call-graph files (callers, callees, implementations, tests) plus files that have historically changed in the same commits as the symbol's file, each with its reason. Use when planning an edit, to know which files to read and check. Advisory, not a boundary: real changes often touch files outside it. |
| statusA | Check detected source-language profiles, project roots, executables, compile flags and freshness. Call once before orient in a new project or when orientation is incomplete. Pass profile/project to inspect a nested package. |
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 3 tools
The three tools have distinct roles: status is a preflight check, orient retrieves symbol context, and scope predicts change impact. There is minor overlap in that status and orient both reference profiles, but the descriptions clearly separate their purposes.
All names are single lowercase words with no underscores or camelCase, which is visually consistent. However, they mix grammatical roles (status is a noun, orient is a verb, scope is ambiguous), so there is no predictable verb_noun pattern.
Three tools is a tight, focused set for a code-orientation server, and each tool serves a clear step in the workflow. The count is slightly minimal but reasonable given the narrow scope.
The surface covers preflight, context retrieval, and impact analysis, but lacks any symbol search or discovery operation—users must already know a path:line:column. This is a notable gap for a code intelligence tool, though core workflows are partially supported.