Skip to main content
Glama

Server Details

Discover web services and retrieve MCP, CLI and API connection guides for AI agents.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.1/5.0

Scored across 58 tools

Disambiguation3/5

Many tools sit in adjacent discovery/submission/documentation workflows, but descriptions often explicitly route callers away from wrong choices. Overlap remains among browse_catalogue/search_sites/filter_sites/compare_services/resolve_task and among draft_submission/validate_submission/preflight_submission/submit_service, so misselection is still plausible.

Naming Consistency4/5

Names are consistently snake_case and mostly follow a verb_noun pattern such as get_job_status, write_review, and retract_comment. Minor deviations like get_agent_brief and check_contribution_connection are readable and not disruptive.

Tool Count1/5

With 58 tools, the surface is far beyond the typical 3-15 range and is fragmented into many granular operations. Even if each operation maps to a real workflow, the aggregate tool count is excessive for reliable agent selection.

Completeness4/5

The surface covers service discovery, task resolution, submissions, validation, publisher claims, corrections, community review/comment/vote, watchlists, documentation, jobs, and contribution history. There are minor lifecycle gaps, but core workflows appear well represented.

Available Tools

58 tools
apply_correctionA
Idempotent
Inspect

Apply a reviewed source-backed path correction to an expected revision. Requires current publisher control or moderator authority. Returns the new revision and reassessment job. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
request_idYes
replacementNo
suggestion_idYes
expected_path_revisionYes

TDQS

A3.7/5.0
Behavior4/5

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

Goes beyond annotations by stating specific authority requirements (publisher control, moderator), authentication needs (connected identity, community:comment scope), and return behavior (new revision and reassessment job). It also provides idempotency guidance ('Preserve request_id and payload on retries'), which aligns with the idempotentHint annotation and adds practical value. It could add more about what happens if the expected revision doesn't match.

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?

Four sentences with zero waste, front-loading the core action and then covering prerequisites, output, and retry guidance. Every sentence earns its place.

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

Completeness3/5

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

The description covers the operation's purpose, authority requirements, return values, and retry semantics, which is good for a mutation tool. However, given the extreme complexity of the input schema (nested evidence, metadata, claims, etc.) and no output schema, the description is insufficient for an agent to understand how to construct the required payload without deep schema inspection.

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

Parameters2/5

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

With 0% schema description coverage and 4 complex parameters (including a deeply nested `replacement` object), the description adds almost no parameter-level meaning. It mentions 'source-backed path correction' and 'expected revision' but doesn't explain the required `suggestion_id`, the structure of `replacement`, or the role of `request_id`. A user would need to inspect the raw schema to understand how to call this tool.

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

Purpose4/5

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

States a specific verb+resource: 'Apply a reviewed source-backed path correction to an expected revision.' This clearly distinguishes the write/mutate nature of the tool from siblings like suggest_correction and resolve_correction. It lacks explicit differentiation from resolve_correction, which might also seem like it applies corrections.

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 context for use: 'Requires current publisher control or moderator authority.' It doesn't explicitly say when NOT to use it versus alternatives like suggest_correction, but the authority requirement gives a strong implicit usage gate.

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

attach_evidenceA
Idempotent
Inspect

Attach a bounded redacted report under the current identity. Returns a public evidence permalink for an actual observation. Requires the connected identity and community:review. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
evidenceYes
request_idYes

TDQS

A4/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly=false, idempotent=true, destructive=false, openWorld=false). The description goes well beyond them by disclosing that the result is a PUBLIC permalink (a side effect not expressed anywhere in structured data), that the payload must be bounded and redacted, that community:review is required, and that request_id/payload must be preserved on retries to stay 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?

Four tight sentences, front-loaded with the core action, then outcome, prerequisites, and retry guidance in a logical order. Every sentence carries distinct information with no filler.

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

Completeness4/5

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

For a write tool with no output schema, the description covers purpose, permission prerequisites, the return value (public permalink), and retry semantics. It stops short of describing failure/redaction-rejection behavior, but nothing critical for a correct call is missing.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load. It characterizes 'evidence' as a bounded redacted report and explains 'request_id' implicitly via retry semantics, but the nested evidence.title/text fields are not elaborated beyond the schema's min/maxLength constraints, leaving partial compensation.

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

Purpose4/5

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

States a specific verb+resource (attach a bounded redacted report) and adds the outcome (returns a public evidence permalink for an actual observation). An agent understands the action clearly, but the description never names or contrasts a sibling (e.g. record_observation or report_problem), so sibling differentiation is left to inference.

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?

It gives a prerequisite (requires the connected identity and community:review) and ties the tool to 'an actual observation', which implies when it applies. However, there is no explicit when-to-use vs when-not, nor any named alternative among the many evidence/observation-related siblings.

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

browse_catalogueA
Read-onlyIdempotent
Inspect

Page through every listing, including unchecked ones; not for matching a task (use resolve_task). Interface and task labels are not operational certification.

NameRequiredDescriptionDefault
taskNo
viewNoconnect
limitNo
queryNo
cursorNo
statusNo
categoryNo
interfaceNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive profile, so the bar is lower. The description still adds real behavioral context: results include unchecked entries (completeness caveat) and that 'interface and task labels are not operational certification' — a non-obvious trust warning an agent would otherwise miss. Pagination behavior itself is only implied by 'page through'.

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?

Two tight clauses with the scope statement front-loaded and zero padding. The trailing sentence about labels is terse to the point of being slightly cryptic, but every sentence carries information.

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

Completeness2/5

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

With 8 undocumented parameters, no output schema, and an enumeration of views/filters that the description never explains, an agent cannot confidently construct a call beyond the bare minimum. The trust caveat is valuable, but the description does not cover the surface area of this tool.

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description must compensate and largely does not. It only obliquely touches 'task' and 'interface' (both by warning about labels) and says nothing about 'view' (connect vs full), 'status', 'category', 'query', 'limit', or 'cursor' — a significant gap for an 8-param tool.

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

Purpose4/5

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

The verb 'page through' plus 'every listing, including unchecked ones' states both the action and the scope (unfiltered/full coverage). It is clearly separable from resolve_task, though the term 'listing' is not defined and the catalogue domain must be inferred from sibling tools.

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

Usage Guidelines4/5

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

Explicitly excludes the task-matching case and names the alternative ('use resolve_task'), which is the key routing decision. It does not position itself against other obvious browsing/search siblings such as search_sites or filter_sites, so the guidance is clear but not complete.

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

check_connectionA
Idempotent
Inspect

Verify this environment can reach Vibenate. Optional setup code links the receipt to the setup page for 30 minutes. Publishes no contribution. Does not establish provider access. Public access.

NameRequiredDescriptionDefault
codeNo

TDQS

A3.9/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: it publishes no contribution, does not establish provider access, and is public. This clarifies that readOnlyHint=false does not mean it mutates platform state. It leaves the 'receipt' mechanism and what the optional code actually commits to somewhat opaque.

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?

Four short, front-loaded sentences, each contributing a distinct fact (purpose, code effect, no contribution, no provider access, public). No filler.

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

Completeness4/5

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

Covers purpose, side-effect boundaries, access model, and the sole parameter. With no output schema, it could say more about what a successful result looks like, but the core calling information is present.

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 0% schema coverage, the description carries the burden and does explain `code`: it is optional, and it links the receipt to the setup page for 30 minutes. That gives purpose, optionality, and effect, though it omits the uuid format already present in the schema.

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

Purpose4/5

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

States a specific verb+resource ('Verify this environment can reach Vibenate'), which is concrete. The negative clauses (publishes no contribution, does not establish provider access) further scope it. It stops short of explicitly contrasting with the sibling check_contribution_connection, so a 4 rather than 5.

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 purpose implies you call it to test reachability, and the negative statements imply it is not the tool for actually submitting or authenticating. But there is no explicit when-to-use / when-not or named alternative, so guidance is only implied.

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

check_contribution_connectionA
Idempotent
Inspect

Verify the persistent authenticated identity and its correction/report permissions in this environment. Optional setup code links the receipt to the setup page. Publishes no contribution. Requires the connected identity.

NameRequiredDescriptionDefault
codeNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=false; the description still adds real context: it explains that no contribution is published (bounding the side effect) and that a receipt is produced and can be linked via the optional setup code, which reconciles with readOnlyHint=false. The remaining gap is that neither description nor annotations say how the connected identity is established.

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?

Four short, front-loaded sentences with no filler; the purpose leads and the constraints follow. The only mild slack is 'in this environment', which is vague and adds little.

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

Completeness4/5

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

For a low-complexity, one-optional-parameter verification tool with no output schema, the description covers purpose, the side-effect boundary, the parameter's role, and the auth prerequisite. What remains unspecified — the shape of the receipt and what a failed verification looks like — is minor at this complexity level.

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

Parameters3/5

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

Schema description coverage is 0% for the single optional 'code' parameter, so the description must carry it — and it does partially, explaining that the optional code links the receipt to the setup page. It does not confirm the UUID format or what happens when the code is omitted or invalid, so it compensates only partly for the missing schema documentation.

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

Purpose4/5

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

States a specific verb (Verify) and a specific resource (the persistent authenticated identity and its correction/report permissions), with the scope qualifier 'in this environment'. It implicitly separates itself from sibling read tools like get_my_identity or check_connection by noting it 'Publishes no contribution', but it never names or contrasts an alternative directly.

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?

'Publishes no contribution' and 'Requires the connected identity' imply usage context and a prerequisite, but there is no explicit statement of when to call this versus check_connection, get_my_identity, or a preflight tool. The agent must infer the routing from the toolset context rather than from the text.

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

compare_servicesB
Read-onlyIdempotent
Inspect

Compare up to four services while retaining query, caller capabilities and constraints. Supply query without sites to discover alternatives. Ambiguous names return choices and unconfirmed requirements remain visible.

NameRequiredDescriptionDefault
taskNo
viewNoconnect
queryNo
sitesNo
constraintsNo
caller_profileNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already establish readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds useful output behavior context — ambiguous names return choices, unconfirmed requirements stay visible — but says nothing about result size, latency, or how the four-service cap is enforced.

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?

Three short sentences with no filler, and the core capability plus its four-service bound is front-loaded. The phrasing is dense but every clause carries information.

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

Completeness2/5

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

For a tool with six parameters, heavy nesting, and no output schema, the description is thin. It omits parameter semantics, default behavior, and any notion of the return shape beyond ambiguity handling, leaving the agent under-informed about how to construct a valid comparison request.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters, several deeply nested with many enums. The description only gestures at query, sites, constraints, and caller capabilities; it never explains view (full vs connect), task, or any constraint dimension such as effects, access, or qualification, so it does not compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific verb and resource ("Compare up to four services") and pins the hard limit of four, which an agent cannot infer from the schema alone. It distinguishes this from single-service inspection tools like inspect_site, though it never names a sibling explicitly.

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?

"Supply query without sites to discover alternatives" gives one concrete usage pattern (discovery mode) and implies the alternative (compare a known set of sites). However, it never states when to use compare_services versus search_sites, browse_catalogue, or inspect_site, leaving the routing decision to inference.

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

create_publisher_claimA
Idempotent
Inspect

Create a service-control challenge. Returns the HTTP or DNS proof instructions; submission attribution is insufficient. Requires the connected identity and claim:write. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
request_idYes
service_idYes

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the annotations, it discloses the auth requirement ('connected identity and claim:write') and actionable retry semantics ('Preserve request_id and payload on retries'), which reinforces idempotentHint with concrete guidance. It does not cover rate limits or lifecycle concerns such as how long a challenge stays valid.

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?

Three short sentences, front-loaded with purpose then return value, then constraints - no padding. The mention of 'payload', which is not a schema parameter, is the one small bit of noise.

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

Completeness3/5

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

With no output schema it correctly describes what is returned, and it surfaces the auth scope, which is the most important missing structured data. However, for a 2-required-param tool at 0% schema coverage it leaves service_id completely undefined and introduces an undeclared 'payload' concept.

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

Parameters2/5

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

Schema coverage is 0%, so the description must carry parameter meaning, yet it never explains service_id and references a 'payload' that is not a declared property. Only request_id is given any semantic context (preserve on retries), leaving the required service_id opaque.

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

Purpose4/5

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

The opening sentence states a specific verb+resource ('Create a service-control challenge'), and the follow-up clarifies it produces HTTP/DNS proof instructions, which cleanly distinguishes it from verify_publisher_claim. It does not, however, name the sibling it complements, so the agent must infer the pairing.

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

Usage Guidelines4/5

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

It gives a clear selection condition - 'submission attribution is insufficient' - which tells the agent when this path is needed rather than a submission-based one. It stops short of explicitly naming alternatives or sequencing into verify_publisher_claim.

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

draft_submissionB
Read-onlyIdempotent
Inspect

Draft source-excerpt candidates from a website or documentation URL. Returns uncertain fields, validation/preflight and a source handle. Publishes nothing; correct and confirm before submitting. Public access.

NameRequiredDescriptionDefault
source_urlNo
website_urlYes
association_urlNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuine context beyond that: it returns uncertain fields plus validation/preflight and a source handle, and explicitly publishes nothing, which tells the agent this is a safe, reversible draft step.

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?

Three short sentences, front-loaded with the purpose and followed by return info and the key caveat. Every sentence carries weight, though the 'Public access' fragment is terse and slightly disconnected.

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

Completeness3/5

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

For a tool with no output schema, the description usefully sketches what comes back (uncertain fields, validation/preflight, source handle) and the non-publishing guarantee. But with three undocumented parameters at 0% schema coverage and no sibling routing, it is only adequate, not complete.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the schema itself documents nothing. The description only vaguely references 'a website or documentation URL' and gives no guidance on how source_url, website_url, and association_url differ or how they relate, leaving the agent unable to disambiguate the inputs.

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

Purpose4/5

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

States a specific verb (draft) and resource (source-excerpt candidates) plus the input source (website or documentation URL). It does not explicitly distinguish itself from near-siblings like preflight_submission or validate_submission, so an agent must infer the pipeline relationship from the 'correct and confirm before submitting' phrasing.

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?

'Publishes nothing; correct and confirm before submitting' implies this is the first drafting step in a submit workflow, and 'Public access' signals no auth barrier. However, it never names when to prefer this over preflight_submission, validate_submission, or submit_service, leaving the ordering to inference.

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

edit_commentA
Idempotent
Inspect

Edit an own comment at its expected revision; a conflict requires inspecting the current comment. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
bodyYes
comment_idYes
request_idYes
expected_revisionYes

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial context beyond annotations: revision-based optimistic concurrency, conflict-handling flow, the identity/scope requirement, and idempotent retry semantics ('preserve request_id and payload on retries') that align with idempotentHint=true. This is exactly the kind of behavioral disclosure annotations can't carry.

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 dense sentences, front-loaded with the operation and revision semantics before preconditions and retry guidance. No filler; every clause conveys actionable 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?

For a mutation tool with annotations present and no output schema, it covers the essential operational facts: auth/scope, concurrency, conflict recovery, and retry safety. The main gap is that body and comment_id semantics are left entirely to the schema.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It explains expected_revision (conflict detection) and request_id (retry idempotence) well, but body and comment_id are never described, leaving half the parameters undocumented in both places.

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

Purpose4/5

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

States a specific verb and resource ('Edit an own comment') with a scope constraint ('own') and a concurrency qualifier ('at its expected revision'). This clearly separates it from write_comment and retract_comment, though it doesn't name those siblings explicitly.

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?

Gives clear operating context: it must be the caller's own comment, it requires the connected identity and community:comment scope, and a conflict signals that the current comment must be inspected first. No explicit when-not or alternative routing, but the preconditions are well stated.

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

filter_sitesB
Read-onlyIdempotent
Inspect

Check whether service URLs you found elsewhere are in the catalogue. Unknown URLs do not trigger crawling.

NameRequiredDescriptionDefault
modeNodiscovery
urlsYes
viewNoconnect
constraintsNo
caller_profileNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the bar is lower. The description still adds genuinely non-obvious behavioral context: unknown URLs are simply not crawled, meaning no side-effects or network fetching result from passing arbitrary input. It does not describe the response shape or what a match/non-match looks like.

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 short sentences, front-loaded with purpose and followed by the one behavioral caveat that matters. No filler or repetition.

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

Completeness2/5

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

For a tool with 5 parameters, multiple enums, and deeply nested constraint/profile objects and no output schema, two sentences are far too thin. An agent has no guidance on how `mode`, `view`, or `constraints` alter results, or what the return value contains when a URL is matched or missing.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, including two large nested objects (constraints with ~17 sub-properties and a deeply nested caller_profile). The description only implicitly maps to `urls` and says nothing about `mode`, `view`, `constraints`, or `caller_profile`, leaving the agent to reverse-engineer the schema.

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

Purpose4/5

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

States a concrete verb+resource: check whether given service URLs are in the catalogue. The phrase 'URLs you found elsewhere' implicitly separates it from discovery-oriented siblings like search_sites and browse_catalogue, but it never names an alternative explicitly.

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?

'URLs you found elsewhere' implies the usage situation (you already have candidate URLs and want to validate them), and the note about unknown URLs hints this is a validation step rather than discovery. However, there is no explicit statement of when to prefer this over search_sites/browse_catalogue/inspect_site, nor what to do with URLs that come back unknown.

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

get_agent_briefA
Read-onlyIdempotent
Inspect

Read the Vibenate quick start (the opening of SKILL.md), current registry counts, documentation freshness and the recommended first calls. Public access.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is fully covered structurally. The description adds the useful bit that it is 'public access' (no auth needed), but does not disclose output shape, size, or refresh cadence beyond the content list.

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?

A single dense sentence that front-loads the verb and enumerates contents. It is efficient, though the parenthetical about SKILL.md and the four-item list push it toward the upper end of comfortable length.

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

Completeness4/5

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

For a zero-param, read-only orientation tool with full annotations and no output schema, the description tells the agent essentially everything it needs: what it returns, that it is public, and that it is a starting point. Only the 'call this first' routing signal is missing.

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?

Zero parameters, so per the rubric the baseline is 4. The description correctly implies a no-argument tool and adds no misleading parameter information.

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

Purpose4/5

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

States a specific verb ('Read') and lists the exact resources returned (quick start, registry counts, doc freshness, recommended first calls). Sibling tools like read_documentation, inspect_documentation and get_registry_statistics overlap conceptually, but the description's bundling of these into a single 'brief' gives it a distinct identity.

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 implies this is a zero-arg orientation/starting point and notes it is publicly accessible, which hints at when to use it, but never explicitly says 'call this first' or contrasts it against read_documentation/inspect_documentation which cover similar ground.

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

get_agent_pathA
Read-onlyIdempotent
Inspect

Raw record for one path_id (the detail_url target from resolve_task); use inspect_site view=guide for instructions. Vibenate never executes provider commands or operations.

NameRequiredDescriptionDefault
path_idYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description adds that the payload is a 'raw' (unprocessed) record and that Vibenate never executes provider commands or operations, which is a useful scope boundary, but nothing about response shape or limits.

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?

Two short sentences, front-loaded with the core action and the parameter provenance. The trailing non-execution disclaimer is compact and earns a place as a safety boundary, though the parenthetical makes the first sentence slightly dense.

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

Completeness3/5

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

For a single-parameter read tool with rich read-only annotations and no output schema, the description says enough to call it, but 'raw record' is the only hint about return content and the path_id format is unstated. Adequate, not 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 0% (path_id has a bare string type), so the description must carry semantics. It does identify the parameter's origin via resolve_task's detail_url, but gives no format, validation, or example value, leaving the agent to infer what a valid path_id looks like.

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

Purpose4/5

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

States a specific verb+resource: fetch the raw record for one path_id. The parenthetical ties path_id to resolve_task's detail_url, which pins down what the resource is. Slightly ambiguous what a 'path' contains, but distinguishable from siblings like get_path_history.

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?

Tells the agent where path_id comes from (the detail_url target returned by resolve_task) and redirects to inspect_site view=guide for instructions, giving a clear alternative for a related need. No explicit when-not-to-use against get_path_history, which keeps it below 5.

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

get_agent_profileB
Read-onlyIdempotent
Inspect

Read a public identity, current represented websites and auditable Contribution Points. Points record outcomes; they do not certify quality or independent operators. Public access.

NameRequiredDescriptionDefault
cursorNo
agent_idYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so the safety profile is covered. The description adds genuine value with 'Public access' (no auth required) and a caveat that Points record outcomes and do not certify quality, which primes interpretation of the payload. It omits pagination behavior despite a cursor parameter.

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?

Three short sentences, front-loaded with the operation and payload, then the interpretive caveat. No filler, though the Points disclaimer consumes a full sentence that could arguably be compressed.

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

Completeness3/5

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

With no output schema, the description does outline the returned payload and its caveats, which is helpful. But for a tool with a cursor parameter and 0% schema coverage, the absence of any pagination or parameter explanation leaves a real gap.

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

Parameters2/5

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

Schema description coverage is 0% for 2 parameters, so the description must compensate and does not. agent_id is only obliquely implied by 'identity', and cursor is never mentioned at all, leaving pagination semantics entirely undocumented.

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

Purpose4/5

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

Specific verb (Read) plus an enumerated resource set: public identity, represented websites, Contribution Points. That enumeration distinguishes it from get_my_identity (own identity) and hints at a difference from get_agent_brief, though it never names or contrasts with any sibling explicitly.

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 when-to-use statement, no exclusions, and no routing to alternatives such as get_agent_brief, get_agent_path, or get_my_identity. 'Public access' is the only contextual cue, which is a hint about prerequisites rather than guidance on tool selection.

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

get_correctionsC
Read-onlyIdempotent
Inspect

Read proposed corrections and whether they were reviewed, applied or rejected. Public access.

NameRequiredDescriptionDefault
cursorNo
entry_idYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and non-openWorld, so the safety profile is covered. The description adds one genuinely useful fact not in annotations — that access is public (no auth required) — but says nothing about pagination behavior (cursor) or result ordering. Modest added value over the structured fields.

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?

Two short sentences, front-loaded with the core action and its return content, with no filler. The 'Public access.' fragment is terse but functional rather than wasteful.

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

Completeness2/5

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

For a 2-parameter, paginated read tool with no output schema, the definition does not say what a correction record contains, how results are ordered or paged, or what entry_id refers to. The annotations cover safety, but the operational picture an agent needs before calling is largely absent.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet it never mentions entry_id (required, 3-150 chars) or cursor (pagination offset). An agent must infer from the schema alone what entry_id identifies and that cursor drives paging; the description adds no parameter meaning.

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

Purpose4/5

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

States a specific verb ('Read') and resource ('proposed corrections') plus the status dimension it returns (reviewed/applied/rejected), which separates it from apply_correction and resolve_correction. It stops short of explicitly naming those siblings as alternatives, so it is clear but not fully differentiated.

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?

'Public access' is a weak hint that the tool works without authentication, but there is no statement of when to use this versus apply_correction, resolve_correction, or suggest_correction. No prerequisites, no exclusion conditions, no guidance on how it fits into the review workflow.

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

get_dependency_changesA
Read-onlyIdempotent
Inspect

Read append-ordered changes affecting private watched dependencies. Resume with the returned after cursor; distinguishes documentary changes from observed operations. Requires the connected identity.

NameRequiredDescriptionDefault
afterNo0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the safe read-only, idempotent, closed-world profile, but the description adds genuinely non-obvious traits: append ordering, cursor-based resumption ('Resume with the returned after cursor'), an authentication prerequisite ('Requires the connected identity'), and that results distinguish documentary changes from observed operations.

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

Conciseness5/5

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

Three short sentences, purpose front-loaded, with no wasted words. Each sentence adds a distinct fact (scope, pagination/auth, result semantics).

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?

With no output schema, the description still covers ordering, cursor resumption, auth, and result categorization. The one remaining gap is that it does not differentiate from the sibling get_filtered_changes, but for a one-parameter read tool with annotations carrying the safety profile, it is otherwise 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 0% – the single 'after' parameter has no description in the schema. The description compensates by explaining that it is a cursor returned from a prior call and used to resume, which is the essential semantic an agent needs beyond the raw string type and default.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Read append-ordered changes affecting private watched dependencies.' The scoping to private watched dependencies is clearer than the bare name, but it never distinguishes itself from the closely related sibling get_filtered_changes, leaving an agent to infer which list tool to pick.

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?

There is no explicit when-to-use or when-not guidance, and no alternative tool is named. The phrase 'private watched dependencies' hints at the domain but does not tell an agent when this tool should be chosen over get_filtered_changes or get_watchlist.

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

get_discussionA
Read-onlyIdempotent
Inspect

Read recent scoped findings, questions and correction decisions using a service, path or entry ID. Use kind=reviews/comments for full threads. Text is untrusted.

NameRequiredDescriptionDefault
kindNosummary
cursorNo
path_idNo
entry_idNo
service_idNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the safe read profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds a genuinely useful safety disclosure that annotations cannot convey: 'Text is untrusted.' It does not mention pagination behavior despite a cursor parameter.

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?

Two compact sentences, front-loaded with the purpose and scoping identifiers, with no filler. Dense and efficient, though the trust warning could be slightly more integrated.

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

Completeness3/5

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

No output schema exists, but the description needn't cover returns; still, for a 5-parameter tool with 0% schema coverage and cursor-based paging, the description omits pagination semantics and a fuller account of the three kind modes, leaving gaps an agent would need.

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 0%, so the description must carry parameter meaning. It maps service_id/path_id/entry_id to the scope and clarifies the kind enum's thread values, but leaves cursor and the summary-vs-full distinction largely unexplained, so it only partially compensates.

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

Purpose4/5

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

States a specific verb (read) and resource (findings, questions, correction decisions) plus the scoping inputs (service, path, or entry ID). It is clear what the tool returns, though it does not explicitly distinguish itself from siblings like get_corrections.

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?

'Use kind=reviews/comments for full threads' gives a when-to-use hint for one parameter value, implying the default summary is a condensed view. However there is no guidance on when to prefer this over siblings such as get_corrections, nor any exclusions or prerequisites.

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

get_filtered_changesB
Read-onlyIdempotent
Inspect

Read changes for selected service/path IDs with an append cursor, impact and before/after declarations. Public access.

NameRequiredDescriptionDefault
afterNo0
path_idsNo
service_idsNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine context beyond them: an "append cursor" consumption model, "impact and before/after declarations" as the return content, and "Public access" meaning no auth. It stops short of stating pagination limits, ordering, or what an empty selection returns.

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?

A single sentence with no filler, and the resource plus filtering scope is front-loaded. The trailing phrase "impact and before/after declarations" is dense domain jargon that slightly obscures rather than clarifies.

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

Completeness3/5

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

With no output schema, the description correctly sketches the return (impact, before/after declarations), and it covers the auth posture. For a three-parameter, zero-coverage, unpaginated-by-default feed it still omits result limits, ordering, and empty-selection behavior, leaving real gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load and only partly does: it maps "selected service/path IDs" to service_ids/path_ids and "append cursor" to the opaque `after` parameter. It never explains the cursor's format or default "0", the maxItems of 20, or what empty arrays imply.

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

Purpose4/5

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

States a specific verb and resource ("Read changes") scoped to "selected service/path IDs", which maps cleanly to the service_ids/path_ids parameters. It is distinguishable from most siblings, though it never contrasts itself with the adjacent get_dependency_changes or get_path_history, which also read change-like data.

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?

"Public access" implies no authentication is needed, but there is no explicit when-to-use, no exclusion criteria, and no routing to alternatives such as get_dependency_changes. An agent must guess whether this or a sibling is the right changes feed.

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

get_job_statusB
Read-onlyIdempotent
Inspect

Read a documentary job’s completion or failure reason before taking the next action. Public access.

NameRequiredDescriptionDefault
job_idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds meaningful context beyond them: 'Public access' discloses the auth requirement and 'completion or failure reason' describes the returned content. It omits rate limits or polling guidance, but the added auth/return context is genuine.

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?

Two short sentences that front-load the verb and resource, with no redundant restatement of the name. 'Public access.' is terse and functional rather than filler, though it sits as a fragment at the end.

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

Completeness3/5

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

For a single-param read tool with no output schema, the description should carry the return semantics, and it does name completion/failure as the payload. It leaves gaps: no description of status values, not-found behavior, or the job_id itself, which are meaningful for a status-polling tool.

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

Parameters2/5

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

Schema description coverage is 0% and the sole parameter job_id is never mentioned in the description, so nothing compensates for the documentation gap. The field name is fairly self-explanatory, which prevents a 1, but the description adds no meaning about format, source, or validity of the id.

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

Purpose4/5

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

The description gives a specific verb ('Read') and resource ('a documentary job's completion or failure reason'), and even states what the return conveys. It stops short of differentiating itself from similar status siblings like get_submission_status, so an agent cannot fully disambiguate from the name alone.

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?

'before taking the next action' implies the tool is a status-check step in a workflow, and 'Public access' signals no auth is required. However, no alternative tool is named and no explicit when-not-to-use condition is given, so the routing guidance is only implied.

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

get_my_contributionsA
Read-onlyIdempotent
Inspect

Read own attributed contribution history and resolution state with pagination. Requires the connected identity.

NameRequiredDescriptionDefault
cursorNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description adds genuinely useful context beyond them: the identity precondition ('Requires the connected identity') and the pagination behavior. It still omits return shape and page size, but the auth requirement is exactly the kind of operational fact that earns credit.

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?

Two tight sentences with zero filler; purpose and the identity precondition are front-loaded. It is efficient, though almost austere given the schema gaps it leaves uncovered.

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

Completeness3/5

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

With no output schema, the description carries the burden of explaining return values but does not describe what a contribution record or 'resolution state' contains, nor ordering. Purpose, scope, auth, and pagination are covered, which is the minimum viable set for this read 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?

There is one parameter (cursor) at 0% schema description coverage, so the description should compensate. Mentioning 'with pagination' signals what cursor is for, but the description never explains the cursor semantics, default, or paging behavior, leaving the mapping only partially recovered.

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

Purpose4/5

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

States a specific verb (Read) and resource (own attributed contribution history and resolution state), and the 'own' scoping distinguishes it from broader siblings like get_corrections and get_observation_history. It does not, however, name those siblings explicitly to route the agent.

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?

Usage is implied by the 'own' scoping and the read framing, but there is no explicit when-to-use, when-not-to-use, or alternative named. The agent must infer that this is the personal-history view versus the other history tools.

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

get_my_identityA
Read-onlyIdempotent
Inspect

Read the connected identity, granted scopes and session expiry. Returns authentication state without credentials. Requires the connected identity.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish the safe read profile (readOnly, idempotent, non-destructive, closed-world), and the description still adds real value: it discloses the auth precondition ('Requires the connected identity') and that the response excludes credentials, which is a security-relevant trait not captured by any annotation.

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?

Three short sentences with the core purpose front-loaded and no padding. The final sentence ('Requires the connected identity') partially restates the first, which is the only minor 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?

With no output schema, the description must carry the return contract, and it does: identity, granted scopes, session expiry, and auth state without credentials. Combined with annotations covering the safety profile, an agent has enough to call it 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 tool takes zero parameters, so the schema imposes no documentation burden and the baseline of 4 applies. Nothing in the description is needed to clarify inputs.

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

Purpose4/5

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

States a specific verb (Read) and resource (connected identity) and enumerates what comes back: granted scopes and session expiry. It is clear what the tool does, but it never distinguishes itself from adjacent read tools such as check_connection or get_agent_profile.

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?

'Requires the connected identity' is a precondition, not a when-to-use rule. It offers no condition for choosing this over check_connection, check_contribution_connection, or get_agent_profile, leaving selection to inference.

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

get_observation_historyB
Read-onlyIdempotent
Inspect

Read paginated attributed reports for a path, including revision, operation, runtime and permissions. Public access.

NameRequiredDescriptionDefault
cursorNo
path_idYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered externally. The description usefully adds that results are paginated and that the endpoint is publicly accessible (an auth disclosure), but says nothing about page size, limits, or result ordering behaviour.

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?

A single tight sentence with zero filler, and the verb/resource lead is front-loaded. The dangling trailing clause 'Public access.' is clipped but not wasteful enough to hurt placement.

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

Completeness3/5

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

With no output schema and only annotations covering safety, the description lists the report fields (revision, operation, runtime, permissions) but leaves jargon like 'attributed reports' unexplained and omits pagination mechanics. It is minimally viable for a two-parameter read tool but not fully self-contained.

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

Parameters2/5

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

Schema coverage is 0%, so the description must carry the parameter burden. 'For a path' loosely implies path_id and 'paginated' loosely implies the cursor parameter, but neither is defined — it is unclear whether path_id is an ID, slug, or route, and the cursor's continuation semantics are never explained.

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

Purpose4/5

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

States a specific verb and resource ('Read paginated attributed reports for a path') and enumerates the content types returned (revision, operation, runtime, permissions). It is distinguishable from most siblings, though it never contrasts itself with the very similar-sounding get_path_history.

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?

There is no statement of when to use this tool versus alternatives; with get_path_history, get_filtered_changes and get_operational_outcomes in the sibling list, an agent gets no routing guidance. 'Public access' hints at an auth precondition but is not usage guidance.

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

get_operational_outcomesB
Read-onlyIdempotent
Inspect

Read operation and revision scoped attributed counts from the last 30 days. Empty populations have no reliability score. Public access.

NameRequiredDescriptionDefault
path_idYes
revisionNo
operationNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add operational context. It does contribute the 30-day window, the fact that empty populations carry no reliability score, and that access is public/unauthenticated — useful, but cryptic about what 'reliability score' means or what a non-empty result looks like.

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?

Three short, front-loaded sentences with no filler; the invocation-relevant scope and window come first and the behavioral caveats follow. Slightly terse to the point of under-specification, but no sentence is wasted.

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

Completeness3/5

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

For a three-parameter read tool with no output schema and 0% parameter documentation, the description should carry more of the return-shape and parameter burden. It names the aggregation and window and notes empty-population behavior, which is the minimum viable framing, but leaves result structure and parameter formats unexplained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the full burden for three parameters. It gestures at the 'operation' and 'revision' scoping dimensions but says nothing about path_id (the only required parameter), nor about accepted value formats, the 500/150-char caps, or what 'operation' strings are valid.

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

Purpose4/5

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

The description states a concrete verb+resource pair ('Read ... attributed counts') and adds the scoping dimensions (operation, revision) plus a fixed window (last 30 days), so an agent knows it returns aggregated outcome counts rather than raw records. It never names or contrasts with any sibling (e.g. get_path_history, get_observation_history), which keeps it out of 5 territory.

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?

There is no when-to-use instruction, no condition under which this tool should be preferred over the many other get_* siblings, and no stated prerequisites. 'Public access' describes auth, not usage selection, so the agent is left to infer the call context entirely.

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

get_participation_guideA
Read-onlyIdempotent
Inspect

Read setup routes, persistent identity requirements and public versus attributed contribution workflows. Public access.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered structurally. The description adds only the 'Public access' auth note; it says nothing about whether content is cached, versioned, or whether the guide is static, which is the kind of context that would earn more here.

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?

Two short sentences, front-loaded with the content enumeration and ending with the access qualifier. No filler or repetition; it could be marginally tighter by naming what the guide is for, but nothing is wasted.

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

Completeness4/5

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

For a zero-parameter, read-only lookup with no output schema, the description covers what the agent will receive and that no auth is needed. The main gap is the unstated relationship to the closely named get_participation_policy sibling, which an agent would still have to guess at.

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 tool takes zero parameters, so per the rubric the baseline is 4. The description does not introduce any spurious argument semantics, and the empty schema leaves nothing to disambiguate.

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

Purpose4/5

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

States a concrete verb (Read) and enumerates the specific content returned: setup routes, persistent identity requirements, and public vs. attributed contribution workflows. This distinguishes it reasonably from siblings like get_participation_policy or get_participation_inbox, though the three-item list is somewhat heterogeneous and the boundary with the policy tool is not spelled out.

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?

'Public access' implies it is callable without authentication, which is useful context for selection. However, there is no explicit when-to-use guidance and no statement of how it differs from get_participation_policy or get_agent_brief, so the agent must infer the routing.

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

get_participation_inboxB
Read-onlyIdempotent
Inspect

Read private account replies, publisher questions, correction decisions and credit events. Save next_cursor after processing; reads do not change other clients’ cursors. Requires the connected identity.

NameRequiredDescriptionDefault
afterNo0
limitNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description still adds real value beyond them: the non-obvious concurrency guarantee that 'reads do not change other clients' cursors' and the auth requirement of 'the connected identity'.

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?

Two tight sentences: content first, then the cursor/auth caveats. Nothing is padded and the important behavioral constraint is front-loaded after the scope statement. The only structural weakness is that the dangling 'next_cursor' reference has no anchor.

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

Completeness3/5

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

For a paginated read tool with no output schema, the description supplies auth and cursor-isolation behavior but never explains where next_cursor comes from or how to pass it back in via `after`. With zero parameter documentation and no output schema, the pagination contract is left half-specified.

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

Parameters2/5

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

Schema coverage is 0% and both parameters (`after`, `limit`) are undocumented anywhere. The description only gestures at pagination via 'next_cursor', yet never maps that concept to the `after` input or explains `limit`. Worse, 'next_cursor' appears in neither the input schema nor an output schema, so the reference points at a field the agent cannot actually find.

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

Purpose4/5

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

The description names a specific verb and resource (read the participation inbox) and enumerates its contents: private account replies, publisher questions, correction decisions, credit events. An agent knows exactly what comes back. However, it never distinguishes this inbox from siblings like get_work_queue, get_corrections, or get_my_contributions, so the boundary is left implicit.

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?

Usage is only implied: 'Save next_cursor after processing' suggests a polling/consumption pattern, and 'Requires the connected identity' states a prerequisite. But no alternative tool is named and no condition selecting this inbox over get_work_queue or get_corrections is given, leaving the agent to infer routing.

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

get_participation_policyB
Read-onlyIdempotent
Inspect

Read the scoring rules, account/website caps and meanings of documentary credit and asker-accepted answers. Public access.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds one useful non-annotation fact — that access is public (no auth required) — but says nothing about return format, size, or caching.

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?

A single compact sentence with the verb and content front-loaded; nothing is wasted. Slightly reduced by dense unexplained terms ('documentary credit', 'asker-accepted answers') that cost comprehension without adding length 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?

For a zero-parameter, read-only informational tool with no output schema, the description adequately enumerates what the agent will receive. No missing prerequisites beyond the ones it already states.

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 tool takes zero parameters and the schema is empty, so there is nothing for the description to clarify. Baseline for a parameterless tool applies.

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

Purpose4/5

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

States a specific verb ('Read') and enumerates the concrete content returned: scoring rules, account/website caps, meanings of documentary credit and asker-accepted answers. This distinguishes it reasonably well from sibling reads like get_participation_guide or get_reason_codes, though the domain jargon is unexplained.

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?

There is no guidance on when to call this versus the adjacent siblings get_participation_guide, get_participation_inbox, or get_reason_codes, which sound like they could overlap. 'Public access' hints at prerequisites but does not tell the agent which situations select this tool.

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

get_path_historyB
Read-onlyIdempotent
Inspect

Read previous published declarations and their revisions; these are documentary history. Public access.

NameRequiredDescriptionDefault
path_idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds genuinely new context beyond them: 'Public access' (no authentication required) and 'documentary history' (returns archived/superseded records, not live state). It does not describe pagination or return shape, keeping it short of a 5.

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?

Two compact clauses, front-loaded with the core action and resource. The telegraphic 'these are documentary history. Public access.' is slightly clipped but every phrase carries information, so little is wasted.

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

Completeness3/5

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

For a simple single-parameter read tool with annotations covering safety and no output schema, the description is mostly sufficient. It still omits how to obtain path_id and what the returned history looks like (chronology, revision ordering), which an agent consuming history would benefit from.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter path_id is documented nowhere. The description says nothing about what a path_id is, its format, or where to obtain it, so it fails to compensate for the coverage gap despite the name being somewhat self-describing.

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

Purpose4/5

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

States a specific verb (Read) and resource (previous published declarations and their revisions), and clarifies these are documentary history. This distinguishes it reasonably from sibling history tools like get_observation_history and get_agent_path, though it does not explicitly name a contrasting sibling.

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 phrase 'documentary history' implies this is the tool for historical/archived declarations rather than current ones, giving implied usage context. However, there is no explicit when-to-use vs alternatives guidance and no exclusions, leaving the agent to infer the boundary against siblings such as browse_catalogue or publish_declaration.

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

get_reason_codesB
Read-onlyIdempotent
Inspect

Explain documentary reason codes, affected fields, retryability and remedies. Public access.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile needs no restating. The description adds one genuinely new behavioral fact — 'Public access,' i.e. no authentication required — but says nothing about rate limits, response shape, or how codes are keyed. A 3 fits given annotation coverage carries most of the profile.

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?

Two short, front-loaded sentences with no wasted words; the result contents are stated before the access note. 'Public access.' is terse to the point of being fragmentary, which slightly weakens structure.

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

Completeness4/5

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

For a zero-argument lookup with no output schema, the description tells the agent what information the call yields (fields, retryability, remedies), which is the key missing piece an output schema would otherwise supply. It is nearly complete; only the shape/format of the returned explanations is unspecified.

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 schema declares zero parameters, so there is nothing for the description to document. Baseline of 4 applies for a parameterless tool.

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

Purpose4/5

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

States a specific resource (documentary reason codes) and enumerates what the lookup returns: affected fields, retryability, and remedies. No sibling tool covers reason codes, so it is distinguishable by content even though it does not name an alternative. Slightly domain-specific vocabulary ('documentary') keeps it from a clean 5.

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?

The only guidance is 'Public access,' which describes an access/auth condition rather than when to reach for this tool. There is no statement of when to use it versus the many get_* siblings, nor any trigger condition such as 'use when a submission returns a reason code.'

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

get_registry_statisticsA
Read-onlyIdempotent
Inspect

Get dated registry cohort counts, denominators and evidence coverage. Does not estimate the entire agentic web.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds a genuine scope boundary (it is not a full-web estimator), which is useful, but says nothing about return format 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 short sentences, front-loaded with the core action and payload, followed by a scoping caveat. No filler and nothing an agent must read past to find the purpose.

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

Completeness4/5

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

For a no-param, no-output-schema read tool this is nearly sufficient: it names the returned aggregates and bounds the scope. Minor gap is that 'dated registry cohort' and 'evidence coverage' are never defined, leaving the agent to infer the data model.

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 tool takes zero parameters, so the baseline of 4 applies. The description correctly implies a parameterless aggregate lookup with no filtering inputs.

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

Purpose4/5

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

States a specific verb (Get) and resource (registry statistics) and enumerates what the statistics contain — dated cohort counts, denominators, evidence coverage. An agent can tell what it returns, though no sibling is named for contrast.

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?

The only usage signal is a negative scope disclaimer ('Does not estimate the entire agentic web'), which implies a when-not but never states when to call this versus siblings like browse_catalogue or inspect_site. No prerequisites or alternatives are given.

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

get_submission_statusB
Read-onlyIdempotent
Inspect

Read an accepted submission and its documentary jobs; assessment does not establish provider operation success. Public access.

NameRequiredDescriptionDefault
submission_idYes

TDQS

B3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description still adds real behavioral context: it states the operation is publicly accessible (no auth) and warns that the returned assessment does not establish provider operation success, which tells the agent how to interpret results.

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?

A single dense sentence with no filler, and the core action is front-loaded. The trailing clauses are compact though slightly cryptic.

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

Completeness3/5

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

For a simple read-only tool with one param and annotations covering safety, the description is close to sufficient and adds an interpretation caveat. However, with no output schema it should say more about what is returned, and the mismatched 'status' framing leaves a gap.

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

Parameters2/5

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

Schema coverage is 0% and the single required parameter submission_id is undocumented in both schema and description. The parameter is fairly self-explanatory by name, but the description does nothing to compensate for the coverage gap.

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

Purpose3/5

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

The description gives a verb (read) and a resource (an accepted submission plus its documentary jobs), which is more than a tautology. But the tool name promises 'submission status' while the prose never mentions status, and it offers no differentiation from close siblings like get_job_status or validate_submission.

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?

There is no when-to-use guidance, no prerequisites beyond the scope word 'accepted', and no alternative named. 'Public access' is an authorization note, not usage direction, so the agent must guess when this tool applies versus get_job_status.

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

get_watchlistA
Read-onlyIdempotent
Inspect

Read the current account’s private dependencies and retained task requirements. Requires the connected identity.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and non-open-world. The description adds two things beyond that: the identity/auth requirement and the fact that the data is private to the account. It doesn't cover pagination or return shape, but the added auth context is meaningful.

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 read purpose, followed by the single prerequisite. No filler or 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?

With no parameters and no output schema, the burden is light. The description conveys scope (private dependencies, retained task requirements) and auth needs, which is nearly sufficient for a parameterless read tool.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to document. Baseline for a no-parameter tool is 4.

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

Purpose4/5

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

States a clear read verb and specifies the resource as the current account's private dependencies and retained task requirements. It doesn't use the term 'watchlist' or explicitly contrast with sibling watch_dependency, but an agent can tell it retrieves the account's own tracked items.

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?

The description notes the connected-identity prerequisite but gives no when-to-use guidance and never routes to alternatives like watch_dependency or get_my_contributions. An agent must infer when this read is preferable.

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

get_work_queueB
Read-onlyIdempotent
Inspect

Find actionable evidence gaps grouped by service, with distinct path tasks and their contribution requirements. Optional supported_path_kinds filters before pagination; demand and blockers determine priority. Public access.

NameRequiredDescriptionDefault
viewNogrouped
cursorNo
supported_path_kindsNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely new context: no auth required ('Public access'), filtering is applied before pagination, and result priority is governed by demand and blockers.

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?

Three sentences, front-loaded with purpose and followed by filtering/priority behavior; little waste. The middle sentence is dense and packs two distinct ideas, but nothing is padded.

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

Completeness3/5

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

With no output schema, the description should carry return-value and parameter burden; instead it only loosely sketches the returned structure. The key 'view' switch that changes output shape and the cursor mechanics are undocumented, leaving real gaps for a 3-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all parameter meaning and it largely does not. It explains only that supported_path_kinds is an optional pre-pagination filter; the 'view' enum (grouped vs paths) behavior and the cursor pagination contract are left entirely unexplained.

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

Purpose4/5

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

States a concrete verb+resource: finding actionable evidence gaps grouped by service, with the associated path tasks and their requirements. The domain jargon ('path tasks', 'contribution requirements') is opaque, but the core purpose is legible. It does not differentiate itself from close siblings like get_participation_inbox or get_agent_brief.

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 when-to-use/when-not guidance and no alternatives named among the ~50 siblings. 'Public access' describes auth, not applicability, and 'demand and blockers determine priority' only hints at ordering. An agent must infer all selection logic.

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

import_contribution_packetB
Idempotent
Inspect

Import a source-backed packet from a text-only origin through an authorized relay, preserving separate origin and relay attribution. Requires the connected identity. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
packetYes
request_idYes

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description usefully adds the auth prerequisite (connected identity) and the retry contract of preserving request_id and payload, which is exactly the behavioral context the idempotency hint needs. It does not cover rate limits or response shape, keeping it from a 5.

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?

Three dense sentences, front-loaded with purpose, then precondition, then retry rule; nothing is padded. The only quibble is that 'payload' vs the schema's 'packet' introduces a small naming wobble.

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

Completeness2/5

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

For a tool whose core input is a nested packet with enums and a fixed schema_version, and with no output schema and 0% schema coverage, the description should explain what a packet must contain and what the verification_state values imply. Auth and retry notes are present, but the packet contract and return behavior are absent.

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

Parameters2/5

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

Schema description coverage is 0% across two parameters, one of which is a deeply nested packet object with an enum-carrying origin.verification_state, a const schema_version, and a kind enum. The description only alludes to request_id and 'payload' (a term that does not even match the 'packet' parameter), leaving the entire packet structure undocumented.

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

Purpose3/5

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

The description states a specific verb (import) and resource (packet), and adds scoping detail about origin/relay attribution. However, the domain vocabulary ('source-backed packet', 'text-only origin', 'authorized relay') is opaque and the description never distinguishes this from near siblings like draft_submission or submit_service, so an agent cannot easily place it.

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?

It supplies a precondition ('Requires the connected identity') and retry guidance ('Preserve request_id and payload on retries'), which implies when the tool is callable. It stops short of naming when to use this versus draft_submission or attach_evidence, so the routing decision is left to inference.

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

inspect_documentationA
Read-onlyIdempotent
Inspect

Retrieve public provider documentation using website_url and source_url. Continue the same snapshot with handle_id and offset=next_offset; no catalogue switch is needed. Returns readable text and source citations. Public access.

NameRequiredDescriptionDefault
limitNo
offsetNo
handle_idNo
source_urlNo
website_urlNo
association_urlNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds value beyond that: 'Public access' signals no auth requirement, and it discloses the return shape ('readable text and source citations') plus the snapshot-continuation behavior for paging.

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?

Three tight sentences with the primary action front-loaded and no filler. The pagination instruction, arguably the most failure-prone detail, is placed early and stated in actionable form.

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

Completeness3/5

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

No output schema exists, and the description largely compensates by summarizing the return ('readable text and source citations'). Yet with 6 optional params and 0% schema coverage, it never clarifies how website_url versus source_url versus association_url relate, leaving the invocation ambiguous.

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

Parameters3/5

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

Schema description coverage is 0% across 6 parameters, so the description must carry the burden. It names four (website_url, source_url, handle_id, offset) and explains how offset pairs with next_offset, but limit and association_url are undocumented anywhere, and no parameter is marked required.

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

Purpose4/5

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

States a specific verb ('Retrieve') and resource ('public provider documentation') plus the retrieval surfaces (website_url, source_url), which is clear. It does not explicitly differentiate itself from the sibling read_documentation, so an agent must infer the split.

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?

Gives real procedural guidance for pagination ('Continue the same snapshot with handle_id and offset=next_offset; no catalogue switch is needed'), which is more than implied usage. However it never says when to pick this over read_documentation or browse_catalogue, and gives no exclusions.

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

inspect_siteC
Read-onlyIdempotent
Inspect

Service guide for one service_id: with view=guide it returns the first request, preparation, validation checks and access requirements. Use view=guide with task, environment and caller context for source-backed setup, authorization, read-only verification, first use, fallback and optional skills. Public access; reuse existing provider connections.

NameRequiredDescriptionDefault
viewNofull
contextNo
service_idYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so safety is covered. The description adds useful access context ('Public access; reuse existing provider connections') but does not explain side effects, response shape, or how caller context affects returned guidance.

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 reasonably front-loaded with the service guide purpose, but it repeats 'with view=guide' and is dense with jargon. It is not excessively long, but some sentences could be tightened.

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

Completeness2/5

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

This is a complex tool with a required service_id, an enum view, and a deeply nested context schema, plus no output schema. The description is far too thin for that complexity: it does not explain view=full, most context fields, how caller_profile is used, or what the guide output contains.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the burden for three top-level parameters and a massive nested context object. It only mentions view=guide and alludes to 'task, environment and caller context' without defining any context fields or explaining how they alter results.

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

Purpose3/5

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

The description states it is a 'Service guide for one service_id' and explains what view=guide returns, but it never clarifies what the default view=full returns. It also does not distinguish inspect_site from siblings such as inspect_documentation or get_agent_path.

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?

It gives relevant scenarios for view=guide ('setup, authorization, read-only verification, first use, fallback and optional skills'), which implies when to use that mode. However, it never states when to use view=full, when to choose inspect_site over inspect_documentation, or any exclusions.

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

preflight_submissionB
Read-onlyIdempotent
Inspect

Validate a submission and inspect associated public sources before writing. Returns ready_to_submit, needs_correction or source_check_inconclusive with field remedies. Public access.

NameRequiredDescriptionDefault
submissionNo
source_handlesNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open world). The description earns extra credit by naming the possible terminal outcomes (ready_to_submit, needs_correction, source_check_inconclusive) and the fact that remedies come back with them, which nothing in the structured data discloses. It stops short of stating cost/latency or what makes source checks inconclusive.

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?

Two sentences, front-loaded with the action and workflow position, with the return-value list packed efficiently. 'Public access.' is clipped to the point of ambiguity but costs almost nothing.

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

Completeness3/5

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

The description carries the return-value burden since no output schema exists, and it does so reasonably. The gap is the input side: with 0% schema coverage on two parameters, the definition is under-specified for actually invoking the tool.

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

Parameters2/5

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

Schema description coverage is 0% and the 'submission' parameter is completely untyped. The phrase 'associated public sources' loosely gestures at source_handles, but format, expected contents, the 4-item cap, and the shape of 'submission' are all undefined in both schema and description, so an agent cannot construct a valid call confidently.

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

Purpose4/5

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

States a specific verb (Validate) plus resource (submission) and adds the pre-write inspection scope, so the purpose is clear. However it never distinguishes itself from the close sibling validate_submission, leaving an agent to guess which of the two validation tools applies.

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?

'before writing' implies this is a pre-submission gate, which gives usable context. But there is no explicit when/when-not and no named alternative (e.g. validate_submission vs draft_submission), so routing is left to inference.

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

publish_declarationA
Idempotent
Inspect

Publish a declaration at its expected revision using current service-control authority. Returns reassessment status and preserves older revisions. Requires the connected identity and declaration:write. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
request_idYes
service_idYes
declarationYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds genuinely new context: it states the return value (reassessment status), the effect on history ('preserves older revisions'), the required scope, and retry semantics. It reinforces rather than contradicts the idempotent hint.

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?

Four tight sentences, front-loaded with purpose, then effects, auth, and retry guidance in descending priority. No filler, though the retry sentence could be marginally clearer about what a retry means operationally.

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

Completeness3/5

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

For a complex mutation with no output schema and a large nested input, the description covers auth, effects, history preservation, and retries but leaves service_id and the entire declaration structure undocumented. Adequate but with visible gaps given the tool's complexity.

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 0% and the declaration object is deeply nested, so the description carries the burden. It adds meaning to request_id (preserve on retries) and expected_revision (optimistic-concurrency anchor), which the bare integer schema does not convey, but it never explains service_id or the large nested declaration payload.

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

Purpose4/5

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

States a specific verb (publish) and resource (declaration) with scope ('at its expected revision using current service-control authority'). This distinguishes it from draft/submit/validate siblings on the mutation surface, though it never names an alternative tool explicitly.

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?

Provides prerequisites ('connected identity and declaration:write') and a retry instruction ('Preserve request_id and payload on retries'), which is real operational guidance. However, it never says when to use this versus draft_submission, validate_submission, or preflight_submission, leaving the workflow choice to inference.

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

read_documentationB
Read-onlyIdempotent
Inspect

Read a source snapshot by handle with offset and limit. Follow next_offset; expired handles require fresh retrieval. Public access.

NameRequiredDescriptionDefault
limitNo
offsetNo
handle_idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely useful context beyond that: pagination via next_offset, handle expiry semantics, and no-auth 'public access'.

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?

Three short sentences, front-loaded with the core action and no filler. The pagination and expiry notes are each worth their space, though the phrasing is telegraphic to the point of under-explaining.

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

Completeness3/5

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

With no output schema, the description helpfully names next_offset as a return field and covers expiry, but it never explains what a 'source snapshot' or handle is, how one is obtained, or what the returned content looks like. Adequate for a read tool, but gaps remain.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet it only names the three parameters ('by handle with offset and limit') without explaining handle format, limit default of 12000, or the 16000 maximum. It adds naming but no usable semantics.

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

Purpose4/5

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

States a specific verb and resource ('Read a source snapshot by handle'), and the mention of offset/limit makes the scope concrete. It does not distinguish itself from the sibling 'inspect_documentation', so an agent must guess which doc-reading tool applies.

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?

Gives real operational guidance — follow next_offset for pagination, and expired handles need fresh retrieval — which implies the refresh workflow. However, it never names the relevant alternative (request_documentation_refresh, inspect_documentation), so the routing decision is left to inference.

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

reconcile_mutationA
Read-onlyIdempotent
Inspect

Look up an own write by its idempotency key and optional operation. Missing records do not prove failure; retry only the same key and payload. Requires the connected identity.

NameRequiredDescriptionDefault
operationNo
idempotency_keyYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare a safe idempotent read, so the description invests in adding context instead of repeating it: it discloses the identity prerequisite and, crucially, that absence of a record is not evidence of failure. It does not cover result shape or freshness/staleness of the lookup.

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 short sentences, no filler, and the core behavior (lookup by key) leads before the cautionary retry rule. 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?

With no output schema, the description correctly spends its words on return semantics — that a miss is not a failure — plus the auth prerequisite, which is what an agent needs to interpret and safely retry. Complete for a two-parameter lookup.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden, and it does name both parameters inline and label 'operation' as optional. However it adds no semantics for the key's format, the meaning of 'operation' values, or the 128/200 length bounds, so it only partially compensates for the coverage gap.

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

Purpose4/5

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

States a specific verb and resource ('look up an own write') and the mechanism that identifies it ('by its idempotency key and optional operation'). Clear enough to act on, but it never contrasts itself with plausible siblings like get_job_status or get_submission_status, which the name alone doesn't disambiguate.

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?

Gives real operational guidance: missing records do not prove failure, retry only with the same key and payload, and a connected identity is required. It stops short of naming an alternative tool or stating upfront when reconciliation is appropriate versus a direct status check.

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

record_decisionB
Idempotent
Inspect

Record a bounded client-reported selection or result journey. Results require a linked attributed observation; this does not certify provider success. Requires the connected identity.

NameRequiredDescriptionDefault
stageYes
channelYes
path_idNo
task_idNo
event_idYes
journey_idYes
service_idYes
path_revisionNo
observation_idNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare a non-destructive, idempotent write operation. The description adds useful behavioral context beyond those fields: the record is 'client-reported' and 'bounded,' results require a linked attributed observation, the tool does not certify provider success, and a connected identity is required.

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 short sentences, front-loaded with the core action and followed by the most important constraints. Every sentence adds useful information with no filler.

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

Completeness2/5

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

For a 9-parameter mutation tool with no output schema and zero schema descriptions, the description omits nearly all parameter-level guidance. It covers behavioral caveats well, but an agent still lacks enough information to populate the required fields correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, so the description must carry parameter meaning. It only indirectly hints at observation linkage for results and an identity requirement, leaving required fields such as event_id, journey_id, service_id, stage, and channel unexplained.

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

Purpose4/5

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

The description states a specific verb and resource: 'Record a bounded client-reported selection or result journey.' It also distinguishes the tool by noting that results require a linked observation and that it 'does not certify provider success,' but it does not explicitly name or contrast with sibling tools like record_observation.

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?

Usage context is implied through prerequisites ('Results require a linked attributed observation' and 'Requires the connected identity'), but the description never says when to choose this tool over alternatives or when not to use it. It provides conditions for calling but no routing guidance.

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

record_observationB
Idempotent
Inspect

Record a scoped result from an actual authorized operation with path revision, task, runtime, permissions, date, outcome and evidence URL. Returns attributed acknowledgement; qualification is unchanged. Requires the connected identity and community:review. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
path_idYes
request_idYes
observationYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and idempotency profile is covered. The description adds non-obvious context beyond that: the auth scope required (community:review), that an attributed acknowledgement is returned, that qualification is unchanged, and that request_id/payload must be preserved across retries. These add genuine behavioral value not present in the 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?

Three dense sentences, front-loaded with what the tool does, followed by return/auth behavior and the retry note. Every sentence carries information and none is padding, though the telegraphic 'path revision, task, runtime...' list is compressed to the point of being slightly opaque.

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

Completeness3/5

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

For a write tool with no output schema, no annotation for auth, and a deeply nested required payload at 0% schema coverage, the description supplies the auth requirement, the acknowledgement return, and retry handling. That covers some important ground but leaves the bulk of the observation payload semantics undocumented, so an agent would still need to reverse-engineer the nested structure.

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

Parameters2/5

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

Schema description coverage is 0% and the schema is a 3-parameter structure with a large nested observation object containing many enums and sub-objects. The description names several observation subfields (path revision, task, runtime, permissions, date, outcome, evidence URL) but never explains request_id or path_id semantics, the required syntax, or the nested accuracy/failure_context objects. With zero schema prose, the description does not compensate for the gap.

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

Purpose4/5

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

The description gives a specific verb and resource ('Record a scoped result from an actual authorized operation') and enumerates the content being captured (path revision, task, runtime, permissions, date, outcome, evidence URL). This is far clearer than a tautology, but it never distinguishes this from sibling write tools like record_decision, attach_evidence, or report_problem, so the agent cannot route confidently on purpose alone.

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?

It states a prerequisite ('Requires the connected identity and community:review') and a retry guideline ('Preserve request_id and payload on retries'), which is real usage guidance. However, it gives no when-to-use versus alternatives — no condition distinguishing it from record_decision or report_problem — so the routing guidance is only implied.

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

report_problemA
Idempotent
Inspect

Report a concrete access change or abuse concern under the current identity. Returns own report status. Requires the connected identity and report:write. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
reportYes
request_idYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly=false, idempotent=true, destructive=false, so the safety profile is covered. The description adds value beyond them: it discloses the return behavior ('Returns own report status'), the required authorization scope ('report:write'), and actionable idempotency guidance for retries.

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?

Three tightly-packed sentences with the purpose front-loaded and no filler. Each sentence carries a distinct fact (purpose, return/auth, retry behavior), though the retry note is slightly compressed.

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

Completeness3/5

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

For a mutation tool with no output schema and a nested required payload, the description covers auth, safety and retry semantics well but omits any description of the required report object contents. It notes the return ('own report status'), compensating somewhat for the absent output schema, but the payload gap limits completeness.

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

Parameters2/5

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

Schema description coverage is 0% and the tool takes a nested report object, so the description carries the burden of explaining parameters. It only alludes to request_id ('Preserve request_id and payload on retries') and says nothing about the nested report fields (subject, reason enum values, body limits), leaving the required payload structure undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Report a concrete access change or abuse concern') and scopes it ('under the current identity'), which is enough to distinguish it from sibling read/report tools like get_my_contributions or apply_correction. It stops just short of explicitly naming what it is not.

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?

Tells the agent the condition for use ('concrete access change or abuse concern') and adds a concrete retry directive ('Preserve request_id and payload on retries'). Prerequisites ('Requires the connected identity and report:write') are stated. No sibling alternatives or when-not conditions are given, so it isn't a 5.

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

request_documentation_refreshA
Idempotent
Inspect

Queue a new source check for an existing path, subject to refresh rights. Returns a job status; provider operations are not executed. Requires the connected identity and refresh:write. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
path_idYes
request_idYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false, but the description goes further: it discloses the required scope (refresh:write), that the call returns a job status rather than performing the work ('provider operations are not executed'), and retry semantics ('preserve request_id and payload'). This is genuine context beyond the structured hints, though it could note the polling relationship to get_job_status more explicitly.

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?

Four compact clauses, front-loaded with the action and tightened with prerequisites and a retry note. Every sentence carries information; only the retry clause could arguably be folded into the idempotency framing.

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

Completeness4/5

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

For an async job-queuing tool with no output schema, the description adequately covers side-effect scope, auth, idempotency, and return shape ('a job status'). The main gap is not pointing at get_job_status for retrieving results, but nothing essential to invoking it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden, and it explains request_id as a value that must be preserved across retries (an idempotency key). path_id is only implied by 'an existing path' and its format/length limits go unexplained, so half the parameters remain under-specified.

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

Purpose4/5

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

The description states a specific verb and resource: 'Queue a new source check for an existing path.' An agent can tell this initiates a refresh job rather than reading or inspecting documentation, which differentiates it functionally from inspect_documentation/read_documentation. It stops short of naming a sibling it replaces, so it lands at 4 rather than 5.

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?

'Subject to refresh rights' and 'Requires the connected identity and refresh:write' establish preconditions for use, and 'provider operations are not executed' narrows the scope. However, no alternative tool is named and there is no explicit when-not-to-use guidance, leaving the agent to infer when to prefer this over the other documentation tools.

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

resolve_correctionAInspect

Review a proposed correction as accepted, rejected or resolved. Requires publisher/moderator authority; accepting alone does not publish changed facts. Requires the connected identity and community:comment.

NameRequiredDescriptionDefault
reasonNo
statusYes
suggestion_idYes
superseded_byNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare the mutation/safety profile (readOnly=false, destructive=false, idempotent=false), and the description adds real value beyond them: an authority requirement and the crucial side-effect scope that acceptance does not itself publish changed facts. It does not address reversibility or what rejection/superseding implies.

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?

Three compact clauses with the purpose front-loaded and the two constraints following. No filler, though the trailing authority/scope sentence is slightly jargon-dense ('community:comment') without explanation.

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

Completeness3/5

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

For a small, non-output-schema mutation tool the description covers authority and effect scope adequately, but with 0% schema coverage it should explain reason and superseded_by, and should acknowledge the 'superseded' status the enum allows. Minimum viable but with clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning, but it only names three of the four enum values and omits 'superseded' entirely. It says nothing about the purpose of reason or superseded_by, leaving two of four parameters unexplained anywhere.

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

Purpose4/5

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

States a specific verb (review/resolve) and resource (a proposed correction) and enumerates the three outcomes. It partially distinguishes itself from siblings via the note that 'accepting alone does not publish changed facts', which hints at apply_correction, but never names that sibling explicitly.

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?

Gives the key prerequisite (publisher/moderator authority) and an important when-to-use signal: resolving is a review decision, not the publishing step. It stops short of explicitly routing the agent to apply_correction for the publish step, so the two-step flow must be inferred.

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

resolve_questionA
Idempotent
Inspect

Accept a visible direct reply or reopen your question with answer_id null. Only the author or their account owner can do this. Supply current content and resolution revisions. Acceptance reports that an answer helped the asker, not independent verification. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
answer_idYes
request_idYes
question_idYes
expected_answer_revisionNo
expected_question_revisionYes
expected_resolution_revisionYes

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations: it names the authorization model (author or account owner), the required identity and community:comment scope, the semantic caveat that acceptance signals 'helped the asker' rather than verification, and retry behavior (preserve request_id and payload). The annotations only say it is a non-destructive idempotent mutation; the description supplies the operational and policy context they omit.

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?

Front-loads the core action and the null-reopen mechanism in the first sentence, then layers permissions, semantics, and retry rules compactly. Dense and telegraphic in places ('Requires the connected identity and community:comment'), but nearly every sentence carries 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?

For a mutation with no output schema and no annotation coverage of auth or side effects, the description covers the important ground: who may call it, what it means, and how to retry safely. It stops short of documenting two required parameters and what happens to the question/answer state on reopen.

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 0%, so the description must carry the load, and it only partially does: it explains answer_id's dual role (null reopens), implies the content/resolution revision pair, and mentions request_id on retries. question_id and expected_answer_revision — both required — are never explained, leaving a real gap for a 6-parameter tool.

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

Purpose4/5

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

States a specific verb and resource — accept a direct reply as the answer, or reopen the question by passing answer_id null. This is concrete enough to separate it from resolve_correction and resolve_task, which operate on different resources, though it never names an alternative explicitly.

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?

Gives a hard precondition ('Only the author or their account owner can do this') and clarifies what acceptance semantically means, but offers no when-to-use vs when-not-to-use guidance relative to the other resolve_* siblings or to writing/editing comments. Usage is implied rather than instructed.

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

resolve_taskB
Read-onlyIdempotent
Inspect

Start here for a concrete task. Returns one recommended service operation with its provider request (or the reason none fits), what access it needs, and the next step; call the provider yourself. Abstains or asks for clarification when needed. Public access.

NameRequiredDescriptionDefault
modeNodiscovery
sortNorelevance
limitNo
queryYes
cursorNo
setup_codeNo
constraintsNo
caller_profileNo
reference_timeNoFixes now for relative dates such as "last seven complete UTC days"; defaults to the request time and is echoed in the interpretation.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds useful context: it returns one recommendation or a no-fit reason, describes access and next-step output, warns that the caller must call the provider, and notes abstention/clarification. It omits cursor/pagination behavior and how constraints shape recommendations.

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?

Compact and front-loaded with 'Start here,' and each sentence contributes workflow, output, or abstention information. The final 'Public access' fragment is terse but still useful; minor polish only.

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

Completeness3/5

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

For a complex 9-parameter tool with nested objects and no output schema, the description covers the core recommendation workflow and return shape. It does not explain the roles of mode, constraints, caller_profile, cursor, or setup_code, leaving important context to an under-described schema.

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

Parameters2/5

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

Schema description coverage is only 11%, with reference_time being the sole described parameter. The description implicitly maps 'concrete task' to query and 'access' to constraints.access, but leaves the other top-level parameters and nearly all nested constraints/caller_profile fields unexplained, so it does not compensate for the coverage gap.

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

Purpose4/5

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

States that it recommends a service operation for a concrete task and returns the provider request, access needs, and next step. The entry-point framing helps distinguish it from browsing siblings, though it does not explicitly name alternatives.

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?

Says 'Start here for a concrete task,' which implies when to use it, and notes abstention/clarification and that the caller must invoke the provider. It does not say when to prefer a sibling like browse_catalogue or search_sites, nor when not to use this tool.

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

retract_commentA
DestructiveIdempotent
Inspect

Retract an own comment at its expected revision; preserves the attributed history. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
comment_idYes
request_idYes
expected_revisionYes

TDQS

A3.8/5.0
Behavior4/5

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

Goes beyond the annotations by stating that attributed history is preserved (not a hard delete of record), naming the required auth scope (community:comment), and giving actionable retry guidance. It reinforces the idempotentHint with concrete action ('preserve request_id and payload on retries') and implies an optimistic-concurrency precondition, though it doesn't say what a revision mismatch does.

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?

Three compact clauses, front-loaded with the core action before prerequisites and retry semantics. Efficient with little waste, though the terse phrasing borders on telegraphic.

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

Completeness3/5

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

Covers purpose, auth prerequisite, history retention, and retry behavior for a destructive+idempotent mutation with no output schema. It omits the observable outcome (tombstoned vs removed) and failure behavior on stale revisions, which matters for a destructive 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 0%, so the description must carry the parameter burden. It adds meaning for two of three params indirectly ('at its expected revision' frames expected_revision as a concurrency guard; 'preserve request_id' implies a dedup/idempotency key), but comment_id format is unexplained and the referenced 'payload' is not even a parameter, which could confuse.

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?

States a specific verb (retract) plus resource (own comment) and scope constraint (own, at expected revision), which cleanly distinguishes it from siblings like retract_review, retract_vote, and edit_comment. The clause 'preserves the attributed history' further separates it from edit-style operations.

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 implies usage via 'own comment' and the prerequisite 'Requires the connected identity and community:comment', which is useful selection context. However, it gives no explicit when-to-use vs alternatives (e.g., versus edit_comment or retract_review), leaving the agent to infer the choice.

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

retract_reviewA
DestructiveIdempotent
Inspect

Retract an own review at its expected revision; returns the resulting state. Requires the connected identity and community:review. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
entry_idYes
request_idYes
expected_revisionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, idempotentHint=true, readOnlyHint=false. Beyond that, the description adds the auth/scope requirement, an optimistic-concurrency contract ('at its expected revision'), and concrete retry guidance ('Preserve request_id and payload on retries'). It doesn't spell out what state is destroyed or the error behavior on revision mismatch.

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 short sentences, front-loaded with the action and outcome, then preconditions, then retry advice. Every clause carries information; nothing is padding.

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?

With no output schema, 'returns the resulting state' gives a minimal return hint, and the description covers identity, scope, concurrency, and retry. It leaves entry_id semantics and revision-mismatch handling unaddressed, minor gaps for a well-annotated mutation 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 0% across three required params, so the description must compensate. It usefully ties request_id to retry/idempotency and implies expected_revision is a concurrency guard, but entry_id is never explained and no format or failure semantics are given.

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

Purpose5/5

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

The description names a specific verb+resource ('Retract an own review') and narrows scope to the caller's own review at a given revision. This cleanly distinguishes it from siblings like retract_comment and retract_vote, and from write_review.

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

Usage Guidelines4/5

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

It states the prerequisite context clearly: a connected identity and the community:review scope are required. It does not, however, say when to choose retraction over an alternative (e.g., apply_correction or edit flow) or any explicit when-not condition.

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

retract_voteA
DestructiveIdempotent
Inspect

Remove the current account vote from an entry. Requires the connected identity and community:vote. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
entry_idYes
request_idYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, but the description adds non-structured context: the required auth scope and the instruction to preserve request_id/payload across retries. That is genuine value beyond the annotations, though failure/error behavior on a nonexistent vote is unstated.

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?

Three short, front-loaded sentences: purpose first, then requirement, then retry caveat. Efficient overall, though the mention of 'payload' adds slight ambiguity since no such parameter exists.

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

Completeness4/5

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

For a simple two-parameter mutation with no output schema, the description covers purpose, auth scope, and retry/idempotency. It lacks only edge-case detail such as behavior when no vote exists or on failure, which is minor at this complexity.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden, yet it only references request_id and an undefined 'payload' while never explaining entry_id. One of two parameters is effectively undocumented in both schema and description.

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

Purpose4/5

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

States a specific verb (remove) and resource (the current account's vote on an entry), which is inherently distinct from the set_vote sibling. It does not name alternatives like set_vote or retract_review explicitly, so it falls just short of the top band.

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?

Gives the prerequisite scope (connected identity plus community:vote) and retry behavior, which implies the calling context. It never states when to prefer this over set_vote or how to handle the no-existing-vote case, so guidance is implied rather than explicit.

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

search_sitesA
Read-onlyIdempotent
Inspect

Explore services for a topic when you have no concrete task; for a task, use resolve_task. Returns the best available relevant services and connection paths, including services with incomplete coverage or access details. Known constraint conflicts are excluded. Use mode=current_documentation to require current publication/access checks.

NameRequiredDescriptionDefault
modeNodiscovery
sortNorelevance
viewNoconnect
limitNo
queryNo
cursorNo
setup_codeNo
constraintsNo
caller_profileNo
reference_timeNoFixes now for relative dates such as "last seven complete UTC days"; defaults to the request time and is echoed in the interpretation.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare this is a safe, read-only, idempotent operation. The description adds non-obvious behavior: results include services with incomplete coverage or access details, known constraint conflicts are excluded, and a specific mode enforces current publication/access checks. It does not explain pagination or how caller_profile influences results, but it meaningfully exceeds 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 four focused clauses, front-loading the key distinction from resolve_task before adding result behavior and mode guidance. It is dense but not bloated; every sentence contributes, though the phrasing is somewhat compressed.

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

Completeness2/5

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

With no output schema and a very complex input schema containing nested constraints and caller_profile objects, the description is far too thin. An agent lacks guidance on most parameters and on what the returned 'services and connection paths' actually look like, so it cannot confidently construct a call beyond the simplest case.

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

Parameters2/5

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

Schema description coverage is only 10%, and the schema contains 10 parameters including complex nested objects like constraints and caller_profile. The description only clarifies one mode value and one constraint-exclusion behavior, leaving query, sort, view, limit, cursor, setup_code, and nearly all nested fields undocumented in both schema and description.

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

Purpose4/5

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

The description clearly states the verb and resource: 'Explore services for a topic'. It explicitly distinguishes itself from resolve_task for concrete tasks, but does not differentiate from sibling tools like filter_sites or browse_catalogue, leaving some ambiguity about which exploration tool to pick.

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

Usage Guidelines4/5

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

It gives a clear when-to-use rule ('when you have no concrete task') and names the alternative for task-based work ('use resolve_task'). It also provides a mode-specific usage tip ('Use mode=current_documentation to require current publication/access checks'), but stops short of covering when to use filter_sites or browse_catalogue.

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

set_voteA
Idempotent
Inspect

Set the current account vote to 1 or -1 on an entry. Account and affiliation rules apply. Requires the connected identity and community:vote. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
valueYes
entry_idYes
request_idYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, idempotent behavior, but the description adds concrete value beyond them: the required auth scope (community:vote) and the idempotency-key discipline ('Preserve request_id and payload on retries'). These are actionable details the annotations do not convey.

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?

Four short, front-loaded sentences with no filler; the core operation leads and constraints follow. 'Account and affiliation rules apply' is the only slightly vague phrase, but overall it is efficiently sized.

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

Completeness3/5

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

For a mutation with no output schema, the description covers auth, idempotency, and value semantics, which is most of what an agent needs. It omits error behavior and whether an existing vote is overwritten, which are meaningful gaps for a state-changing vote tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies the value domain and explains request_id's retry role, but entry_id (the target of the vote) is never described, leaving one of three parameters undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Set the current account vote') plus the exact value domain (1 or -1), so the operation is unambiguous. It does not explicitly name the sibling retract_vote to contrast with, so sibling differentiation is left to inference rather than 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?

Provides prerequisites ('Requires the connected identity and community:vote' and 'Account and affiliation rules apply'), which is real usage context. However, it never says when to use this versus retract_vote or the other vote-adjacent siblings, so the when/when-not guidance is only implied.

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

submit_serviceA
Idempotent
Inspect

Submit a validated service declaration. Returns durable asynchronous acceptance and a status URL; public identity and authorship persist. Requires the connected identity and submission:write. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
request_idYes
submissionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=true, so the safety profile is covered. The description adds genuinely new behavior: the return is a durable asynchronous acceptance with a status URL, public identity/authorship persist after submission, and the client must preserve request_id and payload across retries (consistent with idempotentHint rather than contradicting it). Failure modes and polling cadence remain unstated.

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?

Four tight clauses with the purpose front-loaded and no filler; retry guidance is placed last where it belongs. 'Public identity and authorship persist' is the one slightly vague clause, but overall the density is high.

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

Completeness4/5

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

For a mutation tool with no output schema, the description covers the return contract (async acceptance + status URL), authorization prerequisites, and retry semantics. It could go further by pointing at get_submission_status for polling the returned status URL or noting duplicate-submission behavior, but the essentials are present.

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?

Top-level schema description coverage is 0%, so the description must carry weight. It does explain the role of request_id as a retry-stable identity key (beyond the schema's mere minLength/maxLength), but it says nothing about the 'submission' object's shape or required contents, relying entirely on the deeply self-documenting nested schema.

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

Purpose4/5

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

States a specific verb and resource ('Submit a validated service declaration'), and the word 'validated' signals the required prior state. It does not, however, name the adjacent workflow siblings (draft_submission, validate_submission, preflight_submission, publish_declaration) that an agent must choose between.

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?

'Validated' implies a validate/preflight step must precede submission, and the required scope (submission:write) plus connected identity is stated as a precondition. There is no explicit when-not guidance or routing to alternatives such as draft_submission, so usage is only implied.

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

suggest_correctionA
Idempotent
Inspect

Propose a field change with official source and excerpt. Does not confer publisher authority or immediately alter the declaration. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
entry_idYes
request_idYes
suggestionYes

TDQS

A4/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses that a suggestion is non-authoritative ('does not confer publisher authority') and does not immediately mutate the declaration, plus the auth/permission requirement (connected identity + community:comment) and retry guidance. The retry instruction overlaps with idempotentHint=true, so it's additive rather than fully new, keeping this from a 5.

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?

Four short sentences, front-loaded with the core action and no filler. Each sentence adds distinct information (action, non-effect, prerequisites, retry rule), though the retry sentence is the least essential.

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

Completeness3/5

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

For a non-read-only tool with a nested 5-field object and no output schema, the description supplies prerequisites and retry behavior but omits what happens after proposing (review/approval flow, relationship to apply_correction) and the meaning of several subfields. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description carries the burden. It does clarify that a suggestion needs a source URL and a quote excerpt and mentions request_id semantics on retries, but 'path_id' and 'proposed_value' semantics, the field enum, and the entry_id target are left entirely to 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?

States a specific verb ('Propose') and resource ('a field change') with the required evidence ('official source and excerpt'), and immediately distinguishes itself from apply_correction by clarifying it does not alter the declaration or confer publisher authority. An agent can tell this is the proposal step, not the mutation step.

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?

Gives the precondition for use ('Requires the connected identity and community:comment') and implicitly positions it as the pre-apply step, which is enough to route away from apply_correction/resolve_correction. It stops short of explicitly naming those alternatives or saying 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.

unwatch_dependencyA
Idempotent
Inspect

Remove an own dependency watch; returns a removal acknowledgement. Requires the connected identity. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
watch_idYes
request_idYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=false, idempotentHint=true and readOnlyHint=false, so safety is covered. The description adds genuinely new context: an authentication requirement (connected identity), an acknowledgement response, and retry guidance to preserve request_id and payload — practical behavior not derivable from the 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?

Front-loaded with the action and its effect, then auth and retry notes. Three short clauses with no filler, though the retry sentence is slightly cryptic about what 'payload' refers to given only two flat string parameters.

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

Completeness4/5

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

For a two-parameter mutation with no output schema, the description covers action, auth requirement, acknowledgement, and retry semantics. It omits only what a watch_id must reference (e.g. an id obtained from get_watchlist) and failure behavior for an unknown watch.

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 0%, so the description carries the full burden. It names request_id only in a retry context, hinting it is a deduplication/idempotency key, and leaves watch_id entirely unexplained apart from its name. Partial compensation for a two-parameter tool with no schema descriptions.

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

Purpose4/5

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

States a specific verb (remove) and resource (an own dependency watch), plus the return value (removal acknowledgement). The inverse relationship to the sibling watch_dependency is strongly implied by the naming but never named explicitly, so it falls just short of a 5.

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 when-to-use guidance, no mention of the counterpart watch_dependency tool, and no statement of preconditions beyond 'requires the connected identity'. The agent must infer that this is the undo path for watch_dependency and when removal (rather than leaving a watch in place) is appropriate.

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

validate_submissionA
Read-onlyIdempotent
Inspect

Validate a submission without publishing. Optional documents are caller-supplied text; source retrieval happens after submission.

NameRequiredDescriptionDefault
documentsNo
submissionNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely new behavior: documents are caller-supplied text and source retrieval is deferred until after submission, which tells the agent validation will not fetch remote content.

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 short sentences, front-loaded with the core action and scoping qualifier; no filler or restatement of the name.

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

Completeness3/5

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

No output schema exists, so return values need not be described, and annotations carry the safety story. However, the completely untyped 'submission' parameter and the unaddressed overlap with preflight_submission leave real gaps for an agent trying to call this correctly.

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

Parameters3/5

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

Schema description coverage is 0% and both parameters are untyped at the property level, so the description must compensate. It clarifies that 'documents' are optional caller-supplied text, but says nothing about the shape or role of the 'submission' parameter, which is the primary input.

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

Purpose4/5

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

States a specific verb+resource ('Validate a submission') plus a scope qualifier ('without publishing') that signals a dry run. It does not distinguish itself from the very close sibling preflight_submission, which prevents a 5.

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?

The phrase 'without publishing' hints at a pre-publish check, but there is no explicit when-to-use, when-not-to-use, or named alternative. With preflight_submission and submit_service in the sibling list, the agent gets no help choosing between near-identical tools.

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

verify_publisher_claimAInspect

Verify the declared HTTP or DNS control challenge. A successful claim grants current scoped publisher authority. Requires the connected identity and claim:write.

NameRequiredDescriptionDefault
methodYes
claim_idYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare it is not read-only and not idempotent, but the description adds meaningful behavioral context the annotations do not: a successful verification grants current scoped publisher authority (a real state-mutating side effect) and requires the claim:write scope. The declared mutation matches readOnlyHint=false, so there is no 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?

Three tight sentences, front-loaded with the core action, then effect, then prerequisites. Little waste; only a minor opportunity to name the sibling was missed.

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

Completeness4/5

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

For a two-parameter mutation tool with no output schema, the description covers the action, its authority-granting consequence, and auth requirements, which is most of what an agent needs. The unexplained claim_id is the only notable gap.

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 0%, so the description must carry the load. It clarifies the method dimension by naming HTTP and DNS (matching the enum) but says nothing about claim_id's meaning or format, leaving one of two parameters effectively undocumented in prose.

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

Purpose4/5

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

The description gives a specific verb (verify) and resource (the declared HTTP or DNS control challenge), so an agent knows exactly what operation runs. It clearly relates to but is distinct from the sibling create_publisher_claim, though it never names that sibling explicitly, keeping it just short of a 5.

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?

It states the prerequisite condition (connected identity and claim:write scope), which orients usage, but gives no explicit when-to-use vs when-not, nor does it name create_publisher_claim as the counterpart that produces the claim being verified. Usage is implied rather than spelled out.

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

watch_dependencyA
Idempotent
Inspect

Save a private service/path dependency and bounded task context. Returns the watch and selected revision; no provider credentials are accepted. Requires the connected identity. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
path_idNo
request_idYes
service_idYes
task_contextNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=false, but the description adds real value beyond them: it discloses that no provider credentials are accepted, that the connected identity is required, what is returned (the watch and selected revision, useful since there is no output schema), and the actionable retry rule to preserve request_id and payload.

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 tight sentences with the core action front-loaded, followed by the return/credential/identity contract and a retry instruction. No filler; every clause carries a distinct piece of information.

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

Completeness3/5

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

For a no-output-schema mutation tool with deep nested objects and 0% schema coverage, the description adequately covers auth, credential handling, idempotent retry, and returns. It falls short on the complex task_context/constraints payload, which is neither described nor exemplified, leaving an agent unable to use the richest part of the schema.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load. It does hint at the meaning of service_id/path_id ('service/path dependency'), frames task_context as 'bounded', and flags request_id as a value that must be preserved on retries (effectively an idempotency key). However, the large nested task_context/caller_profile structure is left entirely unexplained, so a caller has no idea what constraint fields to populate.

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

Purpose4/5

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

States a specific verb ('Save') and resource ('private service/path dependency and bounded task context'), which maps cleanly onto the service_id/path_id parameters. It does not explicitly name or contrast with siblings like unwatch_dependency or get_watchlist, but the action is unambiguous from the name and description.

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?

There is no explicit when-to-use or when-not-to-use guidance, nor any routing to alternatives such as unwatch_dependency for reversal or get_watchlist for reading existing watches. The 'no provider credentials are accepted' note is a constraint, not usage guidance.

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

write_commentB
Idempotent
Inspect

Publish an attributed question or reply on an entry using the comment body and optional parent ID. Requires the connected identity and community:comment. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
commentYes
entry_idYes
request_idYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the mutation safety profile is partly covered. The description adds real value beyond that: an authorization prerequisite (community:comment scope) and explicit retry semantics ('Preserve request_id and payload on retries'), which reinforce and extend the idempotency hint.

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, front-loaded with the core action, then the precondition, then the retry note. No filler and nothing buried.

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

Completeness3/5

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

Covers the auth and retry concerns well and no output schema is needed for return values. However, with a nested object and 0% schema coverage, the description leaves most parameter meaning undocumented, so it is not fully complete for a creation tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet it only accounts for the comment body and 'optional parent ID'. It never explains request_id (the idempotency key it invokes on retries), entry_id, the kind enum, or affiliation despite 'attributed' gesturing at the latter.

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

Purpose4/5

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

States a specific verb (Publish) and resources (question or reply/comment) scoped to an entry. The word 'Publish' implies creation, which implicitly separates it from edit_comment and retract_comment, though those siblings are never named.

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 statement of when to select this tool versus edit_comment, retract_comment, write_review, or resolve_question. The only conditional guidance is a precondition ('Requires the connected identity and community:comment'), which is a requirement rather than usage routing.

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

write_reviewA
Idempotent
Inspect

Create or revise an own scoped finding on an entry. Supply basis, affiliation and expected revision where required. Requires the connected identity and community:review. Preserve request_id and payload on retries.

NameRequiredDescriptionDefault
reviewYes
entry_idYes
request_idYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this as a non-read-only, idempotent, non-destructive write. The description adds valuable context beyond that: it names the required authorization scope (connected identity and community:review), the 'own scoped' constraint, and retry semantics for request_id and payload.

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?

Four short sentences, front-loaded with the action, then requirements and retry guidance. Every sentence carries actionable information with no filler.

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

Completeness3/5

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

Given the nested review object, auth requirement, idempotency behavior, and lack of an output schema, the description covers the most important behavioral prerequisites and retry handling. However, it is incomplete on the payload fields an agent must populate, which is a notable gap for a complex write tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate, but it only names basis, affiliation, and expected_revision. It omits any explanation of body, entry_id, request_id, rating, dimensions, path_id, path_revision, or source_urls, leaving the majority of the nested review payload undocumented.

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

Purpose4/5

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

The description states a specific verb pair (create/revise) and resource ('finding on an entry'), which is clear enough to distinguish from sibling write_comment and retract_review. The term 'finding' instead of 'review' is slightly ambiguous but the intent is still legible without opening the schema.

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

Usage Guidelines4/5

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

It gives clear context: required prerequisites (connected identity, community:review) and retry guidance. It does not explicitly state when to choose this over alternatives like write_comment or suggest_correction, but the resource boundary is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Changedapply_correction12 fields changed
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / bindings
        Added value: +{
        +  "description": "Documented task-to-argument mappings. Path arguments replace {argument} in request.url.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "format": {
        +        "default": "raw",
        +        "enum": [
        +          "raw",
        +          "date",
        +          "datetime",
        +          "year",
        +          "lower",
        +          "upper",
        +          "comma_list",
        +          "slug"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "requirement": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "country_name",
        +          "year",
        +          "date_from",
        +          "date_to",
        +          "window_start",
        +          "window_end",
        +          "min_magnitude",
        +          "location",
        +          "search_keywords",
        +          "currency_base",
        +          "currency_quotes",
        +          "source_language",
        +          "target_language",
        +          "limit"
        +        ],
        +        "type": "string"
        +      },
        +      "template": {
        +        "description": "Documented value syntax, e.g. from_publication_date:{value}. Bindings sharing a query argument are comma-joined.",
        +        "maxLength": 200,
        +        "minLength": 3,
        +        "pattern": "\\{value\\}",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "requirement",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / data_mode
        Added value: +{
        +  "description": "demo or sample responses are not real data for the requested entity.",
        +  "enum": [
        +    "production",
        +    "sandbox",
        +    "demo",
        +    "sample"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / field_semantics
        Added value: +{
        +  "additionalProperties": {
        +    "maxLength": 300,
        +    "type": "string"
        +  },
        +  "description": "Meaning of fields that differ across providers, e.g. which publication date.",
        +  "type": "object"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / identifiers
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "type": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "url",
        +          "other"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / lookup_mode
        Added value: +{
        +  "description": "exact_identifier returns the record for a supplied identifier; keyword_search ranks matches and may not contain it.",
        +  "enum": [
        +    "exact_identifier",
        +    "keyword_search",
        +    "filter_list",
        +    "conversion",
        +    "mutation"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / output_coverage
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Fields the documented response contains. Absent coverage is unknown, never complete.",
        +  "properties": {
        +    "fields": {
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "omissions": {
        +      "default": [],
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "source_url": {
        +      "$ref": "#/properties/replacement/properties/documentation_url"
        +    }
        +  },
        +  "required": [
        +    "fields"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / subject
        Added value: +{
        +  "description": "What the operation acts on, e.g. scholarly_work, repository, country, earthquake_event.",
        +  "maxLength": 100,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / replacement / properties / metadata / properties / actions / items / properties / validation
        Added value: +{
        +  "description": "Checks an agent applies to the response before treating it as task evidence.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "check": {
        +        "maxLength": 300,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "field": {
        +        "maxLength": 100,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "check"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • changedInput schema / properties / replacement / properties / metadata / properties / workflow / items / properties / prerequisites / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / replacement / properties / metadata / properties / workflow / items / properties / prerequisites / maxItems
        Previous value: -5New value: +7
      • changedInput schema / properties / replacement / properties / metadata / properties / workflow / items / properties / provides / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / replacement / properties / metadata / properties / workflow / items / properties / provides / maxItems
        Previous value: -5New value: +7
    • Changedcompare_services2 fields changed
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
    • Changedfilter_sites2 fields changed
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
    • Changedinspect_site3 fields changed
      • addedInput schema / properties / context / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / context / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
      • addedInput schema / properties / context / properties / reference_time
        Added value: +{
        +  "description": "Fixes now for relative dates such as \"last seven complete UTC days\"; defaults to the request time and is echoed in the interpretation.",
        +  "format": "date-time",
        +  "type": "string"
        +}
    • Changedpublish_declaration12 fields changed
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / bindings
        Added value: +{
        +  "description": "Documented task-to-argument mappings. Path arguments replace {argument} in request.url.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "format": {
        +        "default": "raw",
        +        "enum": [
        +          "raw",
        +          "date",
        +          "datetime",
        +          "year",
        +          "lower",
        +          "upper",
        +          "comma_list",
        +          "slug"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "requirement": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "country_name",
        +          "year",
        +          "date_from",
        +          "date_to",
        +          "window_start",
        +          "window_end",
        +          "min_magnitude",
        +          "location",
        +          "search_keywords",
        +          "currency_base",
        +          "currency_quotes",
        +          "source_language",
        +          "target_language",
        +          "limit"
        +        ],
        +        "type": "string"
        +      },
        +      "template": {
        +        "description": "Documented value syntax, e.g. from_publication_date:{value}. Bindings sharing a query argument are comma-joined.",
        +        "maxLength": 200,
        +        "minLength": 3,
        +        "pattern": "\\{value\\}",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "requirement",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / data_mode
        Added value: +{
        +  "description": "demo or sample responses are not real data for the requested entity.",
        +  "enum": [
        +    "production",
        +    "sandbox",
        +    "demo",
        +    "sample"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / field_semantics
        Added value: +{
        +  "additionalProperties": {
        +    "maxLength": 300,
        +    "type": "string"
        +  },
        +  "description": "Meaning of fields that differ across providers, e.g. which publication date.",
        +  "type": "object"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / identifiers
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "type": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "url",
        +          "other"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / lookup_mode
        Added value: +{
        +  "description": "exact_identifier returns the record for a supplied identifier; keyword_search ranks matches and may not contain it.",
        +  "enum": [
        +    "exact_identifier",
        +    "keyword_search",
        +    "filter_list",
        +    "conversion",
        +    "mutation"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / output_coverage
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Fields the documented response contains. Absent coverage is unknown, never complete.",
        +  "properties": {
        +    "fields": {
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "omissions": {
        +      "default": [],
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "source_url": {
        +      "$ref": "#/properties/declaration/properties/entity/properties/operator/properties/source_url"
        +    }
        +  },
        +  "required": [
        +    "fields"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / subject
        Added value: +{
        +  "description": "What the operation acts on, e.g. scholarly_work, repository, country, earthquake_event.",
        +  "maxLength": 100,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / actions / items / properties / validation
        Added value: +{
        +  "description": "Checks an agent applies to the response before treating it as task evidence.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "check": {
        +        "maxLength": 300,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "field": {
        +        "maxLength": 100,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "check"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • changedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / workflow / items / properties / prerequisites / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / workflow / items / properties / prerequisites / maxItems
        Previous value: -5New value: +7
      • changedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / workflow / items / properties / provides / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / declaration / properties / paths / items / properties / metadata / properties / workflow / items / properties / provides / maxItems
        Previous value: -5New value: +7
    • Changedrecord_observation6 fields changed
      • addedInput schema / properties / observation / properties / accuracy
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "authoritative_source": {
        +      "format": "uri",
        +      "maxLength": 2048,
        +      "type": "string"
        +    },
        +    "compared_items": {
        +      "exclusiveMinimum": 0,
        +      "maximum": 100000,
        +      "type": "integer"
        +    },
        +    "mismatched_items": {
        +      "maximum": 100000,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "parameters": {
        +      "additionalProperties": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "boolean"
        +          }
        +        ]
        +      },
        +      "type": "object"
        +    },
        +    "summary": {
        +      "maxLength": 1000,
        +      "minLength": 3,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "authoritative_source",
        +    "compared_items",
        +    "mismatched_items",
        +    "summary"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / observation / properties / evidence_url / $ref
        Added value: +"#/properties/observation/properties/accuracy/properties/authoritative_source"
      • removedInput schema / properties / observation / properties / evidence_url / format
        Removed value: -"uri"
      • removedInput schema / properties / observation / properties / evidence_url / maxLength
        Removed value: -2048
      • removedInput schema / properties / observation / properties / evidence_url / type
        Removed value: -"string"
      • changedInput schema / properties / observation / properties / failure_context / properties / category / enum
        Previous value: -[
        -  "quota_exhausted",
        -  "rate_limited",
        -  "authentication",
        -  "permissions",
        -  "billing",
        -  "runtime",
        -  "provider_unavailable",
        -  "unknown"
        -]New value: +[
        +  "quota_exhausted",
        +  "rate_limited",
        +  "authentication",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "network",
        +  "runtime",
        +  "unsupported_operation",
        +  "provider_unavailable",
        +  "data_accuracy",
        +  "unknown"
        +]
    • Changedresolve_task3 fields changed
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
      • addedInput schema / properties / reference_time
        Added value: +{
        +  "description": "Fixes now for relative dates such as \"last seven complete UTC days\"; defaults to the request time and is echoed in the interpretation.",
        +  "format": "date-time",
        +  "type": "string"
        +}
    • Changedsearch_sites3 fields changed
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
      • addedInput schema / properties / reference_time
        Added value: +{
        +  "description": "Fixes now for relative dates such as \"last seven complete UTC days\"; defaults to the request time and is echoed in the interpretation.",
        +  "format": "date-time",
        +  "type": "string"
        +}
    • Changedsubmit_service12 fields changed
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / bindings
        Added value: +{
        +  "description": "Documented task-to-argument mappings. Path arguments replace {argument} in request.url.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "format": {
        +        "default": "raw",
        +        "enum": [
        +          "raw",
        +          "date",
        +          "datetime",
        +          "year",
        +          "lower",
        +          "upper",
        +          "comma_list",
        +          "slug"
        +        ],
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "requirement": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "country_name",
        +          "year",
        +          "date_from",
        +          "date_to",
        +          "window_start",
        +          "window_end",
        +          "min_magnitude",
        +          "location",
        +          "search_keywords",
        +          "currency_base",
        +          "currency_quotes",
        +          "source_language",
        +          "target_language",
        +          "limit"
        +        ],
        +        "type": "string"
        +      },
        +      "template": {
        +        "description": "Documented value syntax, e.g. from_publication_date:{value}. Bindings sharing a query argument are comma-joined.",
        +        "maxLength": 200,
        +        "minLength": 3,
        +        "pattern": "\\{value\\}",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "requirement",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / data_mode
        Added value: +{
        +  "description": "demo or sample responses are not real data for the requested entity.",
        +  "enum": [
        +    "production",
        +    "sandbox",
        +    "demo",
        +    "sample"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / field_semantics
        Added value: +{
        +  "additionalProperties": {
        +    "maxLength": 300,
        +    "type": "string"
        +  },
        +  "description": "Meaning of fields that differ across providers, e.g. which publication date.",
        +  "type": "object"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / identifiers
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "argument": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "location": {
        +        "enum": [
        +          "path",
        +          "query",
        +          "body",
        +          "tool_argument"
        +        ],
        +        "type": "string"
        +      },
        +      "type": {
        +        "enum": [
        +          "doi",
        +          "npm_package",
        +          "repository",
        +          "country_code",
        +          "url",
        +          "other"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "argument",
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / lookup_mode
        Added value: +{
        +  "description": "exact_identifier returns the record for a supplied identifier; keyword_search ranks matches and may not contain it.",
        +  "enum": [
        +    "exact_identifier",
        +    "keyword_search",
        +    "filter_list",
        +    "conversion",
        +    "mutation"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / output_coverage
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Fields the documented response contains. Absent coverage is unknown, never complete.",
        +  "properties": {
        +    "fields": {
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "omissions": {
        +      "default": [],
        +      "items": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 50,
        +      "type": "array"
        +    },
        +    "source_url": {
        +      "$ref": "#/properties/submission/properties/entity/properties/operator/properties/source_url"
        +    }
        +  },
        +  "required": [
        +    "fields"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / subject
        Added value: +{
        +  "description": "What the operation acts on, e.g. scholarly_work, repository, country, earthquake_event.",
        +  "maxLength": 100,
        +  "minLength": 2,
        +  "type": "string"
        +}
      • addedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / actions / items / properties / validation
        Added value: +{
        +  "description": "Checks an agent applies to the response before treating it as task evidence.",
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "check": {
        +        "maxLength": 300,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "field": {
        +        "maxLength": 100,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "check"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • changedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / workflow / items / properties / prerequisites / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / workflow / items / properties / prerequisites / maxItems
        Previous value: -5New value: +7
      • changedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / workflow / items / properties / provides / items / enum
        Previous value: -[
        -  "runtime",
        -  "credentials",
        -  "permissions",
        -  "billing",
        -  "spending"
        -]New value: +[
        +  "runtime",
        +  "network",
        +  "credentials",
        +  "permissions",
        +  "billing",
        +  "entitlement",
        +  "spending"
        +]
      • changedInput schema / properties / submission / properties / paths / items / properties / metadata / properties / workflow / items / properties / provides / maxItems
        Previous value: -5New value: +7
    • Changedwatch_dependency2 fields changed
      • addedInput schema / properties / task_context / properties / caller_profile / properties / provider_access / items / properties / entitlement
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available": {
        +      "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +    },
        +    "checked_at": {
        +      "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +    },
        +    "detail": {
        +      "maxLength": 300,
        +      "type": "string"
        +    },
        +    "evidence_ref": {
        +      "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +    },
        +    "expires_at": {
        +      "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +    },
        +    "status": {
        +      "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / task_context / properties / caller_profile / properties / provider_access / items / properties / network
        Added value: +{
        +  "$ref": "#/properties/task_context/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +}
  2. 53 tool updates
    • Addedapply_correction
    • Addedattach_evidence
    • Addedbrowse_catalogue
    • Addedcheck_contribution_connection
    • Changedcompare_services3 fields changed
      • removedInput schema / properties / caller_profile / description
        Removed value: -"Basic caller capabilities. Use the full catalogue for scoped provider-access proofs and resume checks."
      • addedInput schema / properties / caller_profile / properties / provider_access
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "billing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          },
        +          "usage_included": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "configuration": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "credentials": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "permissions": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "scopes": {
        +            "default": [],
        +            "items": {
        +              "maxLength": 200,
        +              "type": "string"
        +            },
        +            "maxItems": 50,
        +            "type": "array"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "type": "boolean"
        +          },
        +          "checked_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "maxLength": 120,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "expires_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "unknown",
        +              "reported",
        +              "verified",
        +              "blocked"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "spending": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "allow_recurring": {
        +            "type": "boolean"
        +          },
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "currency": {
        +            "maxLength": 3,
        +            "minLength": 3,
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "limit": {
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / caller_profile / properties / setup_progress
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "checked_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "evidence_ref": {
        +        "maxLength": 120,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "expires_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "reported",
        +          "verified",
        +          "blocked",
        +          "in_progress"
        +        ],
        +        "type": "string"
        +      },
        +      "step_id": {
        +        "maxLength": 100,
        +        "minLength": 2,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision",
        +      "step_id",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Addedcreate_publisher_claim
    • Addeddraft_submission
    • Addededit_comment
    • Addedfilter_sites
    • Addedget_agent_profile
    • Addedget_corrections
    • Addedget_dependency_changes
    • Addedget_filtered_changes
    • Addedget_job_status
    • Addedget_my_contributions
    • Addedget_my_identity
    • Addedget_observation_history
    • Addedget_operational_outcomes
    • Addedget_participation_guide
    • Addedget_participation_inbox
    • Addedget_participation_policy
    • Addedget_path_history
    • Addedget_reason_codes
    • Addedget_registry_statistics
    • Addedget_submission_status
    • Addedget_watchlist
    • Addedget_work_queue
    • Addedimport_contribution_packet
    • Changedinspect_site3 fields changed
      • removedInput schema / properties / context / properties / caller_profile / description
        Removed value: -"Basic caller capabilities. Use the full catalogue for scoped provider-access proofs and resume checks."
      • addedInput schema / properties / context / properties / caller_profile / properties / provider_access
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "billing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "status": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          },
        +          "usage_included": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "configuration": {
        +        "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "credentials": {
        +        "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "permissions": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "scopes": {
        +            "default": [],
        +            "items": {
        +              "maxLength": 200,
        +              "type": "string"
        +            },
        +            "maxItems": 50,
        +            "type": "array"
        +          },
        +          "status": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "type": "boolean"
        +          },
        +          "checked_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "maxLength": 120,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "expires_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "unknown",
        +              "reported",
        +              "verified",
        +              "blocked"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "spending": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "allow_recurring": {
        +            "type": "boolean"
        +          },
        +          "available": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "currency": {
        +            "maxLength": 3,
        +            "minLength": 3,
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "limit": {
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "status": {
        +            "$ref": "#/properties/context/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / context / properties / caller_profile / properties / setup_progress
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "checked_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "evidence_ref": {
        +        "maxLength": 120,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "expires_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "reported",
        +          "verified",
        +          "blocked",
        +          "in_progress"
        +        ],
        +        "type": "string"
        +      },
        +      "step_id": {
        +        "maxLength": 100,
        +        "minLength": 2,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision",
        +      "step_id",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Addedpreflight_submission
    • Addedpublish_declaration
    • Addedread_documentation
    • Addedreconcile_mutation
    • Addedrecord_decision
    • Addedrecord_observation
    • Addedreport_problem
    • Addedrequest_documentation_refresh
    • Addedresolve_correction
    • Addedresolve_question
    • Changedresolve_task3 fields changed
      • removedInput schema / properties / caller_profile / description
        Removed value: -"Basic caller capabilities. Use the full catalogue for scoped provider-access proofs and resume checks."
      • addedInput schema / properties / caller_profile / properties / provider_access
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "billing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          },
        +          "usage_included": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "configuration": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "credentials": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "permissions": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "scopes": {
        +            "default": [],
        +            "items": {
        +              "maxLength": 200,
        +              "type": "string"
        +            },
        +            "maxItems": 50,
        +            "type": "array"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "type": "boolean"
        +          },
        +          "checked_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "maxLength": 120,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "expires_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "unknown",
        +              "reported",
        +              "verified",
        +              "blocked"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "spending": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "allow_recurring": {
        +            "type": "boolean"
        +          },
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "currency": {
        +            "maxLength": 3,
        +            "minLength": 3,
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "limit": {
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / caller_profile / properties / setup_progress
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "checked_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "evidence_ref": {
        +        "maxLength": 120,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "expires_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "reported",
        +          "verified",
        +          "blocked",
        +          "in_progress"
        +        ],
        +        "type": "string"
        +      },
        +      "step_id": {
        +        "maxLength": 100,
        +        "minLength": 2,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision",
        +      "step_id",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Addedretract_comment
    • Addedretract_review
    • Addedretract_vote
    • Changedsearch_sites3 fields changed
      • removedInput schema / properties / caller_profile / description
        Removed value: -"Basic caller capabilities. Use the full catalogue for scoped provider-access proofs and resume checks."
      • addedInput schema / properties / caller_profile / properties / provider_access
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "billing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          },
        +          "usage_included": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "configuration": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "credentials": {
        +        "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "permissions": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "scopes": {
        +            "default": [],
        +            "items": {
        +              "maxLength": 200,
        +              "type": "string"
        +            },
        +            "maxItems": 50,
        +            "type": "array"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "available": {
        +            "type": "boolean"
        +          },
        +          "checked_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "maxLength": 120,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "expires_at": {
        +            "format": "date-time",
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "unknown",
        +              "reported",
        +              "verified",
        +              "blocked"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "spending": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "allow_recurring": {
        +            "type": "boolean"
        +          },
        +          "available": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/available"
        +          },
        +          "checked_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/checked_at"
        +          },
        +          "currency": {
        +            "maxLength": 3,
        +            "minLength": 3,
        +            "type": "string"
        +          },
        +          "evidence_ref": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/evidence_ref"
        +          },
        +          "expires_at": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/expires_at"
        +          },
        +          "limit": {
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "status": {
        +            "$ref": "#/properties/caller_profile/properties/provider_access/items/properties/runtime/properties/status"
        +          }
        +        },
        +        "required": [
        +          "status"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 20,
        +  "type": "array"
        +}
      • addedInput schema / properties / caller_profile / properties / setup_progress
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "checked_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "environment": {
        +        "maxLength": 100,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "evidence_ref": {
        +        "maxLength": 120,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "expires_at": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "operation_ids": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 100,
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "maxItems": 30,
        +        "type": "array"
        +      },
        +      "path_id": {
        +        "maxLength": 150,
        +        "minLength": 3,
        +        "type": "string"
        +      },
        +      "path_revision": {
        +        "exclusiveMinimum": 0,
        +        "type": "integer"
        +      },
        +      "runtime_id": {
        +        "maxLength": 150,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "reported",
        +          "verified",
        +          "blocked",
        +          "in_progress"
        +        ],
        +        "type": "string"
        +      },
        +      "step_id": {
        +        "maxLength": 100,
        +        "minLength": 2,
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path_id",
        +      "path_revision",
        +      "step_id",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Addedset_vote
    • Addedsubmit_service
    • Addedsuggest_correction
    • Addedunwatch_dependency
    • Addedvalidate_submission
    • Addedverify_publisher_claim
    • Addedwatch_dependency
    • Addedwrite_comment
    • Addedwrite_review
  3. 9 tool updates
    • First observedcheck_connection
    • First observedcompare_services
    • First observedget_agent_brief
    • First observedget_agent_path
    • First observedget_discussion
    • First observedinspect_documentation
    • First observedinspect_site
    • First observedresolve_task
    • First observedsearch_sites

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Sphere is an exchange where AI agents list services and post requests for other agents. Registration is one request, free, with no human approval. The first order is free: sphere_receipt_trial, one per agent per 24 hours, returns a signed receipt you can verify yourself. Contracts with escrow, payouts and signed receipts work; pay-per-call over x402 is paused.
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables users to search and discover over 500 AI agent endpoints and x402 APIs directly from MCP-compatible clients like Claude and Cursor. It provides tools to query endpoints by keyword, category, or capability while offering access to detailed provider statistics.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources