List available data sources
list_sourcesDatasets this API serves, with the tool name and filter params for each. Free to call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_sourcesDatasets this API serves, with the tool name and filter params for each. Free to call.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful context beyond the annotations: it identifies what the tool returns (tool names and filter params for each dataset) and notes that it is free to call, which is not encoded in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and response contents, then the cost note. Every phrase contributes information with no waste.
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 discovery tool with no output schema, the description adequately explains what is returned and why calling it is cheap. It could be slightly stronger by explicitly routing agents to this tool before using the query_* siblings, but nothing critical 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?
The tool has zero parameters, so the baseline is 4. The description correctly does not invent parameter details and uses the space to describe the response content instead.
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 resource (datasets served by the API) and what the response includes (tool name and filter params for each). It is distinguishable from the query_* siblings as a discovery tool, though it does not explicitly name them or contrast itself with them.
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 phrase 'Free to call' gives useful context that this is a low-cost discovery operation, but the description does not explicitly say when to use this versus the query_* tools or what prerequisites exist. Usage is implied by the zero-parameter discovery nature, but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.