Skip to main content
Glama

Language: English | 한국어 | 日本語 | 简体中文 | Español | Français | Deutsch

Geond Agent Protocol

CI License Python

Shared memory and coordination for AI agents that work on the same repo.

Geond gives Copilot Chat, Codex, Claude Code, Antigravity, Manus, CLI agents, and MCP-capable tools a durable place to share what happened, why it happened, what changed, what is reserved, how it was validated, and what the next agent or reviewer should do.

AI pair coding across agent tools

Geond is local-first by default. Your editor, CLI, MCP server, dashboard, and importers can run on your machine against local PostgreSQL. When a team wants multi-machine collaboration, those same local processes can point at a shared PostgreSQL-compatible profile such as Azure Database for PostgreSQL.

Geond is alpha software. Repository-centered memory, MCP, CLI, dashboard read models, reservations, handoffs, code graph indexing, usage evidence, benchmarks, and shared PostgreSQL validation are implemented today. Enterprise IAM, row-level security, dedicated MCP audit streams, broad SaaS adapters, and dependency-expanded automatic reservations are roadmap areas.

About the name: Geond is inspired by an Old English root of "beyond" and is pronounced "Jee-ond". The project helps agents go beyond stateless prompts by connecting them to inspectable shared memory.

Quick Start

Prerequisites: Python 3.11+, uv, Docker with Compose, Git, and ripgrep. See docs/developer_setup.md for OS-specific notes.

cp .env.example .env
uv sync
docker compose up -d postgres
docker compose --profile tools run --rm geond-migrate
uv run geond doctor --format text
uv run geond seed-sample
uv run geond mcp-smoke --format text --strict

Start the MCP server:

uv run geond-mcp

Preview or write MCP client config:

uv run geond install --format text
uv run geond install --write

Serve the read-only dashboard:

uv run geond dashboard serve

Open the printed localhost URL. More MCP client examples are in docs/mcp_client_config.md.

Related MCP server: iranti

MCP Server And Glama Release

geond-agent-protocol MCP server

Run the stdio MCP server directly:

uv run geond-mcp

Run it from a Docker image:

docker build -t geond-agent-protocol:local .
docker run --rm -i \
  -e GEOND_DATABASE_URL=postgresql://geond:geond_dev_password@host.docker.internal:55432/geond \
  geond-agent-protocol:local

GEOND_DATABASE_URL points Geond at PostgreSQL. Local development usually uses the Compose database from the quick start. Team mode can use GEOND_DATABASE_PROFILE=azure plus AZURE_GEOND_DATABASE_URL to share memory across machines while keeping each MCP process local.

For registry validation, Glama should deploy this repository's Dockerfile, create a Glama release, and call get_geond_server_info first. That tool does not require a database connection, so it is safe for browser-based smoke tests.

Three representative MCP workflows:

  1. Start coordinated work: review_workspace_context -> reserve_files -> edit -> record_changeset.

  2. Explain prior context: search_dev_memory -> explain_change -> get_changeset_detail.

  3. Leave a handoff: record_agent_action -> record_handoff_summary -> list_handoff_summaries.

What Geond Makes Possible

Scenario

What you can do

Proof and entrypoint

AI pair coding across agent tools

Let different agents work on the same repo through shared memory, reservations, handoffs, and review context. Verified locally with Codex and Antigravity; the same pattern applies to Copilot, Claude Code, Continue, Manus, or custom MCP agents.

docs/antigravity_codex_geond_verification.md, docs/mcp_client_config.md

Multi-PC collaboration

Run geond-mcp, CLI, and dashboard locally on each machine while Windows, MacBook, CI, or another teammate all read and write the same shared PostgreSQL profile.

docs/azure_validation/team_collab_validation.md, docs/azure_validation/README.md

PM and reviewer dashboard

Review agent lanes, sessions, handoffs, changesets, code risk, usage evidence, timeline, and lineage without reading raw MCP JSON.

uv run geond dashboard serve, docs/agent_activity_dashboard.md

Safe parallel editing

Ask agents to review current context, reserve files or symbols, record changesets, and leave structured handoffs before another agent edits the same target.

docs/agent_operating_loop.md, uv run geond review-context ...

Cross-agent memory import

Import Copilot Chat, Codex, Claude Code, Antigravity, and Manus task evidence into one redacted search and evidence model.

docs/agent_testbeds.md, docs/manus_integration.md

Compact MCP context

Return snippets, evidence refs, scores, and follow-up detail paths instead of flooding an LLM with raw transcripts by default.

tests/test_mcp_payload_budget.py, docs/ai_usage_observability.md

Demo GIFs

These GIFs are generated from sanitized scenario text, not private transcripts. Regenerate them with uv run python scripts/render_readme_gifs.py.

Shared PostgreSQL team mode

Reviewer dashboard loop

For browser-verified dashboard captures and longer terminal demo notes, see docs/public_demo_script.md.

Learning Path

Start with learn/README.md for guided notebooks that mirror the README scenarios:

Lesson

Focus

01 Local Shared Memory

Run local PostgreSQL, seed sample evidence, search memory, and smoke-test MCP.

02 Handoffs And Reservations

Practice context review, symbol reservations, conflicts, and handoff packets.

03 AI Pair Coding Workflow

Share evidence between Agent A and Agent B across different agent tools.

04 Shared PostgreSQL Team Mode

Understand optional shared PostgreSQL profiles for multi-PC collaboration.

How It Works

flowchart LR
    A[Agent transcripts and actions] --> B[Adapters and redaction]
    B --> P[(PostgreSQL + pgvector)]
    C[MCP clients and CLI] --> M[Geond MCP / CLI]
    M --> P
    P --> S[Search and evidence refs]
    P --> G[Code graph]
    P --> R[Reservations and handoffs]
    P --> D[Read-only dashboard]
    G --> R
    R --> D
    S --> D
  1. Memory: importers normalize sessions, events, messages, usage records, and task history from agent tools, then redact common secrets before persistence.

  2. Code graph: Python, TypeScript, and JavaScript indexers connect files, symbols, imports, calls, references, and changesets.

  3. Reservations: agents can claim files or symbols with TTLs, policy checks, renewals, releases, and auditable reservation events.

  4. Handoffs: agents leave structured next-action packets with tested commands, blockers, remaining risks, and evidence refs.

  5. Dashboard: humans and PM/orchestrator agents read compact overview, activity, timeline, code risk, usage, lineage, reservations, and handoff read models.

  6. Shared PostgreSQL: local-first setups use Docker PostgreSQL; team profiles can point local processes at Azure or another PostgreSQL-compatible backend.

Common Workflows

Goal

Command or doc

Check environment

uv run geond doctor --format text

Import Copilot Chat

uv run geond import-vscode <workspaceStorage-or-session-path>

Import Codex

uv run geond import-codex <codex-sessions-dir> --workspace-uri <uri>

Import Claude Code

uv run geond import-claude-code <claude-projects-dir> --workspace-uri <uri>

Import Antigravity

uv run geond import-antigravity <storage-path> --workspace-uri <uri>

Import Manus task

uv run geond import-manus-task <task-id> --workspace-uri <uri>

Search memory

uv run geond search "why did this change" --mode hybrid

Index code

uv run geond index-tree-sitter <path>

Record a changeset

uv run geond record-changeset <workspace-id-or-uri> ...

Reserve work

uv run geond reserve-files ... or uv run geond reserve-symbols ...

Review conflicts

uv run geond review-context <workspace-id-or-uri> --format markdown

Leave handoff

uv run geond record-handoff <workspace-id-or-uri> ...

Check orchestrator run

uv run geond orch status <run-id>

Agent operating loop

docs/agent_operating_loop.md

MCP clients

docs/mcp_client_config.md

For a more complete demo path, see docs/demo.md.

Shared Team Database

Use GEOND_DATABASE_URL for the default local database. To keep local processes but share memory across machines, add a second profile:

GEOND_DATABASE_PROFILE=azure
AZURE_GEOND_DATABASE_URL=postgresql://...

The dashboard classifies the active source as local PostgreSQL, Azure PostgreSQL, or remote PostgreSQL without showing user info, passwords, or tokens. The validated team flow is documented in docs/azure_validation/team_collab_validation.md.

README Patterns Borrowed

Geond's README borrows a few public onboarding patterns and adapts them to this project rather than copying their product scope:

  • OpenHuman: explain transparent, local-first memory and compact context clearly.

  • CLI-Anything: make the first screen visual and action-oriented with short commands and GIFs.

  • Microsoft AI Agents for Beginners: present agent concepts as scenario tables and repeatable learning paths.

Documentation

Contributing

Contributions are welcome while the project is alpha. Good first areas are importers, docs, tests, dashboard read-model improvements, MCP contract tests, installer ergonomics, and focused adapters for non-development work artifacts.

Read CONTRIBUTING.md before opening a PR. It covers setup, privacy rules, test commands, redaction expectations, and files that must stay out of git. Security reporting is in SECURITY.md.

Security And Privacy

Geond is designed for local-first use. Importers redact common secrets before persistence, external embeddings are opt-in, and the dashboard avoids exposing credential-bearing connection strings. Even so, agent transcripts can contain sensitive information. Review .env, transcripts, screenshots, benchmark logs, and dashboard captures before sharing them.

Do not commit private transcripts, local evidence exports, local-only drafts, repo, tmp, result, results, or generated videos. See SECURITY.md and docs/open_source_readiness.md.

License

Apache-2.0. See LICENSE.

Available Tools

30 tools
close_handoff_summaryClose handoff summaryA

Purpose: Mark a handoff as consumed or no longer active. When to use: call after the receiving agent has acted on the handoff or a human has reviewed it. Inputs: handoff_id and final status. Side effects: updates handoff status. Output: count of closed records. Failure modes: returns zero when the handoff id does not match an active row.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFinal status to set, usually closed.closed
handoff_idYesHandoff UUID to close.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Discloses side effects ('updates handoff status'), output ('count of closed records'), and failure modes ('returns zero when the handoff id does not match an active row'). Good coverage given no annotations provided.

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?

Description is well-structured with clear headings (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence is informative and concise, no wasted words.

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

Completeness5/5

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

Given the tool's simplicity (2 parameters, output schema exists), the description covers purpose, usage, side effects, and failure modes comprehensively. It is complete for the complexity level.

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 description adds value by reiterating the purpose of the two parameters and highlighting the default status. The failure mode note provides additional context.

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?

Description clearly states 'Mark a handoff as consumed or no longer active', which is a specific verb and resource. It distinguishes from sibling tools like record_handoff_summary and list_handoff_summaries.

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?

Explicitly states when to use: 'call after the receiving agent has acted on the handoff or a human has reviewed it'. No explicit alternatives mentioned, but the context from sibling tools provides distinction.

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

explain_changeExplain file changeA

Purpose: Explain why a file may have changed using stored changesets, code graph entries, snapshots, and related messages. When to use: call during code review, bug triage, or handoff recovery when a file path needs historical context. Inputs: file_path identifies the repo-relative file; limit caps evidence volume; include_narrative adds a deterministic cited summary. Side effects: none beyond database reads. Output: changesets, touched entities, snapshots, related messages, and optional geond.evidence.v1 narrative citations. Failure modes: returns sparse evidence when the file was not indexed or imported.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of evidence rows to include per evidence category.
file_pathYesRepo-relative path to the file whose history should be explained.
include_narrativeNoWhether to include a concise cited narrative summary.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It states 'Side effects: none beyond database reads,' and mentions failure modes, covering key behavioral traits beyond the schema.

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 well-structured with clear sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence is informative, and there is no redundancy.

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

Completeness5/5

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

Given the presence of an output schema (indicated in context signals), the description appropriately omits return value details but covers purpose, usage, inputs, side effects, and failure modes, making it fully contextual.

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

Parameters5/5

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

Schema description coverage is 100%, but the description adds context: 'file_path identifies the repo-relative file; limit caps evidence volume; include_narrative adds a deterministic cited summary.' This enriches the schema definitions.

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 states 'Explain why a file may have changed using stored changesets, code graph entries, snapshots, and related messages.' It uses a specific verb and resource, distinguishing it from siblings like get_changeset_detail which focuses on a single changeset.

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

Usage Guidelines5/5

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

The description explicitly says 'call during code review, bug triage, or handoff recovery when a file path needs historical context.' This provides clear context for when to use the tool, and the failure modes section helps avoid misuse.

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

get_active_reservationsGet active file reservationsA

Purpose: Read current file reservations for a workspace. When to use: call before editing or reviewing files to detect coordination conflicts. Inputs: workspace_id and optional file_paths filter. Side effects: none beyond database reads. Output: active reservations with agents, purpose, TTL, and file paths. Failure modes: returns an empty list when no active reservations match.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathsNoOptional repo-relative file paths used to filter reservations.
workspace_idYesWorkspace UUID whose file reservations should be listed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It accurately states 'Side effects: none beyond database reads' and describes output and failure modes. Could mention authorization needs, but common sense suffices.

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 extremely concise with a clear bullet-point structure. Each section is one sentence, front-loading critical information with no fluff.

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 that an output schema exists, the description provides sufficient context about the tool's behavior and output structure. Could mention if there is pagination, but likely not needed for this tool.

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

Parameters3/5

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

Schema coverage is 100% (both parameters described in schema). The description only names the parameters without additional semantics, so it adds minimal value beyond the schema.

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 states the purpose as 'Read current file reservations for a workspace' with specific verb and resource. It distinguishes from sibling tools that modify reservations (e.g., reserve_files, release_reservation).

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

Usage Guidelines5/5

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

Explicitly says 'call before editing or reviewing files to detect coordination conflicts', providing clear when-to-use guidance. Inputs are summarized (workspace_id and optional file_paths filter).

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

get_agent_activity_eventsGet agent activity eventsA

Purpose: Return normalized activity events for dashboards and orchestrators. When to use: call to inspect recent agent runs, reservations, handoffs, changesets, or status transitions. Inputs: workspace_id plus optional limit, kind, agent, and status filters. Side effects: none beyond database reads. Output: event records normalized for UI or agent consumption. Failure modes: returns an empty event list when no activity matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOptional event kind filter.
agentNoOptional agent name filter.
limitNoMaximum number of events to return.
statusNoOptional event status filter.
workspace_idYesWorkspace UUID whose activity should be read.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It states 'Side effects: none beyond database reads' and 'Failure modes: returns an empty event list when no activity matches,' adding valuable behavioral context about safety and error cases.

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 uses clear section headers (Purpose, When to use, Inputs, Side effects, Output, Failure modes) and is very concise. Every sentence adds value, and it is front-loaded with the purpose.

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 the complexity (5 parameters, 1 required) and existence of an output schema, the description covers purpose, inputs, side effects, and failure modes. It does not mention sorting or pagination, but for a read tool with an output schema, this is adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description lists the inputs but adds no additional semantic detail beyond what is in the schema. It does not explain formats, allowed values, or relationships between parameters.

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 states 'Return normalized activity events for dashboards and orchestrators' with a specific verb and resource. It distinguishes this tool from siblings by listing the event kinds it covers (runs, reservations, handoffs, changesets), making it clear what this tool does compared to more specific tools like get_active_reservations or get_changeset_detail.

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 explicitly says 'When to use: call to inspect recent agent runs, reservations, handoffs, changesets, or status transitions,' providing clear context. However, it does not explicitly state when not to use this tool or name alternative tools, so it lacks explicit exclusions.

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

get_changeset_detailGet changeset detailA

Purpose: Retrieve full stored detail for one changeset. When to use: call after a search or file explanation returns a changeset id or git commit that needs closer inspection. Inputs: changeset_ref accepts a UUID, full git SHA, or unambiguous SHA prefix; include_narrative controls cited prose. Side effects: none beyond database reads. Output: files, touched code entities, evidence references, ambiguity status, and optional narrative. Failure modes: returns found=false for missing refs or ambiguous=true when a prefix matches multiple changesets.

ParametersJSON Schema
NameRequiredDescriptionDefault
changeset_refYesChangeset UUID, full git commit SHA, or unambiguous commit prefix.
include_narrativeNoWhether to include a concise cited narrative summary.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the burden. It states 'Side effects: none beyond database reads' and details failure modes ('returns found=false' and 'ambiguous=true'). It also outlines output fields, ensuring the agent understands the tool's behavior.

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 structured with clear section headers (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence is essential, and there is no redundancy or wasted words.

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

Completeness5/5

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

Given the tool's moderate complexity (2 parameters, output schema exists), the description is complete. It covers purpose, usage context, side effects, failure modes, and output overview, leaving no gaps for an agent to make incorrect assumptions.

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%, but the description adds value by clarifying that changeset_ref accepts 'UUID, full git SHA, or unambiguous SHA prefix' (more specific than schema's 'commit prefix') and that include_narrative 'controls cited prose' (adds nuance beyond schema's description).

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 explicitly states 'Retrieve full stored detail for one changeset', using a specific verb and resource. It clearly distinguishes from sibling tools like explain_change or get_symbol_context, none of which retrieve full changeset details.

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 includes a 'When to use' section that explains the context: call after a search returns a changeset ID or git commit needing closer inspection. This provides clear guidance, though no explicit when-not or alternatives are mentioned.

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

get_dashboard_overviewGet dashboard overviewA

Purpose: Return a compact read-only dashboard summary for one workspace. When to use: call when a human reviewer, PM agent, or orchestrator needs current state without reading raw transcripts. Inputs: workspace_id and limit. Side effects: none beyond database reads. Output: summary cards, recent activity, handoffs, reservations, and risk signals. Failure modes: returns sparse sections for a new workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of recent rows to include in overview sections.
workspace_idYesWorkspace UUID whose dashboard overview should be returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

No annotations exist, so the description carries full responsibility. It explicitly states 'Side effects: none beyond database reads' and 'Failure modes: returns sparse sections for a new workspace,' which gives the agent a clear behavioral model. This exceeds what is necessary.

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 highly structured with labelled sections (Purpose, When to use, Inputs, etc.) and consists of five concise sentences with no redundancy or filler.

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 the complexity of a dashboard tool, the description covers purpose, usage context, inputs, side effects, output components, and failure mode. It omits potential details like authentication or performance, but is reasonably complete for a read-only tool.

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

Parameters3/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 merely restates the inputs ('workspace_id and limit') without adding any additional semantic context or constraints beyond the schema fields.

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

Purpose4/5

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

The description clearly states the tool returns a 'compact read-only dashboard summary for one workspace' with a specific verb and resource. However, it does not explicitly differentiate from siblings like get_active_reservations or list_handoff_summaries, though their purposes are distinct.

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?

Provides explicit context: 'call when a human reviewer, PM agent, or orchestrator needs current state without reading raw transcripts.' This clearly indicates when to use, but lacks guidance on when not to use or specific alternatives among the many sibling tools.

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

get_geond_server_infoGet Geond server infoA

Purpose: Return a safe, read-only summary of the Geond Agent Protocol MCP server. When to use: Call this first when an MCP host, Glama browser session, or new agent needs to understand what Geond does before connecting it to PostgreSQL. Inputs: none. Side effects: none; this tool never opens a database connection and does not read local transcripts. Output: server purpose, version, environment variables, tool groups, setup hints, and example workflows. Failure modes: only package metadata lookup fallback is expected, in which case the declared alpha version is returned.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Despite no annotations, the description fully discloses behavior: safe, read-only, no database connection, no reading of transcripts, and no side effects.

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 concise with labeled sections (Purpose, When to use, etc.), and every sentence adds distinct value without redundancy.

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

Completeness5/5

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

For a no-parameter info tool with an output schema, the description lists output contents and failure modes, making it complete.

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?

No parameters exist, and the description correctly notes 'Inputs: none', meeting the baseline expectation for 0-parameter tools.

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 states the verb 'Return' and resource 'safe, read-only summary of the Geond Agent Protocol MCP server', and its purpose is distinct from sibling tools that handle reservations, changesets, etc.

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?

Explicit directive 'Call this first' for understanding Geond before connecting to PostgreSQL provides clear context, though no exclusion cases are mentioned.

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

get_symbol_conflictsGet symbol conflictsA

Purpose: Read active symbol reservations that could conflict with planned work. When to use: call before changing shared APIs or named entities. Inputs: workspace_id and optional symbols filter. Side effects: none beyond database reads. Output: active symbol reservations with owners, purposes, and expiry. Failure modes: returns an empty list when there are no active conflicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNoOptional symbol names or qualified identifiers to filter conflicts.
workspace_idYesWorkspace UUID whose symbol reservations should be checked.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

Despite no annotations, the description fully discloses side effects ('none beyond database reads'), failure modes ('returns empty list when no active conflicts'), and output fields. This provides comprehensive behavioral insight beyond what annotations would cover.

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 structured into labelled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes) with no redundant sentences. Every element serves a clear purpose.

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

Completeness5/5

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

Given the tool's simple nature (2 params, read-only), the description covers all essential aspects: purpose, usage context, inputs, side effects, output, and failure modes. It is fully sufficient for an agent to use correctly, even without annotations or full output schema visibility.

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?

The input schema has 100% description coverage, but the description adds value by summarizing the parameters and specifying output fields (owners, purposes, expiry). This enhances understanding beyond raw schema definitions.

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 uses specific verb ('Read') and resource ('symbol reservations that could conflict with planned work'), clearly distinguishing this read operation from sibling tools like get_active_reservations (all reservations) and reserve_symbols (creation).

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?

Explicitly states 'call before changing shared APIs or named entities', providing a concrete usage scenario. Although it doesn't list explicit alternatives or exclusions, the context is clear enough for an agent to infer when this tool is appropriate.

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

get_symbol_contextGet symbol contextA

Purpose: Find known code graph entities that match a symbol name. When to use: call before modifying a function, class, method, or variable so the agent can see definitions and related changesets. Inputs: symbol is the name to match; limit caps returned entities. Side effects: none beyond database reads. Output: matching entities with file locations, workspace data, related changesets, and evidence refs. Failure modes: returns an empty list when the code graph has not indexed the symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of matching code entities to return.
symbolYesFunction, class, method, or other code symbol name to look up.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description fully covers behavioral traits: side effects ('none beyond database reads'), output details (file locations, workspace data, related changesets, evidence refs), and failure modes ('returns an empty list when the code graph has not indexed the symbol'). This is comprehensive.

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

Conciseness4/5

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

The description is well-structured with labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). It is concise but not overly terse; every section adds value. Could be slightly more compact without losing clarity.

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

Completeness5/5

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

Given the presence of an output schema and the tool's straightforward nature (lookup by symbol), the description covers all essential aspects: purpose, usage context, inputs, side effects, output, and failure modes. It is fully complete for an agent to understand invocation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description's explanation of parameters ('symbol is the name to match; limit caps returned entities') adds minimal meaning beyond the schema descriptions, which already define the parameters adequately.

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 states the verb 'find' and the resource 'code graph entities', and specifies matching by symbol name. It distinguishes itself from sibling tools like explain_change and get_changeset_detail, which focus on changes or workspace data, by focusing on code graph entity lookup.

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 explicitly says when to use: 'call before modifying a function, class, method, or variable so the agent can see definitions and related changesets'. It provides a clear context but does not mention when not to use or alternative tools, which would make it more complete.

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

get_workspace_coordination_policyGet workspace coordination policyA

Purpose: Read reservation and conflict policy for a workspace. When to use: call before reserving files or symbols in a multi-agent workflow. Inputs: workspace_id_or_uri identifies the workspace. Side effects: none beyond database reads. Output: current conflict policy and related coordination settings. Failure modes: fails when the workspace cannot be resolved.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_id_or_uriYesWorkspace UUID, root URI, or alias URI whose policy should be read.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden. It explicitly states 'Side effects: none beyond database reads,' 'Output: current conflict policy and related coordination settings,' and 'Failure modes: fails when the workspace cannot be resolved.' This fully discloses behavior.

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 extremely concise with clear labels (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence adds value with no redundancy. It is well-structured and easy to scan.

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

Completeness5/5

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

For a simple tool with one parameter and an output schema, the description covers all necessary aspects: purpose, usage context, input, behavioral side effects, output, and failure modes. No gaps remain.

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

Parameters3/5

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

Schema coverage is 100% and the description says 'Inputs: workspace_id_or_uri identifies the workspace.' This adds minimal meaning beyond the schema's description ('Workspace UUID, root URI, or alias URI whose policy should be read.'). Baseline 3 is appropriate due to high schema coverage.

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 explicitly states 'Purpose: Read reservation and conflict policy for a workspace.' It uses a specific verb ('read') and resource ('reservation and conflict policy'), and clearly distinguishes from sibling tools like 'set_workspace_coordination_policy' and reservation tools.

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 says 'When to use: call before reserving files or symbols in a multi-agent workflow.' This provides clear context and timing, but does not explicitly state when not to use or list alternatives. However, it effectively guides the agent to use this tool before reservation actions.

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

get_workspace_lineage_graphGet workspace lineage graphA

Purpose: Return a graph of major collaboration artifacts for a workspace. When to use: call when an agent needs a high-level map of sessions, changesets, handoffs, reservations, and activity. Inputs: workspace_id and limit. Side effects: none beyond database reads. Output: nodes and edges suitable for dashboard or orchestration analysis. Failure modes: returns a sparse graph for new or unindexed workspaces.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of lineage nodes or rows to include.
workspace_idYesWorkspace UUID whose lineage graph should be returned.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description fully carries the burden. It discloses no side effects beyond reads, mentions failure modes (sparse graph for new workspaces), and implies read-only behavior. This is comprehensive for a graph-returning tool.

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?

Extremely concise with bullet-like 'Purpose', 'When to use', 'Inputs', 'Side effects', 'Output', 'Failure modes'. No fluff, easy to scan, and each section serves a clear purpose.

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

Completeness5/5

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

Given the tool's complexity (graph output), the description covers inputs, side effects, output format, and failure modes. Output schema exists so return values are defined elsewhere. No gaps remain.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description merely lists parameters without adding new semantics beyond what the schema already provides. No format constraints or interaction notes are given.

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?

Description clearly states it returns a graph of major collaboration artifacts for a workspace. The verb 'return a graph' is specific and the resource 'major collaboration artifacts' is well-defined. It distinguishes from siblings like get_active_reservations or get_dashboard_overview which focus on specific items rather than a holistic graph.

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?

Explicitly states when to use: when a high-level map is needed. It does not explicitly exclude scenarios or name alternatives, but the purpose is clear enough for an agent to infer appropriate usage. Sibling tools exist for more specific queries, but no contrast is provided.

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

list_handoff_summariesList handoff summariesA

Purpose: Retrieve handoff packets for a workspace or across workspaces. When to use: call when resuming a task, auditing pending work, or preparing context for another agent. Inputs: optional workspace filter, status filter, and limit. Side effects: none beyond database reads. Output: handoff summaries with status, agents, next steps, blockers, and risks. Failure modes: returns an empty list when no handoffs match.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of handoffs to return.
statusNoOptional handoff status filter such as open, closed, or blocked.
workspace_id_or_uriNoOptional workspace UUID, root URI, or alias URI to filter handoffs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It states side effects are limited to database reads, describes output fields, and notes failure mode returns empty list. It is transparent, though it could mention ordering or pagination behavior beyond the limit parameter.

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 well-structured with clear labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). It is concise with no extraneous words, and easily scannable.

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 the tool's simplicity (3 optional parameters, output schema exists), the description covers purpose, usage, inputs, side effects, output, and failure modes adequately. It does not explain the output schema content in detail, but that is provided by the schema itself.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description paraphrases the three parameters (workspace filter, status filter, limit) but does not add new meaning or clarify usage beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states the tool's purpose as retrieving handoff packets for a workspace or across workspaces, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like close_handoff_summary or record_handoff_summary, which would enhance distinguishing value.

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 provides explicit guidance on when to use the tool: resuming a task, auditing pending work, or preparing context for another agent. It lacks explicit when-not-to-use scenarios or alternatives, but the provided context is clear and helpful.

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

list_reservation_eventsList reservation eventsA

Purpose: Inspect audit history for reservation lifecycle events. When to use: call during conflict analysis, stale reservation cleanup, or team coordination review. Inputs: optional workspace, reservation kind, action filter, and limit. Side effects: none beyond database reads. Output: created, renewed, released, and expired reservation events. Failure modes: returns an empty list when no events match.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of audit events to return.
actionNoOptional lifecycle action filter such as created, renewed, released, or expired.
reservation_kindNoOptional kind filter such as file or symbol.
workspace_id_or_uriNoOptional workspace UUID, root URI, or alias URI to filter events.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description provides side effects ('none beyond database reads'), output types, and failure modes, fully disclosing behavioral traits.

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 well-organized into labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes), making it easy to parse and front-loads key information.

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

Completeness5/5

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

Given the tool has an output schema, the description appropriately covers purpose, usage, side effects, and failure modes, leaving no critical gaps for an audit list operation with optional parameters.

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

Parameters3/5

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

Schema coverage is 100% with detailed descriptions. The description merely summarizes inputs ('optional workspace, reservation kind, action filter, and limit') without adding new semantic meaning beyond the schema.

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 states 'Inspect audit history for reservation lifecycle events' with a specific verb and resource, clearly distinguishing it from sibling tools focused on reservation creation, release, or renewal.

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?

Explicit 'When to use' section lists specific scenarios (conflict analysis, stale reservation cleanup, team coordination review). It lacks explicit 'when not to use' but provides clear context.

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

list_workspace_aliasesList workspace aliasesA

Purpose: Inspect workspace alias mappings. When to use: call when an agent is unsure whether two filesystem roots point to the same repository memory. Inputs: workspace_id_or_uri optionally scopes the list. Side effects: none beyond database reads. Output: alias rows including canonical workspace identifiers and reasons. Failure modes: returns an empty list when no aliases exist or the filter matches nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_id_or_uriNoOptional workspace UUID, root URI, or alias URI used to filter aliases.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description fully covers behavior: 'Side effects: none beyond database reads' and 'Failure modes: returns an empty list when no aliases exist or the filter matches nothing.' This gives clear transparency.

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 structured with labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). It is concise and every sentence adds value, with no wasted words.

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

Completeness5/5

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

Given the presence of an output schema, the description appropriately explains the output briefly. It covers purpose, usage, side effects, and failure modes, providing complete context for a simple list tool.

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?

The input schema covers the parameter with a description, and the tool description adds 'workspace_id_or_uri optionally scopes the list.' Since schema coverage is 100%, the description adds marginal value, meriting a 4.

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 explicitly states 'Purpose: Inspect workspace alias mappings,' providing a clear verb and resource. It distinguishes from sibling tools like 'register_workspace_alias' and 'suggest_workspace_aliases' by focusing on inspection.

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 a specific usage scenario: 'call when an agent is unsure whether two filesystem roots point to the same repository memory.' It does not explicitly list when not to use or alternatives, but the provided guidance is clear and actionable.

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

record_agent_actionRecord agent actionA

Purpose: Log what an agent is doing in a workspace. When to use: call at the start or end of meaningful work so other agents can see active intent and progress. Inputs: workspace_id, agent_name, action_type, summary, optional intent/status/session ids. Side effects: writes an activity row. Output: action_id for future references. Failure modes: fails when the workspace id is invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentNoOptional reason or objective behind the action.
statusNoAction status such as recorded, in_progress, completed, or blocked.recorded
summaryYesConcise human-readable activity summary.
agent_nameYesName of the agent or tool performing the action.
session_idNoOptional internal session UUID associated with the action.
action_typeYesShort action category such as edit, review, plan, test, or handoff.
workspace_idYesWorkspace UUID where the action occurred.
session_external_idNoOptional external transcript/session id associated with the action.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Discloses side effects ('writes an activity row') and failure modes ('fails when the workspace id is invalid'), which is useful since no annotations are provided. Could expand on other side effects like permissions or rate limits.

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 uses labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes) which is highly structured and front-loaded. Every sentence adds value with no redundant text.

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?

Covers purpose, usage, inputs, side effects, output, and failure modes. For a logging tool with good schema coverage, this is nearly complete. Could mention what the returned action_id format is or any constraints on the action_type.

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

Parameters3/5

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

Schema description coverage is 100%, so the description adds minimal value beyond listing inputs. It notes that some parameters are optional, but this is already implied by the schema. Baseline of 3 is appropriate.

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 explicitly states 'Purpose: Log what an agent is doing in a workspace.' It uses a specific verb ('log') and resource ('agent action'), and clearly distinguishes from sibling tools like 'record_changeset' which log different entities.

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?

Provides explicit timing guidance: 'call at the start or end of meaningful work so other agents can see active intent and progress.' Though alternatives aren't mentioned, the purpose is distinct enough that this suffices.

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

record_changesetRecord changesetA

Purpose: Persist a code changeset with files, optional patches, git metadata, and session links. When to use: call after an agent edits or reviews files so future agents can understand what changed and why. Inputs: files contains changed file objects; workspace_id or workspace_uri is required; metadata links commits, branches, intent, and sessions. Side effects: writes changeset and file rows. Output: changeset identifiers and summary fields. Failure modes: raises when no workspace identifier is supplied or payloads are invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesList of changed file objects with file_path, status, and optional patch.
branchNoOptional branch name associated with the changeset.
intentNoShort explanation of why the changes were made.
summaryNoHuman-readable summary of the changeset.
metadataNoOptional JSON metadata for tools, test evidence, or external refs.
git_commitNoOptional git commit SHA associated with the changeset.
session_idNoOptional internal session UUID to link to this changeset.
workspace_idNoExisting workspace UUID; required if workspace_uri is omitted.
workspace_uriNoWorkspace root URI used to create or resolve a workspace.
workspace_nameNoOptional display name when creating a workspace from workspace_uri.
session_external_idNoOptional external transcript/session id to link to this changeset.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions 'Side effects: writes changeset and file rows' and 'Failure modes: raises when no workspace identifier is supplied or payloads are invalid,' which discloses key behaviors beyond what the schema conveys.

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 well-structured with labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence provides essential information without redundancy, making it concise and efficient.

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

Completeness5/5

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

Given 11 parameters and moderate complexity, the description covers purpose, usage timing, side effects, failure modes, and input overview. An output schema exists (context signals indicate true), so the description does not need to detail return values, yet it still mentions 'Output: changeset identifiers and summary fields.' This is complete for the agent to decide and invoke the tool.

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?

The input schema has 100% description coverage, so baseline is 3. The description adds value by summarizing the inputs: 'files contains changed file objects; workspace_id or workspace_uri is required; metadata links commits, branches, intent, and sessions,' clarifying relationships and requirements.

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 starts with 'Purpose: Persist a code changeset with files, optional patches, git metadata, and session links,' clearly stating the verb (persist) and resource (code changeset). It distinguishes from siblings like 'get_changeset_detail' and 'explain_change' that have different purposes.

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 says 'When to use: call after an agent edits or reviews files so future agents can understand what changed and why,' providing a clear context. However, it does not explicitly mention when not to use or name alternative tools for other scenarios.

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

record_handoff_summaryRecord handoff summaryA

Purpose: Store a structured handoff packet for the next agent or human reviewer. When to use: call when pausing, finishing, or transferring a task. Inputs: workspace_id, from/to agents, summary, next steps, blockers, tested commands, remaining risks, next action, and template. Side effects: writes a handoff row. Output: handoff_id for future retrieval. Failure modes: invalid workspace or malformed list fields are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoHandoff status such as open, closed, or blocked.open
summaryYesConcise summary of completed work and current state.
templateNoHandoff template name, usually standard.standard
blocked_onNoOptional blockers that prevent progress.
next_stepsNoOptional ordered next steps for the receiver.
next_actionNoSingle most important next action.
workspace_idYesWorkspace UUID where the handoff belongs.
to_agent_nameNoOptional intended receiving agent or role.
from_agent_nameYesAgent that is leaving the handoff.
remaining_risksNoKnown risks, caveats, or areas needing follow-up.
tested_commandsNoCommands already run to validate the work.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

Since no annotations are provided, the description fully covers behavioral traits: 'Side effects: writes a handoff row', 'Output: handoff_id for future retrieval', and 'Failure modes: invalid workspace or malformed list fields are rejected'. This is comprehensive for a mutation tool.

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 structured with clear bullet points (Purpose, When to use, Inputs, Side effects, Output, Failure modes) and is very concise. Every sentence adds value and is front-loaded.

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

Completeness5/5

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

Given the 11 parameters with 100% schema coverage and existence of an output schema, the description covers purpose, usage, side effects, output, and failure modes. Nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description lists input parameters but does not add meaning beyond the schema's descriptions. No examples or formatting hints are provided.

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 states 'Store a structured handoff packet for the next agent or human reviewer' with specific verb and resource. It distinguishes from siblings like close_handoff_summary and list_handoff_summaries through its unique write operation.

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 explicitly states 'call when pausing, finishing, or transferring a task' providing clear context. It does not mention when not to use or name alternatives, but the context is specific enough for an agent to decide.

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

record_lsp_referencesRecord LSP referencesA

Purpose: Import language-server reference edges into the code graph. When to use: call after collecting definitions or references from an external LSP client. Inputs: workspace_id, reference payloads, and replace flag. Side effects: writes or replaces code graph reference rows. Output: import counts and status. Failure modes: malformed reference payloads or invalid workspace ids are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
replaceNoWhether to replace existing reference edges for the imported scope.
referencesYesList of LSP-style reference objects with source and target locations.
workspace_idYesWorkspace UUID receiving LSP reference edges.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description compensates fully. It discloses side effects ('writes or replaces code graph reference rows'), output shape ('import counts and status'), and failure modes ('malformed reference payloads or invalid workspace ids are rejected'). This is comprehensive and does not contradict any annotations.

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 structured with clear headings (Purpose, When to use, Inputs, Side effects, Output, Failure modes) and each section is a single concise line. There is no redundant or extraneous content.

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

Completeness5/5

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

Given the tool complexity (3 parameters, output schema exists), the description covers all necessary context: purpose, usage timing, inputs, side effects, output summary, and failure modes. No gaps remain for an AI agent to decide or invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter already well-described (e.g., workspace_id: 'Workspace UUID receiving LSP reference edges'). The description only lists the parameter names, adding no new semantics beyond what the schema provides. Baseline 3 applies.

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 states the purpose: 'Import language-server reference edges into the code graph.' It uses a specific verb and resource, and distinguishes from sibling tools that record other types of data (e.g., record_agent_action, record_changeset).

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 provides explicit guidance: 'call after collecting definitions or references from an external LSP client.' This clarifies when to use the tool, though it does not explicitly mention when not to use it or provide alternatives.

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

record_workspace_fingerprintsRecord workspace fingerprintsA

Purpose: Store durable repository identity fingerprints for alias detection. When to use: call after discovering git remotes, first commits, or other stable repo identifiers on a workspace. Inputs: workspace_id_or_uri selects the workspace; fingerprints is a list of typed identity facts. Side effects: writes fingerprint rows. Output: stored fingerprint records. Failure modes: fails when the workspace cannot be resolved or fingerprint payloads are malformed.

ParametersJSON Schema
NameRequiredDescriptionDefault
fingerprintsYesList of fingerprint objects such as git remote URLs or first commit IDs.
workspace_id_or_uriYesWorkspace UUID, root URI, or alias URI receiving fingerprints.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states side effects ('writes fingerprint rows'), output ('stored fingerprint records'), and failure modes ('fails when the workspace cannot be resolved or fingerprint payloads are malformed'). This covers key behavioral aspects, though details on auth, rate limits, or idempotency are missing.

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 highly concise and well-structured, using labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence is informative and earns its place, with crucial information front-loaded.

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

Completeness5/5

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

Given the tool's simplicity (2 parameters, no nested objects) and the existence of an output schema, the description covers all essential aspects: purpose, usage context, side effects, output, and failure modes. Nothing critical is omitted.

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

Parameters3/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 minimal extra meaning beyond the schema: it rephrases 'workspace_id_or_uri' as 'selects the workspace' and 'fingerprints' as 'typed identity facts'. This provides slight additional context but does not significantly enhance understanding beyond the schema descriptions.

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 states the specific verb 'store' and resource 'durable repository identity fingerprints' along with the purpose 'for alias detection'. It effectively distinguishes this tool from siblings like 'suggest_workspace_aliases' and 'register_workspace_alias' by focusing on storing fingerprints rather than aliases.

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 provides explicit when-to-use guidance: 'call after discovering git remotes, first commits, or other stable repo identifiers on a workspace.' This is clear and contextual, though it does not include explicit when-not-to-use or alternative tool references, which prevents a perfect score.

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

register_workspace_aliasRegister workspace aliasA

Purpose: Link a moved or renamed workspace URI to an existing workspace record. When to use: call when the same repository appears under a new local path, mount point, or machine-specific URI. Inputs: workspace_id_or_uri selects the existing workspace; alias_uri is the new URI; reason and metadata document why it changed. Side effects: writes an alias row. Output: alias record details. Failure modes: fails if the referenced workspace cannot be resolved or the alias conflicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoShort reason such as moved, renamed, cloned, or mounted.moved
metadataNoOptional JSON metadata explaining source machine, remote, or migration context.
alias_uriYesNew root URI or path alias that should resolve to the workspace.
workspace_id_or_uriYesExisting workspace UUID, root URI, or alias URI to attach the alias to.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries full burden and excels. It explicitly lists side effects ('writes an alias row'), output ('alias record details'), and failure modes ('fails if the referenced workspace cannot be resolved or the alias conflicts'), providing comprehensive behavioral context.

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 well-structured with clear headings (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence serves a purpose, and it is front-loaded with the most critical information. No unnecessary words.

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

Completeness5/5

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

Given the tool's complexity (4 parameters, no nested objects) and presence of an output schema, the description covers all necessary aspects: purpose, usage context, input details, side effects, output, and failure modes. It is fully sufficient for an agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100% with each parameter already described. The description's 'Inputs' section adds minimal value beyond grouping (e.g., 'reason and metadata document why it changed'), but does not provide details not already in the schema. Baseline of 3 is appropriate.

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 explicitly states the purpose: 'Link a moved or renamed workspace URI to an existing workspace record.' This is a specific verb-resource combination that clearly distinguishes it from siblings like list_workspace_aliases and suggest_workspace_aliases.

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 'When to use' section provides clear context: 'call when the same repository appears under a new local path, mount point, or machine-specific URI.' While it does not explicitly mention when not to use or alternative tools, the guidance is specific and actionable.

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

release_reservationRelease file reservationA

Purpose: Release active file reservations after work is done or abandoned. When to use: call at handoff, task completion, or when a stale reservation should be cleared. Inputs: workspace_id plus reservation_id or file_path, optionally scoped by agent_name. Side effects: updates reservation state and audit events. Output: count of released reservations. Failure modes: returns zero when no matching active reservation exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNoOptional repo-relative file path to release.
agent_nameNoOptional agent name used to scope the release.
workspace_idYesWorkspace UUID containing the reservation.
reservation_idNoOptional reservation UUID to release.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Discloses side effects ('updates reservation state and audit events') and failure modes ('returns zero when no matching active reservation exists'). No annotations provided, so description carries full burden. Could mention idempotency but still strong.

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?

Structured with labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence adds value; no redundancy. Front-loaded with most important info.

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?

Covers purpose, usage, inputs, side effects, output, and failure modes. Output schema exists so return values are not needed. Lacks mention of error types or authentication, but still complete for typical agent use.

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% (baseline 3). Description adds relationship: 'workspace_id plus reservation_id or file_path, optionally scoped by agent_name', clarifying alternative inputs beyond the schema's individual descriptions.

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?

Description starts with 'Purpose: Release active file reservations after work is done or abandoned.' Clearly states verb 'release' and resource 'file reservations', distinguishing it from sibling tools like 'reserve_files' or 'release_symbol_reservation'.

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?

Explicit 'When to use' section lists scenarios: handoff, task completion, stale reservation clearance. No explicit when-not-to-use or alternative tool names, but context is clear and covers typical use cases.

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

release_symbol_reservationRelease symbol reservationA

Purpose: Release active symbol reservations. When to use: call after finishing work on a function, class, API, or other reserved symbol. Inputs: workspace_id plus reservation_id or symbol, optionally scoped by agent_name. Side effects: updates reservation state and audit rows. Output: count of released symbol reservations. Failure modes: returns zero when no matching reservation exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoOptional symbol name or qualified identifier to release.
agent_nameNoOptional agent name used to scope the release.
workspace_idYesWorkspace UUID containing the symbol reservation.
reservation_idNoOptional symbol reservation UUID to release.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It states 'Side effects: updates reservation state and audit rows,' which discloses mutability. 'Output: count of released symbol reservations' and 'Failure modes: returns zero when no matching reservation exists' further clarify behavior. Missing details like permissions or reversibility, but sufficient for safe invocation.

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 uses structured headings (Purpose, When to use, Inputs, Side effects, Output, Failure modes) and is extremely concise. Every sentence is informative with no redundancy. Front-loaded with the core action.

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

Completeness5/5

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

Given 4 parameters, no annotations, and an output schema, the description covers purpose, usage context, input grouping, side effects, output format, and failure conditions. It is fully sufficient for an agent to understand the tool's role and limitations without additional context.

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% with individual descriptions. The description adds semantic grouping: 'workspace_id plus reservation_id or symbol, optionally scoped by agent_name,' clarifying that reservation_id or symbol are alternatives and agent_name is a scope filter. This adds value beyond the flat schema descriptions.

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 states 'Purpose: Release active symbol reservations.' This is a specific verb+resource. It distinguishes from sibling tools like 'release_reservation' and 'renew_symbol_reservation' by focusing on symbol reservations and mentioning use after finishing work on functions, classes, or APIs.

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?

'When to use: call after finishing work on a function, class, API, or other reserved symbol.' gives clear context and timing. It does not explicitly mention when not to use or name alternatives, but the failure mode mention ('returns zero when no matching reservation exists') provides guidance on outcome. Sibling differentiation is implied but not explicit.

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

renew_reservationRenew file reservationA

Purpose: Extend active file reservations while work continues. When to use: call before TTL expiry if an agent still owns the edit. Inputs: workspace_id plus reservation_id or file_path, optional agent_name, and new TTL. Side effects: updates reservation expiry and audit rows. Output: count of renewed reservations. Failure modes: returns zero when no matching active reservation exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNoOptional repo-relative file path to renew.
agent_nameNoOptional agent name used to scope renewal.
ttl_minutesNoNew reservation lifetime in minutes.
workspace_idYesWorkspace UUID containing the reservation.
reservation_idNoOptional reservation UUID to renew.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Discloses side effects ('updates reservation expiry and audit rows') and failure modes ('returns zero when no matching active reservation exists'). No annotations provided, so description carries full burden; it is sufficiently transparent.

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?

Well-structured with headings (Purpose, When to use, Inputs, etc.). No fluff, every sentence adds necessary information.

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?

Covers purpose, usage, side effects, output, and failure modes. Output schema exists, so return details are not needed; description is complete for a renewal tool with 5 params.

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%, baseline 3. Description adds value by summarizing input combinations ('workspace_id plus reservation_id or file_path'), which aids correct usage beyond schema descriptions.

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 states 'Extend active file reservations while work continues,' which is a specific verb+resource. It distinguishes from sibling tools like reserve_files (creates) and renew_symbol_reservation (symbol-specific).

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?

Explicitly says 'When to use: call before TTL expiry if an agent still owns the edit.' Provides failure mode context but does not explicitly list when not to use or name alternatives.

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

renew_symbol_reservationRenew symbol reservationA

Purpose: Extend active symbol reservations while an agent is still editing. When to use: call before TTL expiry for ongoing API or function work. Inputs: workspace_id plus reservation_id or symbol, optional agent_name, and TTL. Side effects: updates reservation expiry and audit rows. Output: count of renewed symbol reservations. Failure modes: returns zero when no matching active reservation exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoOptional symbol name or qualified identifier to renew.
agent_nameNoOptional agent name used to scope renewal.
ttl_minutesNoNew reservation lifetime in minutes.
workspace_idYesWorkspace UUID containing the symbol reservation.
reservation_idNoOptional symbol reservation UUID to renew.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It discloses side effects ('updates reservation expiry and audit rows') and failure modes ('returns zero when no matching active reservation exists'), which is comprehensive.

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 structured with clear headings (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence serves a purpose, and there is no redundancy.

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

Completeness5/5

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

With 5 parameters and no annotations, the description covers purpose, usage, inputs, side effects, output, and failure modes. The output schema exists but is not needed as the description states the output is a count.

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 description coverage is 100%, so baseline is 3. The description adds value by grouping inputs ('workspace_id plus reservation_id or symbol, optional agent_name, and TTL'), clarifying the relationship between parameters beyond the schema.

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 states the verb 'extend' and the resource 'active symbol reservations', and includes the context 'while an agent is still editing'. This distinguishes it from siblings like release_symbol_reservation or reserve_symbols.

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?

It explicitly says 'call before TTL expiry for ongoing API or function work', providing clear context. It does not explicitly mention when not to use or compare with alternatives, but the guidance is sufficient for typical scenarios.

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

reserve_filesReserve filesA

Purpose: Reserve files so agents can coordinate parallel edits. When to use: call before modifying files that another agent might also touch. Inputs: workspace_id, agent_name, file_paths, purpose, TTL, and optional override reason. Side effects: creates reservation rows and audit events. Output: reservation status and any conflicts. Failure modes: strict policies may reject conflicts unless an override reason is allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
purposeNoShort reason for the reservation.
agent_nameYesName of the agent reserving the files.
file_pathsYesRepo-relative file paths to reserve.
ttl_minutesNoReservation lifetime in minutes; null means use storage defaults.
workspace_idYesWorkspace UUID where files are being reserved.
override_reasonNoReason for overriding a conflict when policy permits overrides.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description covers side effects (creates rows and audit events), output (status and conflicts), and failure modes (strict policies). Could mention idempotency or locking behavior.

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?

Structured with clear sections (Purpose, When to use, Inputs, etc.), concise with no wasted words.

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 output schema exists, description covers key aspects: purpose, usage, side effects, failure modes. Could mention workspace scoping or permissions.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description lists parameters but adds little nuance beyond the schema's existing descriptions.

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

Purpose4/5

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

Clearly states the tool reserves files for coordination, distinguishing it from siblings like release_reservation or reserve_symbols. However, it does not explicitly mention alternatives.

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?

Provides explicit 'when to use' guidance (before modifying files that another agent might touch) but does not discuss when not to use or alternatives.

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

reserve_symbolsReserve symbolsA

Purpose: Reserve functions, classes, or other symbols for finer-grained parallel coordination. When to use: call before editing shared APIs where file-level reservation is too broad. Inputs: workspace_id, agent_name, symbols, purpose, TTL, and optional override reason. Side effects: creates symbol reservation and audit rows. Output: reservation status and conflicts. Failure modes: strict policy may reject conflicting symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
purposeNoShort reason for the symbol reservation.
symbolsYesSymbol names or qualified identifiers to reserve.
agent_nameYesName of the agent reserving the symbols.
ttl_minutesNoReservation lifetime in minutes; null means use storage defaults.
workspace_idYesWorkspace UUID where symbols are being reserved.
override_reasonNoReason for overriding a conflict when policy permits overrides.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It mentions side effects ('creates symbol reservation and audit rows') and failure modes ('strict policy may reject conflicting symbols'). However, it does not disclose whether the operation is destructive or idempotent, nor details on concurrency behavior. This is adequate but not comprehensive.

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 structured into labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes), making it easy to scan. It uses only 5 short sentences, each earning its place with specific information. No fluff.

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

Completeness5/5

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

Given the presence of an output schema (as indicated by context), the description adequately covers inputs, side effects, and failure modes. It provides expected output 'reservation status and conflicts.' For a tool with 6 parameters (3 required), this is sufficient context for an agent to understand usage.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description lists the input parameters but adds limited new meaning beyond the schema. It does clarify the purpose of 'override_reason' ('reason for overriding a conflict when policy permits overrides'), which adds some value. Overall, minimal extra semantics.

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 explicitly states 'Reserve functions, classes, or other symbols for finer-grained parallel coordination.' This clearly identifies the verb (reserve) and resource (symbols), and distinguishes it from sibling tools like 'reserve_files' which operates at file-level.

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 includes a 'When to use' section: 'call before editing shared APIs where file-level reservation is too broad.' This provides clear context for when the tool is appropriate, implicitly contrasting with file-level reservation. It does not explicitly state when not to use, but the guidance is strong enough for a score of 4.

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

review_workspace_contextReview workspace contextA

Purpose: Summarize relevant reservations, handoffs, lineage, and recent activity before work starts. When to use: call at the beginning of a task to avoid duplicating or conflicting with other agents. Inputs: workspace, intent, optional file paths, symbols, agent name, and limit. Side effects: records an MCP audit event. Output: compact review context with risks, reservations, handoffs, and lineage. Failure modes: returns limited context when workspace history is sparse.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of context items per category.
intentNoNatural-language description of the planned work.
symbolsNoOptional symbol names relevant to the planned work.
agent_nameNoOptional requesting agent name for coordination context.
file_pathsNoOptional repo-relative files relevant to the planned work.
workspace_id_or_uriYesWorkspace UUID, root URI, or alias URI to review.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses side effects ('records an MCP audit event'), output format ('compact review context with risks, reservations, handoffs, and lineage'), and failure modes ('returns limited context when workspace history is sparse'). This is comprehensive behavioral transparency.

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 structured with clear bullet points (Purpose, When to use, Inputs, Side effects, Output, Failure modes). It is concise and front-loaded with essential information, every sentence adds value.

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

Completeness5/5

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

Given that an output schema exists (context signal), the description does not need to detail return values. It covers purpose, usage, inputs, side effects, and failure modes, making it fully complete for an agent to understand and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the description adds minimal extra meaning beyond listing input names ('workspace, intent, optional file paths, symbols, agent name, and limit'). Baseline 3 is appropriate as schema does the heavy lifting.

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 states the purpose: 'Summarize relevant reservations, handoffs, lineage, and recent activity before work starts.' It uses a specific verb ('summarize') and resource ('workspace context'), and distinguishes from sibling tools by emphasizing its role as the initial review to avoid duplication or conflict.

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?

Explicitly says 'call at the beginning of a task to avoid duplicating or conflicting with other agents,' providing clear when-to-use guidance. It does not specify when not to use or name alternatives, but the context with siblings makes the usage clear.

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

search_dev_memorySearch development memoryA

Purpose: Search imported agent transcripts, changesets, and shared development memory for evidence relevant to a question. When to use: use this before editing, reviewing, or explaining repo behavior so the agent can reuse prior context. Inputs: query is the natural-language search text; mode selects keyword, vector, or hybrid retrieval; filters scope the search by workspace or source; rerank can improve ranking. Side effects: records an MCP audit event. Output: compact search hits with snippets, scores, sources, and evidence references. Failure modes: invalid mode raises an error; vector or hybrid search requires an embedding provider and database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoRetrieval mode: keyword for lexical search, vector for embeddings, hybrid for both.keyword
limitNoMaximum number of search results to return.
queryYesNatural-language question or keywords to search for in shared memory.
rerankNoReranking strategy: none, local, or api depending on configured providers.none
sourceNoOptional imported source filter such as codex, vscode, claude-code, or manus.
workspace_uriNoOptional workspace root URI used to restrict results to one repo.
candidate_limitNoOptional number of pre-rerank candidates to retrieve before trimming to limit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full weight. It discloses side effects (records an MCP audit event) and failure modes (invalid mode raises error, vector/hybrid require embedding provider and database connectivity). It does not explicitly state read-only nature but implies it.

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 highly structured with clear sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Each sentence serves a purpose, and the content is front-loaded and efficient.

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

Completeness5/5

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

Given the presence of an output schema (not shown but indicated), the description does not need to explain return values. It covers purpose, usage, inputs, side effects, and failure modes comprehensively for a search tool.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description groups parameters (query, mode, filters, rerank) but adds only incremental value beyond the schema. It does not provide new details for individual parameters except high-level context.

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 states the tool searches imported agent transcripts, changesets, and shared development memory for evidence. It uses a specific verb ('search') and resource, and the sibling tools do not overlap in functionality, making it well-differentiated.

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 explicitly says when to use: before editing, reviewing, or explaining repo behavior to reuse prior context. While it does not mention when not to use or alternatives, the context is clear and actionable.

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

set_workspace_coordination_policySet workspace coordination policyA

Purpose: Configure how the workspace handles reservation conflicts. When to use: call during setup or team policy changes before multiple agents edit in parallel. Inputs: workspace_id_or_uri identifies the workspace; reservation_conflict_policy chooses advisory, strict, or override-with-reason. Side effects: updates workspace policy. Output: updated policy record. Failure modes: invalid policy names are rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_id_or_uriYesWorkspace UUID, root URI, or alias URI whose policy should change.
reservation_conflict_policyNoConflict mode: advisory, strict, or override-with-reason.advisory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It mentions side effects ('updates workspace policy') and failure modes ('invalid policy names are rejected'), providing useful behavioral context beyond the obvious mutation.

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 well-structured with labeled sections (Purpose, When to use, Inputs, Side effects, Output, Failure modes). Every sentence is concise and necessary, making it easy to scan.

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?

For a setter tool with 2 parameters and an output schema, the description adequately covers inputs, side effects, output, and failure modes. It could mention prerequisites or authorization, but overall it is complete enough.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description paraphrases the parameter descriptions ('workspace_id_or_uri identifies the workspace; reservation_conflict_policy chooses advisory, strict, or override-with-reason') without adding new meaning.

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 explicitly states the purpose: 'Configure how the workspace handles reservation conflicts.' This is a specific verb+resource combination, clearly distinguishing it from sibling tools like get_workspace_coordination_policy (read) and reservation management tools.

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 'When to use' section provides clear context: 'call during setup or team policy changes before multiple agents edit in parallel.' It does not explicitly mention alternatives or when not to use, but the sibling tool 'get_workspace_coordination_policy' serves as a natural alternative for reading.

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

suggest_workspace_aliasesSuggest workspace aliasesA

Purpose: Suggest existing workspaces that may match a new alias URI based on identity fingerprints. When to use: call before creating a new workspace for a repo that may have moved. Inputs: alias_uri is the new path; fingerprints are observed durable identifiers. Side effects: none beyond database reads. Output: candidate workspace matches with confidence evidence. Failure modes: returns an empty list when no fingerprints overlap.

ParametersJSON Schema
NameRequiredDescriptionDefault
alias_uriYesNew workspace URI or local path being evaluated.
fingerprintsYesObserved identity fingerprints for the candidate workspace.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description discloses side effects ('none beyond database reads') and failure modes ('returns an empty list when no fingerprints overlap'). This provides sufficient transparency for safe use.

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 structured with labeled sections (Purpose, When to use, Inputs, etc.) and is concise with no redundant information. Every sentence adds value.

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

Completeness5/5

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

Given the tool's simplicity (2 params, no nested objects) and presence of an output schema, the description covers purpose, usage, side effects, output, and failure modes comprehensively.

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?

The description adds meaning beyond the schema: 'alias_uri is the new path; fingerprints are observed durable identifiers.' This clarifies the nature of the parameters, especially 'fingerprints' as durable identifiers. Schema coverage is 100%.

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 states the tool's purpose: to suggest existing workspaces that may match a new alias URI based on identity fingerprints. This distinguishes it from sibling tools like 'list_workspace_aliases' and 'register_workspace_alias'.

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 provides explicit guidance on when to use: 'call before creating a new workspace for a repo that may have moved.' This gives clear context, though it does not explicitly mention alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 30 tool updatesv0.1.0
    • First observedclose_handoff_summary
    • First observedexplain_change
    • First observedget_active_reservations
    • First observedget_agent_activity_events
    • First observedget_changeset_detail
    • First observedget_dashboard_overview
    • First observedget_geond_server_info
    • First observedget_symbol_conflicts
    • First observedget_symbol_context
    • First observedget_workspace_coordination_policy
    • First observedget_workspace_lineage_graph
    • First observedlist_handoff_summaries
    • First observedlist_reservation_events
    • First observedlist_workspace_aliases
    • First observedrecord_agent_action
    • First observedrecord_changeset
    • First observedrecord_handoff_summary
    • First observedrecord_lsp_references
    • First observedrecord_workspace_fingerprints
    • First observedregister_workspace_alias
    • First observedrelease_reservation
    • First observedrelease_symbol_reservation
    • First observedrenew_reservation
    • First observedrenew_symbol_reservation
    • First observedreserve_files
    • First observedreserve_symbols
    • First observedreview_workspace_context
    • First observedsearch_dev_memory
    • First observedset_workspace_coordination_policy
    • First observedsuggest_workspace_aliases

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clear and distinct purpose, with detailed descriptions that differentiate them. Even closely related tools (e.g., reserve_files vs reserve_symbols) target different resource types, and operations like record, list, close are clearly separated. There is no ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., close_handoff_summary, get_active_reservations, record_changeset). The verbs describe precise actions, and nouns specify the target resource, making the naming predictable and intuitive.

Tool Count4/5

With 30 tools, the server covers a broad domain including handoffs, reservations, changesets, code graph, workspace management, and activity logging. While the count is on the higher side, each tool serves a distinct operational need, and the number is justified by the scope of the protocol.

Completeness4/5

The tool set covers most lifecycle operations for the domain: CRUD for handoffs (create, list, close), reservations (create, release, renew, list), changesets (record, retrieve), and workspace configuration (get, set). Minor gaps exist (e.g., no explicit update handoff or delete workspace), but these are not critical for the intended agent coordination use case.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Self-hosted memory and governance layer for AI coding agents. 28 MCP tools with hybrid search, structured knowledge capture, behavioral nudges, and git-native storage. Zero cloud dependencies.
    30
    6
    Business Source 1.1
  • A
    license
    A
    quality
    A
    maintenance
    Persistent shared memory for AI coding agents. Stores facts as entity/key/value triples with hybrid semantic search, task checkpoints, and conflict resolution — shared across Claude Code, Codex CLI, and GitHub Copilot.
    16
    235
    5
    AGPL 3.0
  • A
    license
    A
    quality
    D
    maintenance
    Persistent memory management for AI assistants like Claude, enabling creation, search, and retrieval of memories with tagging and triggers.
    10
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/geondongkim/geond-agent-protocol'

If you have feedback or need assistance with the MCP directory API, please join our Discord server