Biolab MCP Server
Server Details
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 28.6% over 81 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- srikarjy/Biolab-mcp-server
- GitHub Stars
- 0
- Server Listing
- Biolab MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 30 tools
Several tools have overlapping or near-identical purposes: 'fetch' ('Fetch one preserved evidence record by retrieval ID') and 'get_retrieval' ('Retrieve a full retrieval record by its retrieval_id') are essentially the same operation, and the generic 'search' vs 'search_evidence' both claim to search across several sources, creating real misselection risk. The single-source searches (search_pubmed/europepmc/clinicaltrials/biorxiv) are distinct, but the generic/aggregate tools blur boundaries.
Most tools follow a predictable snake_case verb_noun or verb_resource pattern (create_claim, list_projects, run_evidence_watch, get_execution). The only deviations are the bare verbs 'fetch' and 'search' which lack a resource noun, but the set remains readable and largely uniform.
30 tools is heavy for a single server and pushes past the comfortable 3-15 range, though the breadth is partly justified by covering distinct domains (projects, claims, collections, watches, executions, and six evidence sources). It sits in borderline-to-excessive territory where consolidation of the search and retrieval tools would help.
Coverage is broad: collections (create/get/list/add), claims (create/link/trace), watches (create/list/run/events), projects (create/list/report), and executions (run/get/list/replay/verify) form a coherent lifecycle. Minor gaps exist (no update/delete for claims, projects, or collections), but core scientist workflows are well supported.
Available Tools
30 toolsadd_evidence_to_collectionCInspect
Add or update a retrieval in a scientist-reviewed evidence collection.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| relevance | No | unreviewed | |
| retrieval_id | Yes | ||
| collection_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the safety profile (not read-only, not destructive, not idempotent, closed-world), so the description only needs to add context. It contributes the 'scientist-reviewed' curation concept and the upsert semantics, but omits what happens on duplicate adds, permission requirements, or whether existing note/relevance values are overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though arguably under-specified rather than deliberately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with four undocumented parameters, no output schema, and no parameter coverage, the description leaves the agent without enough to call it correctly (e.g. valid relevance values, update-vs-insert behavior). It should carry more of that burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the four parameters are explained in the description. 'Relevance' defaults to 'unreviewed' with no enum, so the accepted values are entirely undocumented; the description only implicitly names the collection and retrieval concepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('add or update') and resource ('a retrieval in a scientist-reviewed evidence collection'), which is enough to tell it apart from create_evidence_collection or list_evidence_collections. It doesn't explicitly name sibling tools, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus create_evidence_collection, link_claim_evidence, or search_evidence. The 'add or update' phrasing hints at upsert behavior but never states the condition that selects this tool or the prerequisites (e.g. must the collection already exist?).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_claimCInspect
Create a scientific claim record without asserting that it is true.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the safety basics are covered. The description adds the useful epistemic nuance that the claim is stored unasserted, but says nothing about return value or side effects beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core action front-loaded and no wasted words. It is efficient, though it does not use the available space to address the gaps elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with two undocumented required parameters and no output schema, the description is thin. It does not explain what a claim record contains, how project_id relates to it, or what happens on success, leaving an agent underinformed despite the annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are required. The description only loosely gestures at the 'claim' content and never mentions project_id or how it scopes the record, so it fails to compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create a scientific claim record') and adds a meaningful scope nuance ('without asserting that it is true') that clarifies what kind of record this is. It does not explicitly differentiate itself from siblings like create_project or link_claim_evidence, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no mention of related siblings such as link_claim_evidence or trace_claim that an agent would need to choose between. The agent is left to infer when creating a claim is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_evidence_collectionCInspect
Create a reviewed evidence collection in a project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| project_id | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent, closed-world mutation, so the safety profile is partly covered. The description adds no behavioral context: it does not explain the 'reviewed' state it claims to create, side effects, permissions required, or what happens on a duplicate call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the action front-loaded and no filler. It is efficient, though it is under-specified rather than deliberately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, three undocumented parameters, and no annotations covering permissions or effects, the description should carry far more weight. It omits required-parameter expectations, the 'reviewed' semantics, and any result/shape information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters (name, project_id, description), so the schema offers no semantic help. The description only weakly implies project_id and does not describe name or description at all, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Create a reviewed evidence collection') and scopes it to a project, which separates it from siblings like create_project, create_claim, and add_evidence_to_collection. It stops short of explicitly contrasting with those siblings or clarifying what 'reviewed' means, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling creation tools (create_project, create_claim, add_evidence_to_collection) or whether a project must already exist. The agent must infer usage entirely from the name and the mandatory project_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_evidence_watchBInspect
Create a saved query for explicit evidence-change monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| source | Yes | ||
| agent_id | Yes | ||
| project_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and a closed-world scope, so the safety profile is partly covered. The description adds only that the artifact is a persisted 'saved query' for ongoing monitoring; it does not say what is stored, whether duplicate watches are allowed (non-idempotent), or what happens on creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Nothing is redundant and the core action is stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, non-idempotent creation tool with no output schema and no schema descriptions, one sentence is not enough. Key operational facts — what the watch is bound to (agent_id/project_id), what max_results controls, and the resulting identifier — are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description carries the full documentation burden. It loosely implies a query string and an evidence source, but project_id, agent_id, and max_results (including its default of 10) are entirely unexplained in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Create) and resource (a saved query for evidence-change monitoring), which is clearer than the bare tool name. It distinguishes creation from sibling read/run tools like list_evidence_watches and run_evidence_watch, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite or authorization note, and no mention of alternatives such as create_evidence_collection or run_evidence_watch. The agent is left to infer that this is the write counterpart to the watch-listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectBInspect
Create a persistent scientist research project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this is a local, non-destructive, non-idempotent write. The description adds only 'persistent', which is a mild behavioral detail; it says nothing about duplicate-name behavior or what a project contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loading the verb and resource. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with two undocumented parameters, no output schema, and only partial annotation coverage, the definition is too thin. An agent gets no sense of what a project holds, how it relates to claims/evidence collections, or what happens if the name collides with an existing project.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Two parameters exist with 0% schema description coverage, so the burden falls on the description, which says nothing about 'name' (naming rules, uniqueness) or 'description' (purpose, default of empty string). It fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('research project'), plus the qualifier 'persistent' which signals the project survives across sessions. It does not, however, distinguish itself from sibling creation tools like create_claim or create_evidence_collection, so sibling differentiation is left to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as checking list_projects first to avoid duplicates. The agent must infer the correct moment to call this from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchBRead-onlyIdempotentInspect
Fetch one preserved evidence record by retrieval ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
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 fully covered. The description adds only the fact that the record is 'preserved' and fetched by retrieval ID, without details on errors, permissions, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no wasted words. The resource and key qualifier are immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with rich annotations but no output schema and one undocumented parameter, the description is minimally adequate. It omits where retrieval IDs come from and how this differs from get_retrieval, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 clarify that the single 'id' parameter is a retrieval ID, adding meaning beyond the schema's bare 'Id' title, but it does not specify format, source, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource ('one preserved evidence record') qualified by retrieval ID, so the purpose is clear. It does not explicitly distinguish this from sibling tools such as get_retrieval, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like get_retrieval or search_evidence. The phrase 'by retrieval ID' implies a prerequisite but does not explain where that ID comes from or when this is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_artifactARead-onlyIdempotentInspect
Fetch an output artifact by its sha256 (text only; capped in size).
| Name | Required | Description | Default |
|---|---|---|---|
| sha256 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds real behavioral context beyond them: results are text-only (binary artifacts presumably unsupported) and size-capped, warning the agent about truncation. It omits the actual cap value and any error behavior for a missing hash.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler; the constraints are packed into a parenthetical rather than padding the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter fetch with no output schema, the description covers the essential caveats: text-only output and a size cap. It could be more complete by stating the cap and what happens when a hash is unknown or the artifact is binary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one required parameter and 0% schema description coverage, the description carries the burden but only names the key (sha256) without format details such as hex length. It adds marginal value over the bare schema property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch), resource (output artifact), and the identifying key (sha256), so the agent knows exactly what it retrieves. It does not, however, distinguish itself from siblings like fetch or get_execution, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the sibling fetch or get_execution tools, nor any prerequisites (e.g., where a sha256 comes from). Usage is only implied by the presence of the sha256 parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_evidence_collectionBRead-onlyIdempotentInspect
Return a collection and its reviewed evidence items.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds one useful behavioral detail — that only 'reviewed' evidence items are returned — but says nothing about what happens when the collection is missing or how results are ordered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core action leads. It is efficient, though so terse that it borders on under-specification rather than maximal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with no output schema and full annotation coverage, the description conveys the essential return content. However, it omits the meaning of 'reviewed' filtering and any error/not-found behavior, leaving minor gaps an agent would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter (collection_id) with 0% schema description coverage, and the description does not explain its format, source, or expected value. The description's mention of 'a collection' only loosely implies identification by ID, so it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Return a collection and its reviewed evidence items.' It clearly distinguishes fetching one collection (with its items) from the sibling list_evidence_collections, though it doesn't explicitly name the singular-vs-list distinction. Purpose is clear but sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus list_evidence_collections, search_evidence, or add_evidence_to_collection. The agent must infer from the name that this is the single-collection retrieval path; no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_executionBRead-onlyIdempotentInspect
Fetch one execution record, including output artifact hashes.
| Name | Required | Description | Default |
|---|---|---|---|
| execution_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that output artifact hashes are included, which usefully signals retrieved content, but says nothing about error behavior for a missing/invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no wasted words, and the primary action is front-loaded before the returned-content detail. It is efficient, though not as information-dense as it could be in the same length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations and no output schema, the description covers the core action and hints at what is returned (artifact hashes). It is minimally adequate but leaves id sourcing and missing-record behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A single execution_id parameter with 0% schema description coverage, so the description carries the burden — and it says nothing about the id's format or where the agent obtains it. The name is largely self-explanatory, which keeps this at minimum viable rather than worse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Fetch) and resource (one execution record), and the word 'one' implicitly contrasts with the sibling list_executions. It does not explicitly name that alternative, but the singular/plural distinction makes the scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus list_executions, get_artifact, or trace_claim. The agent must infer that it is the single-record lookup for a known execution_id, with no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_reportBRead-onlyIdempotentInspect
Return collections, claims, evidence links, watches, and events for a project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds that this is an aggregate bundle spanning five entity types, but says nothing about result size, pagination, cost of a broad query, or what happens for an empty/unknown project_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the return payload enumerated immediately; there is no filler, hedging, or repetition, and the highest-value information leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully stands in for one by enumerating the five returned entity types, and annotations cover the safety profile. It is nearly complete for a read-only aggregate call, with only result shape/size and pagination behavior left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the single parameter, and it only says the report is 'for a project.' It adds no information about the expected project_id format or origin beyond the parameter's own name, leaving the schema's bare string fully unannotated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Return') and resource ('project report') and enumerates the exact contents returned (collections, claims, evidence links, watches, events), which implicitly distinguishes it from narrower siblings like list_evidence_collections or list_evidence_watches. It stops short of explicitly naming those siblings as the targeted alternatives, so it is clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when a targeted tool (list_evidence_collections, get_evidence_collection, trace_claim) would be preferable, and no stated prerequisites beyond the implicit need for a project_id. The agent must infer from the enumeration alone that this is the aggregate 'everything for a project' call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_retrievalARead-onlyIdempotentInspect
Retrieve a full retrieval record by its retrieval_id.
Args:
retrieval_id: the UUID returned by search_pubmed
| Name | Required | Description | Default |
|---|---|---|---|
| retrieval_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered externally. The description adds only that this returns the 'full' record (implying contrast with the search summary) and where the ID comes from; it says nothing about behavior on an unknown ID or the shape of the record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the purpose front-loaded, plus a short Args block. The Args repetition of the schema field is slightly redundant but small; nothing extraneous otherwise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter getter whose annotations fully cover the safety profile and which has no output schema to document, the description is sufficient. The only soft spot is that 'retrieval record' is left as undefined jargon with no hint of its contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain the single parameter: it is the UUID returned by search_pubmed, giving both format and provenance. That is meaningfully more than the bare 'retrieval_id' field name in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve a full retrieval record by its retrieval_id'), so the operation is unambiguous. It does not explicitly distinguish itself from sibling getters like get_evidence_collection or get_project_report, but the resource name is distinct enough to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the originating tool ('the UUID returned by search_pubmed'), which gives the agent a concrete prerequisite and workflow ordering. There is no explicit when-not-to-use or alternative, but the context is clear for a keyed lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_claim_evidenceCInspect
Propose or record how one retrieval relates to a claim.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| stance | Yes | ||
| claim_id | Yes | ||
| assessment | No | agent_proposed | |
| retrieval_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, non-destructive write, so the safety profile is covered. The description adds the useful distinction that a link can be proposed (agent_proposed by default) or recorded, but says nothing about duplicate handling, what happens to an existing link, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though arguably too terse for a five-parameter write operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with five parameters, no output schema, no enum hints, and zero schema description coverage, the description omits critical call-time details: valid stance values, the meaning of assessment, and duplicate-link behavior. It is not complete enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It maps 'retrieval' to retrieval_id and 'claim' to claim_id and gestures at stance ('how ... relates'), but leaves the allowed stance values, the note field, and the assessment field entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (linking a retrieval to a claim) and identifies both resources, so the agent knows the general operation. However, it does not differentiate from siblings such as add_evidence_to_collection or create_claim, which also relate evidence to claims.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The words 'propose or record' imply two workflow modes, but there is no explicit guidance on when to use this tool versus add_evidence_to_collection, create_claim, or search_evidence. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_evidence_collectionsARead-onlyIdempotentInspect
List evidence collections, optionally within one project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the scoping behavior but says nothing about pagination, result ordering, or volume of returned collections beyond what the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the optional filter is stated compactly and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 ideally indicate what a listed collection contains or whether results are paginated. For a simple read-only list tool with annotations covering safety, this is adequate but leaves return-shape expectations partially unset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only property carries just a title, so the description's phrase 'optionally within one project' is the sole explanation that project_id is an optional filter. It fully explains the single parameter's semantics, though without format examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('evidence collections') with a scope qualifier, which cleanly separates it from the singular get_evidence_collection and create_evidence_collection siblings. It does not name an alternative explicitly, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'optionally within one project' implies the filtering use case but gives no when-to-use guidance relative to siblings like get_evidence_collection (single item) or search_evidence. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_evidence_eventsARead-onlyIdempotentInspect
List change events previously detected by an evidence watch.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds the useful fact that results are historical artifacts of a prior detection run, but says nothing about ordering, pagination, retention, or volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no redundancy or filler; every word carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only list tool with annotations covering the safety profile and no output schema, the definition is minimally sufficient. It nonetheless omits what an 'event' contains and how results are bounded or ordered, which an agent would want before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single watch_id parameter, but the description does contextualize it as an identifier of 'an evidence watch,' tying it to create_evidence_watch/list_evidence_watches. This is meaningful-but-minimal coverage over the bare schema title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (change events) with scoping qualifier (previously detected by an evidence watch). This is distinguishable from siblings like list_evidence_watches or search_evidence, though the description never names an alternative to sharpen the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the phrase 'previously detected by an evidence watch' suggests events must already exist from a prior run (run_evidence_watch / run_all_evidence_watches). There is no explicit when-to-use, when-not-to-use, or prerequisite guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_evidence_watchesARead-onlyIdempotentInspect
List saved evidence watches, optionally within one project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds only the scoping constraint (optionally per project) and says nothing about pagination, ordering, or return volume, which is a modest but real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with zero filler, front-loading the action and the optional scoping constraint. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only list tool with no output schema and complete annotation coverage, the description supplies the essential scope. It would be fully complete with a brief note on return ordering/pagination or default behavior, but nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does convey that project_id filters results to a single project, which is real added meaning, but it gives no format or identifier-type detail (ID vs name) and no note about the default null meaning 'all projects'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'List saved evidence watches.' It clearly differentiates from sibling mutators like create_evidence_watch and run_evidence_watch/run_all_evidence_watches by being a read/list operation. It does not, however, explicitly name the sibling list tools (list_evidence_collections, list_evidence_events) it could be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'optionally within one project' implies the filter condition for using the project_id parameter, so usage is partially implied. There is no explicit when-to-use vs alternatives such as list_evidence_collections or run_evidence_watch, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_executionsCRead-onlyIdempotentInspect
List recent execution records, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds one useful behavioral fact, the newest-first ordering, but says nothing about result volume, the 50-item default cap, or whether results are truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the ordering detail is placed where it matters. It is efficient, though it is arguably too terse for a tool with two undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% parameter coverage, the description must carry the full explanatory load, and it does not: the tool filter, the limit default, and pagination/truncation behavior are all absent. Annotations cover safety but not invocation mechanics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema gives no meaning for 'tool' or 'limit' beyond their titles and defaults. The description never mentions that a tool-name filter or a result-count limit exists, so the burden it should carry for both parameters goes unmet.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('execution records') plus the ordering ('newest first'), so the agent knows it is a collection read rather than a single-record fetch. It does not distinguish itself from siblings such as get_execution, verify_executions, or list_execution_tools, which is the only thing keeping it out 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over get_execution (single record) or verify_executions, and no statement of what 'recent' means. The agent must infer routing and scope from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_execution_toolsBRead-onlyIdempotentInspect
List runnable tools with their pinned versions, containers and devices.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds only the shape of the returned data; it says nothing about whether results are scoped to a project, paginated, or cached, which is modest added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and the returned content are stated immediately and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the one-line description is minimally adequate and partially compensates by naming the returned fields. However, it omits scope (global vs per-project/per-execution) and pagination, which an agent would need to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 disambiguate and the baseline is 4. The description correctly does not waste words on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a specific resource (runnable execution tools), plus the fields returned (pinned versions, containers, devices). This is distinguishable from the nearby list_executions/run_tool siblings, though the description never names or contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as list_executions or run_tool. The agent is left to infer that this enumerates available tools rather than execution history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsCRead-onlyIdempotentInspect
List scientist research projects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety behavior is fully covered externally. The description adds nothing beyond that — no return shape, ordering, or scope (e.g., all projects vs. the caller's projects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, appropriately front-loaded. It is efficient but borders on under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with annotations covering safety and no output schema, the description is minimally sufficient. It leaves ambiguity about the entity scope ('scientist research projects') and what is returned, which matters given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. There are no parameters whose semantics could be missed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (list projects), but the qualifier 'scientist research' is vague and does not distinguish this from siblings like list_evidence_collections or create_project. It does not clarify what a 'project' entity is in this API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus list_evidence_collections or other list tools, and no prerequisites stated. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_executionBRead-onlyIdempotentInspect
Re-run a recorded execution and report whether its outputs reproduced. Writes nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| execution_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with 'Writes nothing', which is useful confirmation that re-running has no side effects, but it adds no further behavioral detail such as cost, prerequisites, or re-execution semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and outcome, and the 'Writes nothing' clause is a compact, high-value addition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and safety already covered by annotations, the description conveys both the action and the return ('whether its outputs reproduced'). It is essentially complete, missing only minor detail about the execution_id and re-run scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (execution_id) exists at 0% schema coverage, and the description never references it directly. The phrase 'a recorded execution' implicitly contextualizes the ID but adds no format, sourcing, or validity information beyond what the schema name conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (re-run) and resource (a recorded execution) and names the output (whether outputs reproduced). It's clear, but it doesn't differentiate from the similarly named verify_executions or get_execution siblings, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives like verify_executions, get_execution, or run_tool. The agent gets a description of the action but no context or exclusion criteria for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_all_evidence_watchesBInspect
Run all active watches and return explicit per-watch failures.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the mutating, non-idempotent, network-reaching nature is structured data. The description adds one genuinely useful behavioral trait beyond that: it returns explicit per-watch failures rather than aborting on the first error. It does not explain what 'running' a watch does (fetches? notifications?) or any rate/permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. The scope ('all active') and the failure-reporting behavior are both stated economically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no params and no output schema, the description carries the return-value burden, and it does note the per-watch failure return. However, it omits what a watch execution actually entails (side effects, external calls) and gives no sense of result shape or destination for successful watches, leaving meaningful gaps for a non-read-only batch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. There is nothing for the schema or description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run all active watches') with the 'all' scope distinguishing it from the singular sibling run_evidence_watch. Clear enough to identify the operation, though it never names the single-watch alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. The presence of run_evidence_watch as a sibling means the agent needs to know when to run all vs. one, and nothing here addresses that choice or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_evidence_watchAInspect
Run one evidence watch and record added, removed, or revised evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the description adds the substantive side effect: it records the added/removed/revised evidence deltas resulting from the run. That is meaningful behavioral context beyond the annotations, though auth needs and whether it triggers retrieval are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and result stated immediately and zero filler. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, one-parameter mutation tool with annotations covering safety, the description is roughly adequate on behavior but thin on sourcing the required watch_id and on when this run should be invoked versus its siblings. No output schema exists, so return values would need coverage, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter watch_id has 0% schema description coverage, and the description never explains where watch_id comes from (e.g., list_evidence_watches or create_evidence_watch) or its expected format. With one undocumented parameter in both schema and description, the meaning is not conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ('Run') with the resource ('one evidence watch') and states the outcome ('record added, removed, or revised evidence'). The word 'one' implicitly distinguishes it from the sibling run_all_evidence_watches, but neither that sibling nor create_evidence_watch is named, so 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'one' suggests a single targeted watch versus run_all_evidence_watches, but the description never states when to use this instead of creating or listing watches, nor any prerequisites for the watch_id. No explicit when/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_toolAInspect
Run a registered tool and seal an ExecutionRecord (inputs, versions, output hashes).
Args:
tool: tool name from list_execution_tools
inputs: tool inputs (JSON object); stored verbatim so the run can be replayed
agent_id: calling agent or workflow identity
retrieval_ids: evidence retrievals this run was derived from, for provenance links
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | ||
| inputs | Yes | ||
| agent_id | Yes | ||
| retrieval_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give the generic write profile (readOnly=false, destructive=false, idempotent=false). The description adds real behavioral context beyond them: it seals a persistent ExecutionRecord, stores inputs verbatim so runs are replayable, records version and output hashes, and links provenance via retrieval_ids. It still omits failure behavior and whether the underlying tool's output is returned to the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by a compact four-line Args list; no filler. Slightly docstring-formatted rather than prose, but every line adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 definition covers persistence, replay and provenance but leaves gaps: whether the run's output (vs. only its hash) is returned, what happens on invalid inputs or unknown tool names, and any auth/identity requirements. Adequate but not complete for an audit-recording write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and mostly delivers: tool is scoped to names from list_execution_tools, inputs is a JSON object stored verbatim for replay, agent_id is the calling identity, and retrieval_ids are provenance links, with optionality implied by the default null in the schema. It does not explain per-tool input shape validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Run a registered tool") and adds the consequential side effect: it seals an ExecutionRecord with inputs, versions and output hashes. It routes the agent to list_execution_tools for valid tool names, but does not distinguish itself from siblings like replay_execution, which also produce execution records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent must first have a registered tool name (via list_execution_tools) and, for provenance, retrieval_ids. There is no explicit when-to-use statement, no when-not-to-use, and no guidance on choosing this over replay_execution or verify_executions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchCInspect
Search all evidence sources for ChatGPT/Codex knowledge compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is not read-only, not idempotent, and open-world, but the description does not clarify the implications (e.g., whether it modifies state, returns external results, or has side effects). No additional behavioral context is given beyond what the annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded with the action 'Search', though the resource phrase is somewhat ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain return values, pagination, or result format. Given the open-world and non-idempotent annotations, more context on what happens during search and what to expect in the response would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single parameter 'query'. The description does not explain the expected content or format of the query (e.g., keywords, natural language, or structured syntax), leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb 'Search' and a vague resource 'all evidence sources', but does not clearly differentiate from sibling tools like search_evidence, search_pubmed, etc. The phrase 'ChatGPT/Codex knowledge compatibility' is unclear and may confuse an agent about the tool's actual scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as search_evidence or the domain-specific search tools. The context implies it searches all sources, but the description does not explicitly state when this is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_biorxivAInspect
List bioRxiv/medRxiv preprints by category and log each to the audit trail.
No free-text search exists on this API — only category listing (last 30 days).
Args:
category: category, e.g. "neuroscience", "bioinformatics", or "all"
agent_id: which agent is asking, e.g. "aletheia:advocate"
max_results: how many preprints to retrieve (default 5)
server: "biorxiv" or "medrxiv" (default "biorxiv")
| Name | Required | Description | Default |
|---|---|---|---|
| server | No | biorxiv | |
| agent_id | Yes | ||
| category | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, but the description supplies the reason — each call 'logs to the audit trail' — which explains the non-read-only, non-idempotent profile. It also discloses the 30-day recency window and the absence of free-text search, meaningful traits beyond the annotations. Return format and rate limits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical constraint is front-loaded in the first two sentences, followed by a compact Args block. Given 0% schema coverage the parameter list earns its place, though the 'Args:' section is somewhat more verbose than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema and partial annotations, the description covers the calling contract, the audit-logging side effect, and the API's structural limitation. What an agent needs to call it correctly is present; pagination and result-count behavior are the only unaddressed items.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and does so: it documents all four parameters with concrete examples ('neuroscience', 'aletheia:advocate'), allowed values for server and category, and the max_results default. Only minor gaps remain, such as the upper bound on max_results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List bioRxiv/medRxiv preprints by category') and immediately resolves the misleading 'search_' prefix by declaring 'No free-text search exists on this API — only category listing (last 30 days).' That contrast lets an agent distinguish this capability from true search siblings like search_pubmed and search_europepmc without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when the tool applies: category listing only, last 30 days, no free-text search. It does not, however, explicitly route between this and the other search_* siblings, so the agent must infer that a keyword query belongs elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_clinicaltrialsAInspect
Search ClinicalTrials.gov and log every retrieved study to the audit trail.
Args:
query: condition/disease search string, sent to ClinicalTrials.gov verbatim
agent_id: which agent is asking, e.g. "aletheia:advocate"
max_results: how many studies to retrieve (default 5)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| agent_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, and the description coherently explains the write side-effect ('log every retrieved study to the audit trail') that justifies the non-readOnly hint. It also notes the query is sent verbatim to an external service, reinforcing open-world behavior. No contradiction; it adds genuine context but omits rate-limit/return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action, then lists args compactly with no filler. The Args block is well-organized and each line earns its place, though it is slightly fragmented rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an external-network search tool with no output schema, it covers params and the audit-side-effect well, but says nothing about the shape of returned studies, result limits, or behaviors of the external call. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and does so for all three params: query is defined as a condition/disease string sent verbatim, agent_id is clarified with a concrete format example, and max_results notes the default. This meaningfully exceeds the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Search ClinicalTrials.gov') and adds a second behavior (logging studies to the audit trail). This distinguishes it from generic siblings like search_pubmed/search_europepmc via the named source, though it doesn't explicitly call out those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain-specific query parameter ('condition/disease search string') implies when to use it, but there is no explicit when-to-use vs the many sibling search_* tools or any exclusion criteria. Usage must be inferred from the source name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_europepmcBInspect
Search Europe PMC and log every retrieved article to the audit trail.
Args:
query: exact search string, sent to Europe PMC verbatim — no normalization
agent_id: which agent is asking, e.g. "aletheia:advocate"
max_results: how many articles to retrieve (default 5)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| agent_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, conveying that this is a non-read-only, open-world, non-idempotent operation. The description usefully adds that every retrieved article is logged to an audit trail, which is a side effect beyond what annotations state. However, it does not explain what the audit log is, where it goes, or whether logging can fail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose and then lists parameters compactly. The Args-style formatting is efficient and every line adds information. It is appropriately sized for a tool with three undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and 0% schema coverage, the description covers the parameters and one behavioral side effect (audit logging). However, it omits what the search returns (fields, pagination, result shape), which is important given no output schema. It is adequate but leaves gaps for an agent to use the results confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter burden. It defines all three parameters: query (exact, no normalization), agent_id (with an example value), and max_results (default 5). This is strong compensation for an undocumented schema, though it does not specify the result format or any query syntax limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (Europe PMC) plus a secondary action (log to audit trail). It is distinguishable from sibling literature search tools like search_pubmed and search_biorxiv by naming Europe PMC specifically. However, it does not explicitly say why to choose it over those siblings beyond the source name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use vs alternatives guidance. The description mentions it searches Europe PMC, but with siblings search_pubmed and search_biorxiv present, an agent gets no criteria for selecting this tool over them. The audit logging is mentioned but not framed as a selection reason.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_evidenceAInspect
Search several scientific sources in one explicitly audited workflow.
Args:
query: scientific evidence query sent to each selected source
agent_id: calling agent or workflow identity
sources: any of pubmed, europepmc, clinicaltrials, uniprot, opentargets
max_results: maximum results to preserve per source (1-50)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| sources | No | ||
| agent_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (openWorldHint=true, destructiveHint=false), and the description usefully explains that readOnlyHint=false is because the workflow is 'explicitly audited', which prevents the false-from-a-search confusion. It does not disclose rate limits, auth requirements, per-source failure handling, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence states the core behavior, followed by a compact Args block. Every line carries information with no filler, though the docstring-style parameter dump is slightly less scannable than inline prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description says nothing about what is returned (per-source result grouping, aggregation format, pagination), which matters for a fan-out search across five heterogeneous sources. Parameters and purpose are covered, but the return contract is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 largely does: it enumerates the five valid source identifiers (which the schema lacks as enums) and gives the 1-50 range for max_results, plus clarifies query and agent_id. This meaningfully compensates for the empty schema annotations, though sources is not marked optional/required here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (scientific sources), and the phrase 'several scientific sources in one' cleanly distinguishes it from the single-source siblings search_pubmed, search_europepmc, search_clinicaltrials, and search_biorxiv. An agent can tell it is the aggregator without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'in one explicitly audited workflow' phrasing implies the intended use case of multi-source aggregation, and listing valid sources hints at selection behavior, but there is no explicit when-to-use / when-not guidance versus the per-source search_* siblings. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pubmedAInspect
Search PubMed and log every retrieved paper to the audit trail.
Args:
query: exact search string, sent to PubMed verbatim — no normalization
agent_id: which agent is asking, e.g. "aletheia:advocate"
max_results: how many papers to retrieve (default 5)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| agent_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and openWorldHint=true, and the description explains why: every retrieved paper is written to the audit trail, so this is a read that still mutates local state. It also discloses that the query is passed verbatim with no normalization. Missing are rate limits, auth requirements, or the shape of the returned papers, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and side effect in the first sentence, then a compact per-argument breakdown. No filler, though the Python-docstring "Args:" formatting is slightly mechanical rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description covers inputs and the audit side effect but says nothing about what a search actually returns (paper fields, result ordering, pagination/truncation when max_results is large). An agent knows how to call it but not what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does so well: it explains query is sent verbatim (no normalization), gives an agent_id format example ("aletheia:advocate"), and confirms max_results defaults to 5. It adds real meaning beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search PubMed") and an additional effect ("log every retrieved paper to the audit trail"). The PubMed domain cleanly distinguishes it from siblings like search_biorxiv, search_europepmc, and search_clinicaltrials without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the subject matter — use this when you need PubMed literature — but there is no explicit when-to-use, when-not-to-use, or routing against overlapping siblings such as search_europepmc or search for general retrieval. An agent must infer the choice from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_claimBRead-onlyIdempotentInspect
Trace a claim to supporting, conflicting, contextual, or insufficient evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, destructiveHint=false and closed-world behavior, so safety is covered. The description adds the four evidence classifications as behavioral context about what the trace yields, but says nothing about return format, limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that opens with the verb and wastes no words. It is appropriately sized for a one-parameter read-only tool, though brevity here shades into under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, idempotent tracing tool with one parameter and no output schema, the description conveys the core purpose and the result categories. It leaves open how the trace is produced and what each category means, which is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter (claim_id) is never mentioned in the description. The description does not compensate with format, source, or example values for the claim identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (trace) and resource (claim → evidence), and enumerates four evidence categories (supporting, conflicting, contextual, insufficient) that sharpen the meaning. It does not, however, distinguish itself from siblings like search_evidence or link_claim_evidence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no prerequisites, and names no alternative. An agent cannot tell from this text when trace_claim is preferred over search_evidence or get_evidence_collection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_executionsARead-onlyIdempotentInspect
Verify the execution hash chain and that every output artifact is intact.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds real value beyond that by naming exactly what is checked: the execution hash chain and the integrity of every output artifact. It does not state what a failed verification reports or how the result is shaped, which keeps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action verb front-loaded and no filler or redundant restatement of the tool name. Every clause (hash chain, artifact intactness) carries distinct meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description ideally would hint at what a verification result contains (pass/fail, offending artifacts), which is a genuine gap. Against a zero-parameter, read-only, idempotent tool whose annotations are fully populated and whose complexity is low, the definition is otherwise sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 disambiguate; the baseline for a parameterless tool is 4. The description correctly does not waste words describing inputs that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (verify) and specific resources (the execution hash chain and output artifacts), which is clearly distinct from sibling reads like get_execution or list_executions and from the mutation tool replay_execution. It does not explicitly name or contrast with those siblings, so it stops 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The nature of the operation (integrity verification) implies when an agent would reach for it, but there is no explicit when-to-use, no prerequisite (e.g. only meaningful for completed executions), and no mention of how it relates to get_execution or replay_execution. Usage is inferred rather than stated.
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.
7 tool updates
- Added
get_artifact - Added
get_execution - Added
list_execution_tools - Added
list_executions - Added
replay_execution - Added
run_tool - Added
verify_executions
23 tool updates
- First observed
add_evidence_to_collection - First observed
create_claim - First observed
create_evidence_collection - First observed
create_evidence_watch - First observed
create_project - First observed
fetch - First observed
get_evidence_collection - First observed
get_project_report - First observed
get_retrieval - First observed
link_claim_evidence - First observed
list_evidence_collections - First observed
list_evidence_events - First observed
list_evidence_watches - First observed
list_projects - First observed
run_all_evidence_watches - First observed
run_evidence_watch - First observed
search - First observed
search_biorxiv - First observed
search_clinicaltrials - First observed
search_europepmc - First observed
search_evidence - First observed
search_pubmed - First observed
trace_claim
Related MCP Connectors
MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
PubMed MCP — wraps the NCBI E-utilities API (biomedical literature, free, no auth)
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
PubTator 3 MCP — biomedical entity search, literature search with entity highlighting, and…
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for PubMed search and literature summarization52MIT
- AlicenseAqualityAmaintenanceAuditable UniProt MCP server with per-query SHA-256 provenance and offline replay41303 PyPI3Apache 2.0
- -licenseNot gradedqualityNot gradedmaintenanceAn MCP server implementation that enables searching and retrieving research articles from PubMed with specific focus on open access content filtering and full-text link retrieval.8 npm3-
- AlicenseAqualityDmaintenanceA lightweight MCP server for clinical biomedical literature retrieval, enabling PubMed search, article metadata, full-text access, and evidence summarization through MCP-compatible clients.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.