Skip to main content
Glama

Symvanta

adr

Architecture decision records: the WHY behind code, anchored to a symbol/file/project. Survive reindexes; find_node attaches a node's decisions. Ops:

  • record: needs title+decision. Anchor with repository+symbolPath or +filePath; omit both for project-wide. Optional context, consequences, status.

  • list: records for a project, filter by repository/symbolPath/filePath/status.

  • update: needs id; status:"superseded"+supersededById, or "deprecated".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoupdate: record id (from adr list or find_node decisions).
opYesrecord: create a decision record. list: read records. update: amend or supersede one.
limitNolist: max records (default 20).
titleNorecord: short imperative title, e.g. "No pgvector".
statusNorecord/update: lifecycle status.
contextNoWhy (constraints, alternatives rejected).
decisionNorecord: what was decided.
feedbackNoOptional: report how a previous answer worked out; piggybacks on any call.
filePathNoAnchor: repo-relative file path.
projectIdNoProject id from init/list_projects. Omit for the active project.
repositoryNoRepository full name, e.g. "owner/repo". Omit when the project has one repository.
symbolPathNoAnchor: symbolPath as find_node / locate returns.
consequencesNoTrade-offs accepted.
supersededByIdNoupdate: id of the replacement record.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the write-oriented behavior of record and update, including the special constraint that superseding requires supersededById. It adds meaningful context beyond annotations by explaining that ADRs survive reindexes and are anchored to symbols/files/projects. It does not describe return formats or complete side effects, but the annotations offer no contradictory signals and the description is honest about mutating operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core concept, and organized into clear operation bullets. Every sentence carries information: persistence behavior, anchoring, and per-op requirements. There is no filler or redundant repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 parameters, multiple operations, and no output schema, the description covers the essential patterns an agent needs to call the tool correctly. It defines anchors, required fields per operation, and filtering options. Minor gaps remain, such as not mentioning the feedback piggyback field or the projectId default, but the schema fully documents those and the description handles the highest-risk decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds valuable op-conditional semantics, such as record needing title+decision, anchor alternatives (repository+symbolPath vs filePath vs project-wide), and update requiring id with specific status handling. This goes beyond the flat schema descriptions and clarifies parameter relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as managing architecture decision records, explains the core concept (WHY behind code), and enumerates the three operations record/list/update. It also differentiates from the sibling find_node by noting that find_node attaches a node's decisions, so the agent knows which tool handles retrieval vs. management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives per-operation usage rules: record requires title+decision and anchor selection, list filters by specific fields, and update requires id plus status transitions. It also points to find_node as the place where a node's decisions are attached, implying when the agent should look elsewhere. It does not explicitly state when not to use adr, but the op-specific guidance is clear enough for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Tools generally target distinct operations—repository attachment, symbol resolution, graph traversal, source access, indexing health—and the detailed routing notes reduce ambiguity. A few pairs still overlap in intent (quick_lookup vs locate symbol, context vs ask_codebase), so it is not perfectly unambiguous.

Naming Consistency3/5

All names are lowercase snake_case and readable, but the set mixes verb_noun patterns like add_repository and list_projects with single-word nouns/verbs like context, history, map, relate, and source, plus one acronym (adr). There is no predictable convention across the full surface, though individual names are clear.

Tool Count3/5

25 tools is at the high end for a single MCP server and falls in the 'feels heavy' range. The breadth is justified by the code-intelligence/query domain, but the selection surface is large for an agent to navigate efficiently.

Completeness4/5

The code indexing, search, graph query, source access, history, ADR, test lookup, and scope estimation needs are well covered. Minor gaps remain—no detach/remove repository, no ADR content editing, and source access is gated by an add-on—but these are workable.