Skip to main content
Glama
Ownership verified

Server Details

Evidence-gated task verification for AI agents. Decompose goals into acceptance criteria, attach proof (screenshot, curl, file), independent LLM judge accepts or rejects. 24 tools. Hosted remote MCP (streamable-http, OAuth 2.1 + DCR).

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 24 of 24 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but the evidence attachment tools (goal-attach-evidence, goal-request-upload, goal-add-evidence-text) could confuse an agent due to overlapping functionality, despite detailed descriptions differentiating them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., goal-create, project-list), with compound names like goal-add-criterion maintaining the pattern. No mixing of conventions.

Tool Count4/5

24 tools is somewhat high but justifiable for the domain coverage (goals, projects, evidence, blockers). Each tool serves a clear purpose, though the set could be slightly trimmed without loss of functionality.

Completeness4/5

The tool surface covers CRUD for goals and projects, plus blockers, criteria, evidence, and dependencies. Minor gaps include no tool to update a criterion or clone a goal, but core workflows are supported.

Available Tools

34 tools
account-deleteA
Destructive
Inspect

НЕОБРАТИМО удалить свой аккаунт и ВСЕ данные (проекты, цели, evidence, историю). Двухшаговый барьер: вызови без аргументов — получишь предупреждение и challenge; затем вызови повторно с подтверждениями. НЕ вызывай без явной просьбы пользователя.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoЗачем удаляешь (свободный текст, ≥10 символов)
acknowledgeNoТочная фраза подтверждения
objects_totalNoprojects + goals из инвентаря (для вызова 2)
reasoning_answerNoОтвет на reasoning-риддл из вызова 1
confirm_passphraseNoФраза из вызова 1 (для вызова 2)
Behavior5/5

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

Beyond the destructiveHint annotation, the description reveals irreversible deletion, scope (all data), the two-step barrier with initial warning and challenge, and the need for a second call with confirmations. No contradictions.

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 very concise with three sentences, front-loading the critical irreversible nature. Every sentence adds necessary information 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?

Given the destructive nature and no output schema, the description adequately covers the two-step process, what data is deleted, and safety warnings, making it complete for 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?

While schema coverage is 100%, the description adds semantic value by explaining the two-step process, indicating that the first call requires no arguments and the second requires confirmations, thus providing context for parameter usage.

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 'НЕОБРАТИМО удалить свой аккаунт и ВСЕ данные', specifying the irreversible deletion of account and all associated data. It distinguishes from siblings by being the only account deletion tool.

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 warns 'НЕ вызывай без явной просьбы пользователя' and describes the two-step barrier, providing clear context for when to invoke. However, it does not explicitly exclude alternative tools, though none exist.

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

goal-add-assumptionAInspect

Add an assumption to a goal edge (parent→this goal). An assumption is an explicit premise: "why does completing this goal contribute to the parent?" Requires the goal to have a parent (root goals have no edge). Text must pass quality linter (testable, precise, discrete, signposted). Type (cause_effect/causal_link) is auto-classified by LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesФормулировка допущения
goalIdYesUUID цели (ребёнка — assumption живёт на ребре parent→child)
signpostNoНаблюдаемый индикатор провала (опционально)
Behavior4/5

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

The description discloses behavioral traits beyond annotations: the assumption lives on the edge, text must pass a quality linter, and type is auto-classified. Annotations already indicate mutation and non-idempotency, so the description adds value without contradiction.

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 two sentences: the first clearly states the primary action, and the second adds key constraints. Every sentence is necessary and well-structured.

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?

The description covers the tool's purpose, prerequisite, and constraints. However, it does not specify the return value (e.g., success/failure), which is a minor gap given the absence of an output schema. Still, for a simple creation tool, it is largely 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?

The input schema has 100% coverage with descriptions in Russian. The description adds behavioral context for the 'text' parameter (linter requirement) but does not elaborate on 'signpost'. Overall, it provides moderate added 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 verb 'Add an assumption' and the resource 'goal edge (parent→this goal)'. It distinguishes from sibling tools like 'goal-remove-assumption' and 'goal-suggest-assumptions' by specifying the operation and the auto-classification of type.

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 clear context by requiring the goal to have a parent, which is a key usage condition. However, it does not explicitly compare with alternatives or state when not to use, so it falls short of a 5.

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

goal-add-criterionAInspect

Append an acceptance criterion to a goal. The text must describe an observable check over an artifact (e.g. "GET /api/health returns 200 with {status:ok}"), not a subjective approval. Grove mode: AC can only be added while goal is in backlog (frozen once started), quality linter blocks high-severity issues. Standard mode: AC editable until goal is closed, linter is advisory. Returns criterion id, position, text, and any quality findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesФормулировка критерия
goalIdYesUUID цели
positionNoПозиция (default = append в конец)
Behavior5/5

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

The description discloses behavioral traits beyond annotations: it explains that in Grove mode, the goal becomes frozen once started, and the linter blocks high-severity issues; in Standard mode, the linter is advisory. It also states the return values (id, position, text, quality findings). No contradiction with annotations (readOnlyHint=false, idempotentHint=false).

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 three sentences. The first sentence states the primary action, the second explains the text requirement, and the third covers mode-dependent behavior. It is well-structured and front-loaded with the core 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 has 3 parameters, no output schema, and simple structure, the description provides sufficient context. It mentions what the tool returns (id, position, text, quality findings) and covers mode-specific restrictions. No additional information is needed for an agent to use the tool correctly.

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% coverage with descriptions for all three parameters. The description adds meaning by specifying the format for 'text' (must be an observable check over an artifact) and clarifying that 'position' defaults to appending to the end. This goes 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 tool's purpose: 'Append an acceptance criterion to a goal.' It specifies the resource (goal) and action (append criterion). It also differentiates from sibling tools like goal-add-evidence-text by focusing on acceptance criteria and providing an example of valid text.

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 usage context by explaining two modes (Grove and Standard) with constraints: in Grove mode, AC can only be added while goal is in backlog; in Standard mode, AC editable until goal is closed. It also mentions the quality linter. However, it does not explicitly distinguish from sibling tools or say when not to use it.

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

goal-add-evidence-textAInspect

SUBORDINATE / supplementary path — does NOT close an acceptance criterion. Adds a text-only note (URL to a permanent external source like CI run / GitHub commit / issue, or a description of a manual scenario) as extra context alongside the real proof. The path that actually covers an AC and closes a Grove goal is goal-attach-evidence — use that one for every criterion. Plain evidence NEVER counts toward AC coverage no matter how many you add; it is only a complement to an attached file. NOT for bytes — screenshots, logs, API responses, exports all go through goal-attach-evidence. NOT for filesystem paths — those need goal-attach-evidence with the actual file.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText payload: URL to a permanent external source or a description of a manual scenario
createdByNoIdentifier of the uploading agent
criterionIdYesUUID acceptance criterion
Behavior5/5

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

Annotations indicate readOnlyHint=false, confirming mutation, and the description adds that this tool does NOT close acceptance criteria, which is critical behavioral context. It clearly discloses the side-effect nature and limitations beyond what annotations provide.

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 relatively long but every sentence earns its place by clarifying distinctions and constraints. It is front-loaded with the key message about being subordinate. Could be slightly tighter but still effective.

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 nuance alongside sibling tools, the description covers purpose, usage, parameter semantics, and limitations comprehensively. No output schema exists, but the behavioral and contextual details are sufficient for an agent to select and invoke correctly.

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. The description adds meaning by explaining the 'text' parameter as a URL or description and reiterating that criterionId is a UUID. It adds value beyond schema, though the 'createdBy' parameter is not elaborated further.

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: adding a text-only note as extra context. It explicitly distinguishes from the sibling tool 'goal-attach-evidence' by stating this tool does not close an acceptance criterion. The verb 'adds' and resource 'text evidence' are specific and unambiguous.

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 provides explicit when-to-use and when-not-to-use guidance. It states this tool is for 'URL to a permanent external source' or 'description of a manual scenario', and contrasts with goal-attach-evidence for files, screenshots, logs, etc. It also warns that plain evidence never counts toward AC coverage.

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

goal-attach-assumption-evidenceAInspect

Attach text evidence to an assumption and judge it. The judge evaluates whether the evidence supports or challenges the assumption and automatically transitions its status: supports → supported, first challenges → challenged, second (repeat) challenges → invalidated. Invalidated is terminal — further evidence no longer moves the status. Judge infra failures fail open (errored verdict, no status change).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesТекст evidence — наблюдение/данные, подтверждающие или опровергающие допущение
assumptionIdYesUUID допущения
Behavior5/5

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

Annotations provide minimal info (readOnlyHint=false, idempotentHint=false). The description goes far beyond, detailing the automatic status transitions, terminal state, and fail-open behavior for judge failures. This fully discloses 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 concise at four sentences, front-loading the core purpose and then efficiently explaining the status logic. Every sentence adds 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?

Given the tool's complexity (status state machine, error handling) and minimal annotations, the description is complete. It covers input, behavior, status transitions, terminal state, and failure mode, leaving no gaps for the agent.

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 both parameters described. The description does not add extra semantics for the parameters beyond the schema; it focuses on the tool's behavior. As per guidelines, baseline 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 clearly states the action: 'Attach text evidence to an assumption and judge it.' It distinguishes itself from siblings like 'goal-add-evidence-text' and 'goal-attach-evidence' by detailing the automatic status transitions, making the unique purpose explicit.

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 explains when to use the tool—for attaching evidence that triggers a judgment and status change. It implicitly contrasts with other tools that may add evidence without judgment. However, it doesn't explicitly state when not to use it or list alternative tools.

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

goal-attach-evidenceAInspect

PRIMARY path to close a Grove goal: this is the ONLY tool that covers an acceptance criterion. Attach binary evidence (screenshot, log dump, API response, export) to an AC — call it once per criterion to satisfy the close gate. The subordinate goal-add-evidence-text only adds context for proofs with NO bytes (URLs to permanent external sources, manual repro descriptions) and does NOT cover an AC. Caption is optional but strongly recommended: state what the file captures and the reproduction conditions (URL/commit/session/inputs) so a third reviewer can reproduce.

⚠ PICK THE RIGHT TRANSPORT BEFORE YOU CALL THIS TOOL ⚠ • BEST for ANY file > ~1 KB raw — and the ONLY no-token path, so use it in a claude.ai / hosted-agent session that has no raw X-Auth-Token → call the sibling MCP tool goal-request-upload with this same criterionId. It returns a one-time {uploadUrl, expiresAt}; then stream the raw bytes with a single PUT: curl -sS --fail --upload-file "/abs/path/to/file.png" "<uploadUrl>" (optionally add -H "X-Content-Sha256: " so corruption fails fast). No base64, no token — the signed ?t= ticket in the URL is the only credential, single-use, criterion-scoped. The PUT response is the same evidence JSON this tool returns. • ALTERNATIVELY, if you DO have the raw X-Auth-Token in your shell → the planner-attach.sh helper (zero-install bash, binary-safe). The MCP base64 path below is unreliable for non-trivial files: long string arguments get truncated or whitespace-corrupted on the agent side BEFORE the JSON-RPC request is sent. Measured 2026-05-20 on prod: a 4 KB PNG arrived at the server as 1874 decoded bytes (file_hash_mismatch); a 2 KB payload arrived with stray whitespace (failed base64_decode). The server itself accepts up to 25 MiB raw — the bottleneck is the agent-side serialisation of contentBase64, NOT the server.

planner-attach.sh COPY-PASTE RECIPE (replace 3 placeholders, run in your shell): curl -sS https://planner.monopoly-gold.com/api/cli/planner-attach.sh
| PLANNER_TOKEN="" bash -s --
--criterion-id ""
--file "/abs/path/to/file.png"
--caption "what is captured and the repro conditions"
--created-by ""

Where to get each value:

  • PLANNER_TOKEN: the very same token that is already in your MCP config under the X-Auth-Token header for the planner server. NOT a separate credential.

  • CRITERION_UUID: the AC id you got from goal-get / goal-list. Same UUID you would pass to this MCP tool.

  • file path: absolute path on YOUR (agent) machine — the script reads it locally and streams multipart. The planner server never sees your filesystem.

The helper computes SHA-256 itself and ships it as contentSha256, so any in-flight corruption fails fast with HTTP 400 instead of poisoning the evidence row. Output on stdout is the same JSON shape this MCP tool returns; non-zero exit means HTTP ≥ 400 (stderr explains).

Without curl/bash? Fall back to raw multipart: POST https://planner.monopoly-gold.com/api/criteria//evidence/file, header X-Auth-Token, form fields file=@..., contentSha256=..., caption, createdBy. • File ≤ ~1 KB raw → this MCP tool is fine. ALWAYS pass contentSha256 (hex SHA-256 of raw bytes BEFORE base64). Without it, a silently truncated PNG looks valid to the MIME sniffer; the server cannot distinguish a truncated 4 KB PNG from a valid 1 KB one and the vision judge burns ~30s on broken bytes. With the hash, the server fast-fails with error=file_hash_mismatch and points back here at the multipart endpoint.

Validates MIME whitelist (png/jpeg/webp/gif/pdf/txt/json/zip), per-file size cap (ATTACHMENTS_MAX_FILE_BYTES, default 25 MiB), per-project attachments quota. Returns evidence record + file URL + serverSha256.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOptional evidence kind override. The only accepted value is `session_history` — marks this attachment as the goal-level «full Claude session transcript» artifact required by the close gate (I4-session-history). Such evidence does NOT cover any AC and is NOT sent to the evidence judge. Omit for normal per-AC proof (kind is derived from MIME). NOTE: transcripts are usually > 1 KB → use goal-request-upload (pass kind=session_history) or the multipart helper, not this base64 path.
captionNoOptional human-readable description, stored in evidence.payload
filenameYesOriginal filename (used to derive MIME). Path components are stripped.
mimeTypeNoMIME type — if omitted, derived from filename extension; must be in whitelist
createdByNoIdentifier of the uploading agent
criterionIdYesUUID acceptance criterion the file will be evidence for
contentBase64YesFile payload, base64-encoded (RFC 4648 §4 standard alphabet, padding optional)
contentSha256NoHex-encoded SHA-256 of the raw bytes (before base64). When provided, the server recomputes the hash on the decoded payload and rejects with error=file_hash_mismatch if they diverge — primary defence against MCP base64 truncation.
Behavior5/5

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

Discloses MIME whitelist, size caps, quota limits, return values (evidence record, file URL, serverSha256), and the risk of base64 truncation for larger files. No contradiction with annotations.

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

Conciseness3/5

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

The description is long and includes detailed recipes and warnings that could be separate documentation. While front-loaded with key purpose, it could be more concise without losing essential 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?

Despite no output schema, the description covers return shape and all relevant aspects: purpose, usage, alternatives, risks, validation, URL for large file upload. It is complete for the tool's complexity.

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?

The description adds significant context beyond the input schema: explains the purpose of contentSha256 for corruption detection, recommends caption content, and warns about base64 limitations for files >1KB. Schema coverage is 100% but description enhances understanding.

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 this is the PRIMARY tool to attach binary evidence to an acceptance criterion and distinguishes it from the sibling goal-add-evidence-text which does not cover an AC. Verb and resource are clear.

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?

Extensive guidance on when to use this tool (for AC coverage), when to use alternatives (goal-add-evidence-text for text-only, goal-request-upload for files >~1KB), and detailed copy-paste recipes for alternative transports. Includes warnings about base64 truncation.

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

goal-blockAInspect

Add a blocker to a goal (blockers are additive — each call appends a new one, existing blockers are preserved). Sets status to blocked. Optionally create an inline resolver goal (resolverTitle) or link an existing one (linkedGoalId) — mutually exclusive. When the last active blocker is removed via goal-remove-blocker, the goal returns to its previous status.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID блокируемой цели
descriptionYesОписание блокера — что мешает
linkedGoalIdNoUUID существующей цели-резолвера (взаимоисключающе с resolverTitle)
resolverTitleNoЗаголовок новой цели-резолвера (взаимоисключающе с linkedGoalId)
resolverParentIdNoUUID родителя резолвера (default = goalId, т.е. дочерняя)
resolverDescriptionNoОписание цели-резолвера
Behavior5/5

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

The description goes well beyond annotations by detailing that blockers are additive, status changes to blocked, and behavior upon last blocker removal. It also explains mutual exclusivity and default resolver parent. Annotations only indicate mutation and non-idempotency.

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 concise, packing all necessary information into a single paragraph without superfluous words. It is front-loaded with the core action and elaborates on details, making it efficient.

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 complexity (6 parameters, side effects, sibling interaction), the description covers the main operation, side effects, and removal behavior. It lacks details on return values or error handling, but is sufficiently complete for an AI agent.

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?

While the input schema provides descriptions for all 6 parameters (100% coverage), the description adds key semantics: mutual exclusivity of resolverTitle and linkedGoalId, and the default resolverParentId. This adds 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 tool's purpose: adding a blocker to a goal. It explains the additive nature, status change, and optional resolver creation, distinguishing it from the sibling tool 'goal-remove-blocker'.

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 indicates when to use the tool (to block a goal) and mentions the sibling tool 'goal-remove-blocker' for removal. It also clarifies mutual exclusivity of resolver parameters, though it could be more explicit about when not to use it.

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

goal-createAInspect

Create a goal/task/milestone/habit in the planning tree. Two modes: grove (default) — enforces acceptance criteria gate on status transitions (AC required before in_progress, file-evidence per AC before done); standard — carries the same AC but without the evidence gate (advisory linting only). Returns the created goal with id, webUrl, mode, and nextStep hint. Every goal must belong to a project (pass projectId or inherit from parent).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoРежим: grove (default) или standard. Grove enforce-ит I_start на in_progress и I₃ на done; standard несёт те же AC, но без evidence-гейта
tagsNoТеги
typeNogoal / milestone / task / habit (default: task)
titleYesНазвание цели (макс. 500)
statusNobacklog (default) / in_progress
deadlineNoДедлайн ISO 8601
estimateNoОценка
parentIdNoUUID родителя (null = root)
priorityNoПриоритет 1–5 (default: 3)
projectIdNoUUID проекта
descriptionNoОписание
acceptanceCriteriaNoСписок AC-формулировок. Grove: опциональны на create, обязательны до перехода в in_progress, блокирующий quality-линтер. Standard: описательные, линтер advisory
Behavior4/5

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

The description discloses behavioral traits beyond annotations: it details the return object (id, webUrl, mode, nextStep hint), explains mode-specific AC enforcement, and states the project membership constraint. No contradiction with annotations (readOnlyHint=false).

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 moderately concise, front-loading the purpose and then explaining modes and returns. It could be slightly more structured (e.g., bullet points) but every sentence adds value.

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?

The description covers creation, mode differentiation, return fields, and the required project context. Given the tool's complexity (12 parameters, two modes) and lack of output schema, it provides sufficient information for correct usage.

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?

Although schema coverage is 100%, the description adds meaning by explaining the mode behavior in English (schema descriptions are in Russian) and clarifying project inheritance from parentId. This goes beyond the raw 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 tool creates goals/tasks/milestones/habits in a planning tree, specifying two modes (grove and standard) and the requirement for a project. This distinguishes it from sibling tools like goal-update and goal-delete by focusing on 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?

The description explains when to use each mode based on acceptance criteria enforcement, and notes that every goal must belong to a project. However, it does not explicitly mention when not to use this tool or refer to alternative sibling tools for similar operations.

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

goal-deleteA
DestructiveIdempotent
Inspect

IRREVERSIBLY delete a goal and all its descendants (children, evidence, blockers). Prefer goal-update status=cancelled to preserve history, or goal-block to mark an obstacle. Use delete only for erroneous/duplicate entries. Returns the deleted title and children_deleted count.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID цели
Behavior5/5

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

Describes irreversibility, descendant deletion, and return values. Adds beyond annotations (destructiveHint, idempotentHint) with concrete behavioral details.

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?

Two dense sentences front-load critical information 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?

Adequately covers purpose, alternatives, and return value. Could mention error handling but sufficient given simplicity.

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 covers goalId parameter fully. Description does not add new semantics beyond what schema provides.

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?

Clearly states it irreversibly deletes a goal and all descendants. Distinguishes from siblings like goal-block and goal-update.

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 recommends alternatives (status=cancelled, goal-block) and limits use to erroneous/duplicate entries.

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

goal-getA
Read-only
Inspect

Fetch full details of a single goal: title, description, status, priority, type, mode, children, acceptance criteria (with evidence coverage), blockers, tags, deadline, estimate, history log, and project. The primary drill-down tool after goal-list or goal-tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID цели
Behavior4/5

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

Annotations already indicate readOnlyHint=true, so the description reinforces that the tool only reads data. It adds value by enumerating the specific fields returned (title, description, status, etc.), providing behavioral detail beyond the annotation.

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 a single concise sentence that front-loads the purpose and lists returned fields efficiently, 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?

For a simple 1-parameter tool with no output schema, the description fully covers what the tool returns, making it contextually complete.

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% for the single parameter goalId, so baseline is 3. The description does not add additional meaning about the parameter beyond what the schema already provides.

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 'Fetch full details of a single goal' listing specific fields, and distinguishes from siblings by noting it is the 'primary drill-down tool after goal-list or goal-tree.'

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 clear usage context by indicating this is the tool to use after goal-list or goal-tree to get full details. It does not explicitly mention when not to use, but the context is sufficient.

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

goal-listA
Read-only
Inspect

List goals with optional filters: projectId (UUID), status (backlog/in_progress/blocked/done/cancelled), type (goal/milestone/task/habit), parentId (UUID — direct children only). Returns up to limit results (default 50, no offset pagination). Sorted by priority ASC then createdAt DESC. Each entry has id, title, webUrl, status, priority, type, progress, parent_id, project_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoТип: goal, milestone, task, habit
limitNoМакс. кол-во результатов (default: 50)
statusNoСтатус: backlog, in_progress, blocked, done, cancelled
parentIdNoUUID родителя (только прямые дети)
projectIdNoUUID проекта (фильтр)
Behavior4/5

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

Adds value beyond readOnlyHint by specifying pagination (no offset), sorting order, and returned fields, though more detail on rate limits or response size could improve 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?

Two sentences, front-loaded with main action and filters, no filler. Every sentence provides essential 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?

For a read-only listing tool with 5 optional params and no output schema, description covers filtering, pagination, sorting, and example fields 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?

Schema covers all parameters with descriptions (100% coverage). Description adds context on default limit, sorting, and output fields, slightly enhancing baseline.

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 uses specific verb 'List' with resource 'goals' and lists optional filters, clearly distinguishing from sibling tools like goal-get and goal-tree.

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?

Implicitly clear for listing filtered goals, but lacks explicit when-not-to-use guidance or mention of alternatives like goal-tree for hierarchical view.

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

goal-moveA
Idempotent
Inspect

Move a goal to a different parent or project. Pass newParentId=UUID to reparent (inherits project from new parent), newParentId=null to make root. Optional projectId=UUID overrides the target project when making root (cross-project move to root). Cascades project change to all descendants. Prevents cycles.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID перемещаемой цели
projectIdNoUUID целевого проекта (используется при newParentId=null для cross-project move в корень)
newParentIdNoUUID нового родителя (null = сделать root)
Behavior4/5

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

Annotations provide idempotentHint: true and readOnlyHint: false. The description adds behavioral traits beyond annotations: 'Cascades project change to all descendants. Prevents cycles.' This gives insight into side effects and safety, though it could also mention removal from old parent.

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 (three sentences), front-loaded with the purpose, and each sentence adds necessary information: purpose, parameter usage, side effects. No redundancy or unnecessary details.

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 (conditional parameters, cascading, cycle prevention), the description covers all necessary aspects: how to perform each type of move, what happens to descendants, and constraints. An agent can correctly select and invoke this tool without ambiguity.

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 coverage is 100%, so baseline is 3. The description adds significant value by explaining parameter logic: how newParentId controls reparenting vs making root, and how projectId overrides the target project. This clarity goes well beyond the schema's brief 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 tool's purpose: 'Move a goal to a different parent or project.' It uses a specific verb and resource, and distinguishes from sibling tools like goal-create or goal-update by focusing on reparenting and cross-project moves.

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 clear usage scenarios: reparent via newParentId, make root with newParentId=null, and optional projectId for cross-project root moves. It also mentions cascading and cycle prevention. However, it does not explicitly state when not to use or name alternative tools, which would make it stronger.

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

goal-remove-assumptionB
Idempotent
Inspect

Remove an assumption from a goal edge.

ParametersJSON Schema
NameRequiredDescriptionDefault
assumptionIdYesUUID допущения
Behavior2/5

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

Annotations already indicate idempotentHint=true and readOnlyHint=false. The description adds no extra behavioral traits, such as whether removal is permanent, cascading effects, or error conditions. For a write operation, more context is expected.

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 (one sentence, six words) and front-loaded with the essential action. Every word is necessary.

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 (one required parameter, no output schema, annotations present), the description adequately conveys the core function. However, it could briefly clarify the concept of 'goal edge' to ensure clear understanding.

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 single parameter 'assumptionId' is described in the schema. The description does not add any additional meaning beyond the schema, so baseline score 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 'Remove an assumption from a goal edge' uses a specific verb ('Remove') and resource ('assumption from a goal edge'), clearly distinguishing it from sibling tools like 'goal-add-assumption' or 'goal-remove-criterion'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives, such as when to remove an assumption versus removing a criterion or evidence. No prerequisites or exclusions are mentioned.

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

goal-remove-blockerA
Idempotent
Inspect

Remove a blocker from a goal by blocker UUID. If it was the last active blocker, the goal automatically returns to its previous status (in_progress or backlog). Does not delete the linked resolver goal if one exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID цели
blockerIdYesUUID блокера
Behavior5/5

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

Description adds significant behavioral context beyond annotations: it explains the automatic status update when the last blocker is removed and clarifies that the linked resolver goal is not deleted. No contradiction with annotations (idempotentHint=true, readOnlyHint=false) as the tool modifies state but is idempotent.

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?

Two sentences with no wasted words. Front-loaded with the primary action, followed by important behavioral details. Efficient and clear.

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?

The description is complete for a removal tool: it explains what happens to the goal's status and the resolver goal. There is no output schema, but the return value is likely straightforward (e.g., success confirmation). No missing context.

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 both parameters described in the schema (goal UUID and blocker UUID). The description adds no additional parameter semantics beyond restating that removal is by UUID, which is already implied.

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 action (remove a blocker) and resource (goal), with specific details about side effects (status return) and exclusions (does not delete linked resolver goal). It distinguishes from sibling tools like 'goal-block' by specifying removal.

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 clear context for when to use the tool (removing a blocker) and what happens (automatic status change), but lacks explicit when-not or alternative tool guidance. The sibling 'goal-block' suggests an alternative, but no direct mention.

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

goal-remove-criterionA
DestructiveIdempotent
Inspect

Remove an acceptance criterion from a goal. Grove mode: only while goal is in backlog (frozen once started). Standard mode: until goal is done. Cascades to all evidence on the criterion. Returns confirmation with removed criterion details.

ParametersJSON Schema
NameRequiredDescriptionDefault
criterionIdYesUUID acceptance criterion
Behavior5/5

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

Disclosure of cascading to evidence and state-dependent availability adds value beyond annotations (destructiveHint, idempotentHint). No contradictions with 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?

Two sentences front-load the core action, then specify conditions and effects. 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?

For a simple removal tool with one parameter, the description covers when to use, what happens (cascade), and return value. No output schema needed.

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?

Parameter 'criterionId' is 100% covered by schema description. Description does not add further meaning, which is acceptable for a single, well-defined parameter.

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?

Explicit verb 'Remove' and resource 'acceptance criterion from a goal'. Differentiates from siblings like goal-update-criterion (modifies) and goal-remove-evidence (removes evidence, not criterion).

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 clear conditions: Grove mode only while goal is in backlog, Standard mode until goal is done. Does not explicitly mention when not to use or alternatives, but the context is sufficient.

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

goal-remove-evidenceA
Idempotent
Inspect

Delete an evidence record by UUID. Forbidden if the owning goal is already done (evidence is frozen after close). Removes both the database record and the attached file (if any).

ParametersJSON Schema
NameRequiredDescriptionDefault
evidenceIdYesUUID evidence-записи
Behavior4/5

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

The description transparently discloses that the tool deletes both the database record and any attached file, and that it is forbidden when the goal is done. Annotations already indicate non-readonly and idempotent, and the description adds useful context without contradiction.

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?

Two sentences, front-loaded with the primary action and followed by key constraints and side effects. Every sentence contributes meaning 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 simple tool with one parameter and no output schema, the description fully covers the action, conditions, and side effects. No additional detail is needed.

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?

The input schema already describes the evidenceId parameter as a UUID. The description mentions 'by UUID' but does not add additional meaning, such as format examples or sources. With 100% schema coverage, the description adds minimal value.

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 deletes an evidence record by UUID, and distinguishes it from alternative tools like goal-add-evidence-text or goal-attach-evidence by specifying the deletion action and associated constraints.

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 a clear condition for when the tool cannot be used (forbidden if goal is done), which helps the agent decide when to call it. However, it does not explicitly list alternative tools for comparison.

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

goal-reorderA
Idempotent
Inspect

Set display order of sibling goals within the same parent and priority band. Pass an array of goal UUIDs in the desired order — each is assigned position = its array index. All goals must share the same parent and priority.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesUUID целей в новом порядке (все должны иметь одного родителя и одинаковый priority)
Behavior3/5

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

Annotations provide idempotentHint=true, which the description does not mention. However, it does explain the behavioral trait that each goal gets position = array index. For a mutation tool, this is acceptable but not extensive.

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?

Two sentences with no wasted words. First sentence states purpose, second explains input and constraint. 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?

For a simple tool with one parameter and no output schema, the description covers purpose, usage, and constraints completely. No gaps.

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% and the schema's parameter description is in Russian. The description adds English clarification that position equals array index and reinforces the constraint of same parent and priority, which goes 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?

Clearly states it sets the display order of sibling goals within the same parent and priority band. The verb 'Set display order' and resource 'sibling goals' are specific, distinguishing it from related tools like 'goal-move' which changes parent.

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?

Describes the input format (array of UUIDs) and the precondition that all goals share the same parent and priority. While it doesn't explicitly say when not to use it, the condition implies exclusion for goals with different parents/priorities. No alternative tools are named, but siblings like 'goal-move' serve different purposes.

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

goal-request-ac-changeAInspect

Request a change to an acceptance criterion that appears unreachable. Requires ≥3 failed evidence attempts (weak/mismatch) with 0 matches. An LLM judge evaluates the reason for substantiality. On pass, creates an escalation for the goal owner to resolve (edit AC text, split to sub-goal, or reject). Grove mode only, goal must be in_progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesStructured justification: what is unreachable and what was attempted
criterionIdYesUUID of the acceptance criterion to escalate
Behavior5/5

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

Annotations only say not read-only and not idempotent. Description adds rich behavioral context: LLM judge evaluation, escalation creation, and resolution options. No contradiction with annotations.

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?

Every sentence provides critical information, but the description could be slightly more streamlined. However, it is well-structured and front-loaded with the primary 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 no output schema, the description adequately covers the tool's behavior, prerequisites, process, and outcomes. It is complete for a non-trivial workflow 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% and its descriptions are already clear. The description does not add new meaning beyond what the schema provides for each parameter. Baseline score 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 clearly states the verb 'Request a change' and the resource 'acceptance criterion', with specific conditions (≥3 failed evidence attempts) that distinguish it from sibling tools like goal-update-criterion or goal-resolve-escalation.

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 states when to use: when acceptance criterion appears unreachable with evidence attempt threshold. Mentions constraints: 'Grove mode only, goal must be in_progress'. Also describes the process outcomes (edit, split, reject), guiding agent when not to call.

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

goal-request-uploadAInspect

PREFERRED path to attach a LARGE binary evidence file (screenshot, log dump, PDF, session transcript — anything > ~1 KB) to an acceptance criterion. Returns a one-time {uploadUrl, expiresAt} scoped to this criterion. Then STREAM the raw file to it with a single PUT — no base64, no token:

curl -sS --fail --upload-file "/abs/path/to/file.png" ""

Optionally pass the hex SHA-256 of the file so the server fast-fails on any in-flight corruption: curl -sS --fail -H "X-Content-Sha256: " --upload-file "/abs/path/to/file.png" ""

The PUT response is the same evidence JSON that goal-attach-evidence returns (evidence id, serverSha256, judge verdict, criterion evidenceCount). A non-2xx PUT means the upload was rejected (expired/already-used/wrong-criterion/hash-mismatch) and NO evidence was created — request a fresh URL and retry.

Use this instead of goal-attach-evidence for any non-trivial file. Use goal-add-evidence-text only for byte-less context (external URLs, manual repro notes) — it does NOT cover an AC.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOptional evidence kind override. Only accepted value is `session_history` (goal-level transcript artifact; does NOT cover an AC).
captionNoOptional human-readable description, stored on the evidence
createdByNoIdentifier of the uploading agent
criterionIdYesUUID acceptance criterion the file will be evidence for
Behavior5/5

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

The description discloses the full workflow: returns a one-time upload URL, requires streaming PUT, explains response format, and covers error conditions (expired, already-used, etc.). Annotations only indicate non-read-only and non-idempotent, and the description adds substantial behavioral context without contradiction.

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 front-loaded with purpose and includes a practical curl example. While somewhat lengthy, every sentence serves a purpose. A slightly more concise structure would merit a 5.

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 no output schema, the description thoroughly explains return values (uploadUrl, expiresAt) and the PUT response. It covers the entire upload flow, including error handling and retry guidance, making it complete for a complex 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?

Schema coverage is 100% with parameter descriptions. The description adds value by explaining the 'kind' parameter's accepted value ('session_history') and its meaning. It does not need to repeat schema details, but this additional context justifies a score above baseline.

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 the tool's purpose clearly: 'PREFERRED path to attach a LARGE binary evidence file ... to an acceptance criterion.' It specifies the return of a one-time upload URL and distinguishes from sibling tools like goal-attach-evidence and goal-add-evidence-text.

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?

Explicit guidance is provided: 'Use this instead of goal-attach-evidence for any non-trivial file. Use goal-add-evidence-text only for byte-less context.' This clearly defines when to use this tool versus alternatives.

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

goal-resolve-escalationAInspect

Resolve a pending AC escalation. Owner decides: edit (provide new AC text), split (move AC to a child goal), or reject (agent must find another way). All prior evidence on the AC is deleted for edit/split so the agent must submit fresh proof.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional comment explaining the decision
newTextNoNew AC text (required when resolution=edit)
resolutionYesOne of: edit, split, reject
escalationIdYesUUID of the escalation to resolve
Behavior5/5

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

The description discloses a critical side effect: all prior evidence on the AC is deleted for edit/split, requiring fresh proof. This goes beyond the minimal annotations and warns the agent of destructive 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?

Three concise sentences: purpose, options, and side effect. No redundancy, front-loaded with the primary action.

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?

The description covers purpose, options, and side effects but omits what the tool returns (e.g., status message). Given the lack of output schema, a brief indication of the return value would improve completeness.

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?

The description adds meaning beyond the schema by explaining that newText is required when resolution=edit and clarifying what each resolution entails. This complements the 100% schema coverage perfectly.

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 resolves a pending AC escalation with three explicit options (edit, split, reject), distinguishing it from related siblings like 'goal-request-ac-change'.

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 explains the three resolution modes and their implications, guiding when to use each. However, it does not explicitly contrast with alternative tools or state prerequisites like having an escalation.

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

goal-suggest-assumptionsA
Read-onlyIdempotent
Inspect

LLM generates suggested assumptions for a goal edge (parent→child). Returns 2-4 assumptions with signposts and type classification. Author should review, edit, and accept relevant ones via goal-add-assumption.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalIdYesUUID цели (ребёнка)
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds that an LLM generates the output, returns 2-4 assumptions with signposts and type classification, which provides useful behavioral context beyond 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?

Two concise sentences: the first states the primary function and output, the second provides the follow-up action. No redundant 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?

The description covers the return format (2-4 assumptions with signposts and type classification) and the subsequent step (review and accept via goal-add-assumption). Given the simple tool with one parameter and no output schema, this is fully 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 coverage is 100% with the goalId parameter described as 'UUID of the goal (child)'. The description adds minimal value by reinforcing the parent-child edge context, but does not significantly extend 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 uses a specific verb 'generates' and identifies the resource 'suggested assumptions for a goal edge (parent→child)'. It clearly distinguishes from the sibling tool 'goal-add-assumption' by mentioning that the author should accept relevant ones via that tool.

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 states the scenario to use this tool (to get suggested assumptions) and directs the author to use 'goal-add-assumption' for acceptance, providing clear when-to-use and next-step guidance.

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

goal-summaryA
Read-only
Inspect

Aggregate statistics across all goals (or scoped to a projectId): total count, breakdown by status, root count, blocked count, and overdue count. Useful for daily standups and dashboard views.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoUUID проекта
Behavior4/5

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

Annotations declare readOnlyHint=true; description confirms read-only nature by listing aggregate statistics. Adds value by detailing output fields (counts by status, root, blocked, overdue), going beyond annotations. No contradictions.

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?

Single sentence, front-loaded with main action and key outputs. No redundant words, every phrase adds 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?

Explains output fields and scoping, but no output schema exists. Could mention format or limits, but adequate for a summary tool with single optional parameter. Sibling tools context not needed.

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?

Single optional parameter 'projectId' with schema description 'UUID проекта' (Russian). English description adds meaning: clarifies scoping omits all goals, optionality. Schema coverage 100% and description adds context beyond 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?

Description starts with clear verb 'Aggregate' and specifies resource 'goals', listing exact statistics returned. Distinguishes from siblings like 'goal-list' (individual goals) and 'goal-get' (single goal) by focusing on aggregation. Scope via projectId is clearly stated.

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

Usage Guidelines3/5

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

States 'Useful for daily standups and dashboard views' implying context, but does not explicitly exclude cases or compare to siblings. Lacks when-not-to-use guidance or alternative suggestions.

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

goal-todoAInspect

Quick-capture a task or improvement idea into a project. Creates a backlog task with priority 4 (low) and auto-adds the "suggestion" tag. Resolves project by slug (falls back to the default project). Lightweight alternative to goal-create when you need minimal ceremony.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoТеги (автоматически добавляется "suggestion")
titleYesНазвание задачи
projectNoSlug проекта (если не указан — используется дефолтный)
priorityNoПриоритет 1–5 (default: 4)
descriptionNoОписание
Behavior4/5

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

Discloses creating task with priority 4, auto-adds 'suggestion' tag, resolves project by slug with fallback. Annotations only show non-read-only and non-idempotent, so description adds meaningful 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?

Two sentences, front-loaded with purpose, no wasted words. Efficiently conveys core behavior and differentiation.

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 5 parameters (1 required), no output schema, and moderate complexity, description covers defaults, fallback, and tool purpose completely for agent decision-making.

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 has 100% coverage with parameter descriptions. Description adds context on defaults (priority 4, auto-tag) and project resolution logic, enhancing understanding beyond 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?

Description clearly states it quick-captures a task/idea into a project, creating a backlog with defaults. Explicitly distinguishes from sibling 'goal-create' as a lightweight alternative.

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 calls itself a lightweight alternative to goal-create, guiding when to use this tool vs goal-create for minimal ceremony.

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

goal-treeA
Read-only
Inspect

Fetch the full goal hierarchy as a nested tree. Optional filters: projectId (UUID) to scope to one project, rootId (UUID) to get a subtree. Each node includes id, title, status, priority, type, progress, and nested children array.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootIdNoUUID корня поддерева
projectIdNoUUID проекта (по умолчанию: все проекты)
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description adds value by specifying the return structure (id, title, status, etc.) but does not disclose potential limits like depth or pagination.

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?

Two concise sentences: first states purpose, second specifies parameters and return node fields. 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?

Although no output schema, the description adequately describes node fields. The tool is simple and the context is sufficiently complete for a fetch operation.

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%, and the description adds English clarifications to the Russian schema descriptions, explaining the scoping effect of each parameter.

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 it fetches the full goal hierarchy as a nested tree, which distinguishes it from siblings like goal-get (single) and goal-list (flat list).

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 mentions optional filters (projectId, rootId) and implies when to use the tree, but does not explicitly exclude alternatives or provide when-not guidance.

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

goal-updateA
Idempotent
Inspect

Partial update of a goal — only the fields you pass are changed; omitted fields are untouched. Updatable: title, status, priority (1-5), description, type, tags, deadline, estimate, mode. Status transitions are validated (backlog→in_progress→done|cancelled; blocked→in_progress). Grove mode enforces gates: in_progress requires ≥1 AC, done requires file-evidence on every AC + session_history. Returns the updated goal with all fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoРежим цели: standard или grove. Иммутабелен после mode_locked_at
tagsNoНовые теги
typeNoНовый тип: goal, milestone, task, habit
titleNoНовое название (макс. 500)
goalIdYesUUID цели
statusNoНовый статус: backlog, in_progress, blocked, done, cancelled
deadlineNoНовый дедлайн (ISO 8601)
estimateNoНовая оценка
priorityNoНовый приоритет (1–5)
descriptionNoНовое описание
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations (which only provide readOnlyHint=false and idempotentHint=true). It details partial update semantics, status validation, and grove mode enforcement, all of which are critical for correct 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?

Three sentences are front-loaded with the core behavior and contain no wasted words. Every sentence adds essential 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?

Despite no output schema, the description states that the tool returns the updated goal with all fields. Given the complexity (10 parameters, validation rules), this is complete enough for correct invocation.

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?

With 100% schema description coverage, the baseline is 3, but the description adds meaning by listing all updatable fields and explaining status transitions and grove mode conditions, exceeding what the schema provides alone.

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 it is a partial update of a goal, listing the updatable fields and the behavior (only passed fields changed). This distinguishes it from sibling tools like goal-create or goal-delete.

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 explains that omitted fields are untouched and outlines status transition rules and grove mode gates. It implicitly tells when to use it (to modify goal properties), but does not explicitly contrast with atomic update siblings like goal-block or goal-move.

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

goal-update-assumptionA
Idempotent
Inspect

Update text or signpost of an assumption. Status cannot be changed manually — transitions happen only via evidence judge verdicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoНовый текст допущения
signpostNoНовый индикатор провала
assumptionIdYesUUID допущения
Behavior5/5

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

The description adds a critical behavioral constraint not present in annotations: status transitions are automatic via evidence judge verdicts. This complements the idempotentHint and readOnlyHint annotations without contradiction.

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?

Two concise sentences: the first states the action, the second adds a critical constraint. No wasted words or redundant 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?

Given the tool's simplicity (3 params, no output schema), the description covers the core purpose and a key behavioral rule. It could mention prerequisites or error conditions, but is sufficient for a straightforward update.

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 descriptions for all parameters. The description only reiterates the field names without adding new meaning, so a 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 clearly states the tool updates text or signpost of an assumption, with a specific verb and resource. It distinguishes from siblings like goal-update (which likely updates other goal fields) and goal-remove-assumption.

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 notes that status cannot be changed manually, providing a clear 'when not to use' guideline. It lacks an explicit alternative tool mention, but the restriction is well-defined.

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

goal-update-criterionA
Idempotent
Inspect

Update the text of an acceptance criterion. Grove mode: only while goal is in backlog (frozen once started), quality linter blocks high-severity issues. Standard mode: until goal is done, linter is advisory. Returns updated criterion details and any quality findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesNew criterion text
criterionIdYesUUID acceptance criterion
Behavior5/5

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

Beyond annotations (readOnlyHint=false, idempotentHint=true), the description adds substantial behavioral details: the difference between Grove and Standard modes, the linter behavior (blocking vs advisory), and the return of quality findings. No contradictions with 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 concise, using three sentences to convey purpose, usage context, and return value. No redundant information or excessive detail.

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 two modes and linter behavior, the description provides sufficient context for typical use. It mentions return values (updated criterion and quality findings) despite no output schema. Could be slightly improved by noting permission requirements or error cases, but it is generally complete.

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?

The input schema already fully describes both parameters (criterionId and text) with 100% coverage. The description does not add meaningful new semantic information about the parameters, so the baseline score 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 clearly states the action ('Update the text of an acceptance criterion') and the specific resource ('acceptance criterion'). It distinguishes from sibling tools like goal-add-criterion and goal-remove-criterion by focusing on updating existing criteria text.

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 explains the two modes (Grove and Standard) with their constraints, providing context for when the tool can be used. It implies that this tool is for updating criterion text, but does not explicitly contrast with goal-update which might update goal-level fields.

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

project-add-dependencyA
Idempotent
Inspect

Declare that one project depends on another (depends-on relationship). Accepts UUID or slug for both sides. Idempotent: if the dependency already exists, returns it with already_existed=true. Self-references are rejected. No cycle detection — the caller is responsible for avoiding circular chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesUUID или slug проекта-зависимого
dependsOnProjectIdYesUUID или slug проекта, от которого зависит
Behavior5/5

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

The description goes beyond annotations by detailing idempotent behavior (returns already_existed=true), self-reference rejection, and lack of cycle detection. Annotations only indicate idempotency and read/write nature, so the description adds significant 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 concise at four sentences, each adding independent value: purpose, parameter format, idempotency detail, and constraints. The most critical information is front-loaded.

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 lack of output schema, the description covers the key behavioral aspects (idempotency, rejection of self-references, no cycle detection) but could be more complete by mentioning the expected success response (e.g., returns the dependency object).

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 mentions 'Accepts UUID or slug for both sides', which is slightly redundant given 100% schema coverage, but it also adds the constraint that self-references are rejected, providing additional parameter semantics 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 tool's purpose: 'Declare that one project depends on another (depends-on relationship).' The verb 'Declare' and resource 'dependency' make the action specific, and the sibling tool 'project-remove-dependency' provides contrast.

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

Usage Guidelines3/5

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

The description gives implied usage context (adding a dependency) but lacks explicit guidance on when to use this tool versus alternatives like 'project-remove-dependency' or when not to use it (e.g., if cycle detection is required).

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

project-createAInspect

Create a new project container for goals. Requires title and a unique slug (lowercase a-z, 0-9, hyphens). Optional: description, status (active/archived/paused, default active), tags, icon (emoji), repositoryPath, repositoryUrl, isDefault. Returns the created project with id, slug, and webUrl. Slug must be unique — duplicates are rejected with existing slugs list.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNoИконка (эмодзи, макс. 10 символов)
slugYesУникальный slug (только a-z, 0-9, дефис)
tagsNoТеги
titleYesНазвание проекта
statusNoСтатус: active / archived / paused (default: active)
isDefaultNoСделать проектом по умолчанию
descriptionNoОписание проекта
repositoryUrlNoURL репозитория
repositoryPathNoПуть к репозиторию на сервере
Behavior4/5

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

Annotations indicate readOnlyHint=false and idempotentHint=false, so the description correctly implies a write operation. It adds details about duplicate rejection with existing slugs list and return fields (id, slug, webUrl), which goes beyond 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 four sentences, front-loaded with the main action and requirements. Every sentence adds essential information without redundancy.

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 9 parameters and no output schema, the description covers return values and the duplicate rejection error. It provides sufficient context for a creation tool, though it omits other potential error cases.

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?

With 100% schema description coverage, baseline is 3. The description adds value by specifying slug format (lowercase a-z, 0-9, hyphens) and stating default status is 'active', which the schema does not explicitly convey.

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 'Create a new project container for goals,' specifying the verb (create) and resource (project). This distinguishes it from sibling tools like project-delete and project-get.

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 states required parameters (title and unique slug) and lists optional fields, providing clear usage context. However, it does not explicitly exclude when not to use or name alternatives, so it falls short of a 5.

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

project-deleteA
DestructiveIdempotent
Inspect

Delete a project. If the project has goals, pass force=true to cascade-delete them all; without force, the call is rejected with the goals count. Returns deleted title, slug, and goals_deleted count.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoУдалить вместе со всеми целями (default: false — откажет если есть цели)
projectIdYesUUID проекта
Behavior5/5

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

Discloses key behaviors beyond annotations: cascade deletion behavior for goals, the rejection without force, and the return values (title, slug, goals_deleted count). Annotations already mark it as destructive and idempotent, but the description adds valuable 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?

Three concise sentences, each conveying essential information without fluff. The core action is front-loaded in the first sentence, making it easy to parse quickly.

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?

Despite no output schema, the description specifies return values (title, slug, goals_deleted_count). It covers both success paths (with/without force) and rejection case. Given the tool's simplicity and good annotations, this is sufficiently 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?

Schema coverage is 100%, so baseline is 3. The description adds semantic value by explaining the 'force' parameter's effect (cascade-delete) and the rejection behavior, which is not fully captured in the schema's short description. This provides helpful context for the agent.

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 'Delete a project' with a specific verb and resource. It distinguishes from sibling tools like account-delete, project-create, and project-update by focusing on deletion and the cascade behavior for goals.

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?

Provides explicit guidance on when to use force=true versus force=false: without force, the call is rejected if goals exist, with the count provided. This helps the agent decide the correct invocation based on context.

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

project-getA
Read-only
Inspect

Fetch full project details: title, slug, status, description, icon, tags, repository info, goals breakdown by status (backlog/in_progress/blocked/done/cancelled counts), and depends_on list of project dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesUUID проекта
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds value by detailing the returned data structure (e.g., goals breakdown by status, depends_on list), providing transparency beyond 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?

Very concise: one sentence listing key fields. No unnecessary words; every part earns its place.

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 single parameter, readOnly annotation, and no output schema, the description fully informs what the tool returns, making it complete for a fetch operation.

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 parameter 'projectId' is described. The description does not add additional meaning to the parameter beyond what the schema provides.

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 'Fetch full project details' and enumerates specific fields (title, slug, status, etc.), distinguishing it from siblings like project-list which likely returns 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?

While no explicit when-not or alternatives are mentioned, the description implies use when full details of a specific project are needed, and sibling tools cover other operations (create, delete, list).

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

project-listA
Read-only
Inspect

List all projects with optional status filter (active/archived/paused). Returns id, title, slug, webUrl, icon, and goals_count for each project. Use project-get for full details with goals breakdown by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoСтатус: active / archived / paused
Behavior4/5

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

Annotations already indicate readOnlyHint=true, and the description adds useful behavioral context by listing returned fields (id, title, slug, webUrl, icon, goals_count). No contradictions or omissions.

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?

Two sentences with no wasted words: first states purpose and parameter, second states return fields and alternative tool. Every sentence earns its place.

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 list tool with one optional parameter and no output schema, the description covers purpose, parameter usage, return fields, and relevant sibling tool. Complete and sufficient.

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 coverage is 100% for the single parameter 'status'. The description adds meaning by specifying the allowed filter values (active/archived/paused) even though they are not declared as enums in the schema, providing clear usage guidance.

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 'List all projects with optional status filter' using a specific verb+resource pattern. It distinguishes from sibling tool 'project-get' by noting that this lists projects while the sibling provides full details with goals breakdown.

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 mentions optional status filter and explicitly recommends using project-get for full details, providing context on when to choose alternatives. It could be more explicit about when not to use, but the guidance is clear.

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

project-remove-dependencyA
Idempotent
Inspect

Remove a project dependency. Two lookup modes: pass dependency_id (UUID of the link itself), or pass both projectId and dependsOnProjectId (UUID or slug). Returns removed=true on success, removed=false if the dependency was not found.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoUUID или slug проекта-зависимого (если dependencyId не задан)
dependencyIdNoUUID самой связи
dependsOnProjectIdNoUUID или slug целевого проекта (если dependencyId не задан)
Behavior4/5

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

Beyond annotations (idempotentHint=true), the description reveals return behavior ('removed=true/false') and behavior on not found, adding valuable 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?

Two sentences, front-loaded with action and return format, every sentence adds value without redundancy.

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 modes and return format adequately; could mention it is the removal counterpart to project-add-dependency, but overall sufficient.

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?

Despite high schema coverage (100%), the description adds meaning by explaining the two lookup modes and the relationship between parameters (dependencyId vs projectId+dependsOnProjectId).

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 action ('Remove a project dependency') and distinguishes it from sibling tools like 'project-add-dependency' and 'goal-remove-blocker'.

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 describes two lookup modes for invoking the tool, but does not explicitly state when not to use it or mention alternatives.

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

project-updateA
Idempotent
Inspect

Partial update of a project — only the fields you pass are changed; omitted fields are untouched. Updatable: title, slug, description, status (active/archived/paused), tags, icon (emoji), repositoryPath, repositoryUrl, isDefault, redTeamMode (optional/advisory/required), evidenceJudgeMode (off/optional/required), allowedGoalMode (any/grove_only), fmeaGenerationMode (off/on), escalationResolveTimeout (off/1h/4h/24h), escalationAutoResolveBy (none/planner-agent), escalationAutoResolveStrategy (suggest-edit/reject-default). Returns the updated project with all fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNoИконка (эмодзи, макс. 10 символов)
slugNoНовый slug (только a-z, 0-9, дефис; должен быть уникальным)
tagsNoНовые теги
titleNoНовое название
statusNoНовый статус: active, archived, paused
isDefaultNoСделать проектом по умолчанию
projectIdYesUUID проекта
descriptionNoНовое описание
redTeamModeNoРежим red-team: optional, advisory, required
repositoryUrlNoURL репозитория
repositoryPathNoПуть к репозиторию на сервере
allowedGoalModeNoРазрешённые режимы целей: any, grove_only
evidenceJudgeModeNoРежим судьи доказательств: off, optional, required
fmeaGenerationModeNoFMEA-генерация: off, on
escalationAutoResolveByNoАвто-резолвер эскалации: none, planner-agent
escalationResolveTimeoutNoТаймаут эскалации: off, 1h, 4h, 24h
escalationAutoResolveStrategyNoСтратегия авто-резолва: suggest-edit, reject-default
Behavior4/5

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

Description explains partial update behavior and lists all updatable fields with allowed values. Annotations indicate idempotency, which is consistent. No mention of permissions or 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.

Conciseness4/5

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

Description is structured with a clear first sentence stating the core behavior, followed by field list and return value. Slightly long due to exhaustive field list, but 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 17 parameters with 100% schema coverage and no output schema, the description fully specifies updatable fields, allowed values, and return type. No gaps.

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?

Description adds context beyond schema: 'only the fields you pass are changed; omitted fields are untouched.' It also enumerates all fields with allowed values, which is helpful given 100% 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?

Description clearly states 'Partial update of a project' with the verb 'update' and resource 'project'. It distinguishes from siblings like project-create and project-delete.

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

Usage Guidelines3/5

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

Description implies when to use (partial update) but lacks explicit guidance on when not to use or alternatives. Sibling tools are present but not referenced.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources