Metadata
metadataGet a Texas Open Data dataset's schema + metadata (columns, types, row count, category, last-updated) by resource_id, e.g. "54pj-3dxy".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | Dataset id, e.g. "54pj-3dxy". |
metadataGet a Texas Open Data dataset's schema + metadata (columns, types, row count, category, last-updated) by resource_id, e.g. "54pj-3dxy".
| Name | Required | Description | Default |
|---|---|---|---|
| resource_id | Yes | Dataset id, e.g. "54pj-3dxy". |
Changes observed during successful MCP inspections.
Input schema / examplesAdded value: +[
+ {
+ "resource_id": "54pj-3dxy"
+ }
+]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 complements these by detailing the returned metadata (columns, types, row count, category, last-updated), providing behavioral context beyond the annotations. No contradiction detected.
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 sentence that front-loads the purpose, includes key details and an example, and contains no extraneous words. Every word serves a purpose.
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?
Given no output schema, the description lists the metadata fields returned (columns, types, row count, category, last-updated), which is helpful. It specifies the domain (Texas Open Data). It does not address error handling or authentication, but for a simple read-only metadata tool, this is 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?
With 100% schema coverage, the schema already defines resource_id as a string with an example. The description adds context that it's a 'Texas Open Data' dataset id and shows the example, but does not add substantial meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'a Texas Open Data dataset's schema + metadata', listing specific items like columns, types, row count, and includes an example resource_id. This distinguishes it from sibling tools like 'datasets' or 'query' which serve different purposes.
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 implies usage by providing an example resource_id, but does not explicitly state when to use this tool versus alternatives such as 'datasets' for listing datasets or 'query' for data retrieval. No exclusionary guidance is given.
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.