opendata-mcp
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation3/5
Many tools have distinct purposes, but there are several overlapping pairs (e.g., multiple get_user_activity, get_feed, get_related, list_versions vs list_view_versions). Descriptions help differentiate, but the sheer number of tools increases ambiguity.
Naming Consistency2/5Tool names are highly inconsistent: some are long path-based (e.g., add_comment_v1_requests__request_id__comments_post), others are short (e.g., discover_datasets). Mix of full paths, HTTP verbs, and typical function names with no clear pattern.
Tool Count1/599 tools is far too many for an MCP server. The server wraps a large API, but for agent use, this overwhelms selection. Typical servers have 5-20 tools; this is extreme.
Completeness3/5The tool set covers many areas (datasets, views, figures, requests, graph, enrichment, providers, users), but there are notable gaps (e.g., no create/delete dataset) and redundancy. It's comprehensive but not well-curated.
Average 3.6/5 across 99 of 99 tools scored. Lowest: 2.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes the endpoint is GET and public, but lacks details on pagination, rate limits, error handling, or any side effects. Annotations are absent, so the description should compensate but does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (single line) but lacks structure. It includes the HTTP method and path, which is helpful, but could be better organized with separate sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the two required parameters with no enums or output schema, the description is insufficient. It does not explain the expected IDs, possible entity types, or the response format, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description adds no meaning to the parameters. It does not explain valid values for entity_type or format of entity_id, which are critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves datasets referencing a specific entity. It distinguishes from sibling tools like get_community_datasets and get_provider_datasets. However, it could be more precise about what 'referencing' means in graph context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like get_community_datasets or list_datasets. There is no mention of prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior. It only says 'public' but doesn't explain read-only nature, pagination via limit/offset, or response content. Minimal value beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very short but redundant: 'Public social activity timeline for a user' and 'Public timeline for one user' repeat the same idea. Could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 params and no output schema, the description is incomplete. It omits return format, pagination details, and differentiation from similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description should explain parameters. It only implicitly mentions 'clerk_id' in the URL, with no details on limit or offset semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns the public social activity timeline for a user using a verb+resource pattern. However, it doesn't differentiate from sibling 'get_user_activity' which uses 'user_id' instead of 'clerk_id'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus similar tools like 'get_user_activity' or 'get_feed'. No alternatives or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only mentions auth requirement. No disclosure of side effects, success/error behavior, or limits. Schema provides maxLength but description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence, suitable for simple action. However includes HTTP method and auth key which may be noise. Could be more structured but not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, partial parameter descriptions, no annotations. Missing response format, explanation of request_id, and body structure beyond schema. Incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description does not elaborate on parameters. Schema coverage is 50% (only body has description). request_id lacks description, and description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it adds a comment to a request thread, with verb 'Add' and resource 'comment'. Implicitly distinguishes from siblings like delete_comment and edit_comment but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Only mentions 'Authenticated users only' as prerequisite. No guidance on when to use vs alternatives like list_request_events or other comment operations. Missing when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states it's a public GET, but does not disclose behavior like result format, pagination, or effect of parameters like max_hops. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, including the endpoint and method. It is concise, though could be expanded slightly to add more value without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters involving graph traversal and no output schema, the description is too bare. It does not explain 'multi-hop join paths' or what the results look like, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning no parameter descriptions in the schema. The description adds no information about parameters (e.g., what max_hops or min_confidence do). It fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('discover multi-hop join paths') and resource (from a dataset), and indicates it's a public GET endpoint. It distinguishes the tool from siblings like get_neighbors or get_related, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_neighbors or get_schema_graph. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions 'public' in the endpoint string, hinting at access, but does not disclose error behavior, data freshness, or rate limits. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one line) but combines endpoint, visibility, and purpose in a single string. It is front-loaded but could be better structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-slug tool with no output schema or annotations, the description covers the basic purpose but lacks detail on response structure or edge cases. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with one parameter 'provider' lacking description. The description only says 'by slug', adding no format, constraints, or examples. This is insufficient for proper parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get Provider'), resource ('provider details'), and method ('by slug'). It distinguishes itself from sibling tools like get_provider_stats and get_provider_enriched by specifying 'by slug', though it doesn't explicitly differentiate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only states what it does, leaving the AI agent without context for selection among many similar provider tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It includes auth info but fails to disclose idempotency (PUT may be idempotent), side effects, rate limits, or whether upvoting is additive or toggling. This is insufficient for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but slightly repetitive ('Upvote Request — Upvote a dataset request'). It front-loades the path and auth, which is good, but could be more concise without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is insufficient for a simple write tool. With no output schema and no annotations, it should at least mention whether the operation can fail (e.g., duplicate upvote), what the response looks like, or that a remove_upvote exists. The current text leaves agents guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should compensate. It mentions 'request_id' in the path but does not explain its meaning, format, or constraints beyond what the schema provides. The parameter is obvious from the path, but no additional context is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upvote a dataset request to increase its priority') and includes the HTTP method and path. However, it does not explicitly distinguish from sibling tools like 'approve_request' or 'remove_upvote', leaving some ambiguity about when to use this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 'approve_request', 'reject_request', or 'remove_upvote'. The description does not mention prerequisites, conflicts, or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior like idempotency, data freshness, or error responses. It only notes the endpoint is 'public', but lacks details on rate limits, required permissions, or what happens if parameters are invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence embedding the URL and purpose. It is front-loaded with the method and path, but could be more structured by separating endpoint info from a clearer explanation of the returned statistics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about the returned statistics (e.g., which metrics are included) and does not clarify the distinction from sibling tools like get_dataset_meta or get_platform_stats. Given the absence of an output schema, more details are needed for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only implicitly maps provider and dataset via the URL path. It adds no further explanation of valid values, formatting, or constraints compared to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method, resource path, and states it returns graph-computed statistics, clearly identifying the action on a specific dataset. However, it does not differentiate from sibling tools like get_platform_stats or get_provider_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_dataset_meta or get_dataset_activity. There is no mention of prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes 'public' but does not explicitly state whether the operation is read-only or discuss side effects. With no annotations, the description fails to disclose behavioral traits like authentication, rate limits, or data mutability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and directly states the endpoint and purpose. However, it could benefit from a bit more structure, but it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, no output schema, and no annotations, the description is minimal. It lacks details on output format, error handling, or parameter interaction, making it incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only edge_types has a description). The description adds no parameter semantics beyond the schema; it does not clarify provider, dataset, or limit usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get Neighbors') and the resource ('direct 1-hop connections from a dataset'). It is specific and distinguishes from sibling tools like get_related which likely returns different relationships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 get_related or get_schema_graph. There is no mention of prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only indicates the endpoint is public but does not disclose how depth and limit affect the output, whether it is read-only, or any rate limits. The return structure is not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences that front-load the HTTP method and path. The slight redundancy in repeating 'Get Schema Graph' is minor. Every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% schema description coverage, the description should compensate but only explains the basic purpose and target audience (D3). It does not cover parameter effects, return format, or edge cases, making it incomplete for a graph endpoint with multiple parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so parameters provider and dataset are only given by their names. The description mentions them in the path but adds no meaning to depth or limit, leaving the agent to infer their purpose without context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the schema-level subgraph around a dataset for D3 visualization, distinguishing it from sibling graph endpoints like get_bridges or get_neighbors. The inclusion of the HTTP path and 'public' adds context. However, it could be more precise about what the subgraph contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as get_subgraph or get_neighbors. The description implies it is for D3 visualization but does not state when not to use it or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Only indicates deletion and auth method. No details about side effects (e.g., cascade deletions), irreversibility, or error conditions. With no annotations, description provides minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with HTTP method and auth. No wasted words, but may be too brief at the cost of missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple delete tool with no output schema and no annotations. Description does not cover return values, error handling, or prerequisites. Incomplete for an agent to use robustly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and description does not explain clerk_id or slug. Agent cannot infer what these parameters represent without additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Delete a user view', with HTTP DELETE method and path. Distinguishes from sibling tools like create_view, update_view, get_view, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites or ownership requirements mentioned. Agent has to infer use case from tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states it's a public GET request. It fails to explain what 'bridges' or 'betweenness centrality' entail, whether results are ordered, or if the limit parameter implies pagination. The description is insufficient for an agent to understand side effects or data retrieval behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one line) and front-loads the HTTP method and visibility. However, the brevity sacrifices informative content. It earns a high score for conciseness but not for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's single parameter and lack of annotations or output schema, the description should explain core concepts like 'bridges' and 'centrality' and clarify that this is a list endpoint. Without these, an agent cannot confidently decide to use this tool over others.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning beyond the schema. However, it does not mention the 'limit' parameter at all, leaving the agent to infer its purpose solely from the schema's type and constraints (integer, 1-100). This is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('top bridge datasets'), and the specific metric ('by betweenness centrality'). It uniquely distinguishes this tool from sibling tools like 'get_communities' or 'get_neighbors' by specifying a graph centrality measure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The 'public' label hints at accessibility, but there is no mention of prerequisites, limitations, or scenarios where this tool is preferred over similar graph-analytics endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the endpoint is public but does not disclose key behaviors such as pagination (limit/offset), default sorting, filtering options, or what the response contains. With no annotations, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence with the HTTP method, path, and a clear one-line summary. No waste, front-loaded with essential info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is insufficient. It does not explain pagination, filtering, sort defaults, or response structure, leaving the agent underinformed for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, and the description adds no explanation for the parameters. The 'provider' parameter is required but undocumented; 'limit' and 'offset' lack descriptions. The description fails to compensate for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all datasets for a provider') and the specific resource ('datasets for a provider'), along with the HTTP method and path. It distinguishes from siblings like list_datasets_v1_datasets_get (which lists all datasets without provider filter) and get_provider_datasets_metadata (metadata, not list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. Sibling tools like list_datasets_v1_datasets_get suggest a broader scope, but no explicit comparison or when-not-to-use instructions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the response includes alias definitions, column projections, and lookup configurations, providing some behavioral insight. However, it does not explicitly state it is read-only, nor does it disclose any side effects or authentication requirements beyond the '(public)' label. Without annotations, this is moderate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short sentences. Key information is front-loaded (purpose). However, there is minor redundancy between the title line and the first sentence. Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema), the description covers what the response includes (aliases, projections, lookups) and notes it is public. However, it lacks constraints, expected input format, and any reference to output structure or pagination. Not fully complete but adequate for a simple GET.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'name' with no description and 0% coverage. The description does not explain the 'name' parameter—its format, meaning, or examples. Schema coverage is low and the description fails to compensate, making it difficult for an agent to know how to populate the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does 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 'View', and specifies it returns detailed configuration including aliases, projections, and lookups. However, it does not explicitly differentiate from sibling tools like get_view_v1_user_views__clerk_id___slug__get or list_views_v1_views_get, leaving ambiguity on which view retrieval tool to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description mentions it is 'public', implying it may require less authentication, but does not give explicit when-to-use or when-not-to-use context. No reference to sibling tools or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description indicates it is a write operation (POST) and requires admin auth, but does not disclose other behavioral traits such as whether the action is reversible, what happens to previous status, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, a single sentence including the path and auth requirement. While efficient, it could better structure information for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values or status. It does not. Among sibling tools for request management, this description lacks differentiation and clarity on effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (body has a description, but request_id does not). The description adds no additional meaning beyond what the schema already provides. No explanation of expected_version or comment usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Mark' and the resource 'dataset request', with 'in-progress' as the status. It also specifies 'Admin-only', which distinguishes it from other request actions like 'approve' or 'reject'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'approve_request' or 'reject_request'. The description only mentions that it is admin-only, but does not provide context such as prerequisites or workflow ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions 'public' and the return content (top datasets, topics), but does not disclose idempotency, pagination, rate limits, or sorting behavior. The description is insufficient for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a single line that includes the HTTP method and path. It has no unnecessary words, but the inclusion of the path may be redundant given the tool name. It could be more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and minimal inputs, so the description needs to cover response structure and usage details. It fails to explain pagination, sorting, or how to interpret the community listing. It is incomplete for a listing endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (limit) with 0% description coverage. The description does not mention this parameter or add any meaning beyond the schema, failing to compensate for the gap. It should explain that limit controls the number of communities returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get community listing with top datasets and dominant topics,' which is a specific verb-resource combination. Among sibling tools, it is distinct from get_community_datasets (which targets a specific community) and get_bridges (graph bridges), so differentiation is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes '(public)' indicating accessibility, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. Usage context is implied as a general listing endpoint, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions access control for drafts vs. published views. It does not disclose authentication requirements, error behavior (e.g., what happens if the view doesn't exist), or any side effects. The minimal behavioral detail is insufficient for a safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, with the purpose stated first. It consists of two sentences that efficiently convey the tool's function and access rules. No redundant or extraneous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (get by identifier, no output schema) and the existence of sibling tools, the description covers the essential purpose and access constraints. However, it lacks details on return values, authentication requirements, and error handling. For a minimal tool, it is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage. The description adds that the view is identified by (clerk_id, slug), but does not explain what clerk_id or slug represent, acceptable formats, or constraints. Beyond implying they are identifiers, the description adds little meaning beyond the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a specific user view' identified by clerk_id and slug. It also distinguishes between drafts and published views, giving clarity on access. However, it does not explicitly differentiate from other get view endpoints like get_view_v1_views__name__get, but the identifier makes it distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage condition: 'Drafts are owner-only. Published views are public.' This implies when the tool can be used based on view visibility. However, it does not give explicit guidance on when not to use this tool or mention alternative tools for similar tasks, such as other view retrieval endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It states the action (fulfill by linking) but lacks details on side effects, prerequisites (e.g., request existence, user permissions beyond admin), or error conditions. The POST method implies mutation but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus auth info, which is concise. However, it is minimal and could include more detail without being verbose. It is not padded but is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (no output schema, 2 parameters, nested body), the description is incomplete. It does not mention the response format, success indication, or what happens after fulfillment (e.g., request status change). For a mutation tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage (body has a generic description, request_id has none), the description adds no parameter meaning. It does not explain what dataset_id, complexity_tag, expected_version, or comment represent, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fulfills a dataset request by linking it to a created dataset with the verb 'fulfill' and resource 'dataset request'. It distinguishes from siblings like submit_request or reject_request by focusing on the fulfillment action after dataset creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies 'Admin-only', indicating who should use it. However, it does not contrast with siblings (e.g., approve_request, reject_request) or provide when-to-use vs alternatives. The usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it is public and uses graph algorithms, but does not clarify read-only nature, authentication needs, rate limits, or side effects. The term 'structural + semantic blended' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence but includes redundant HTTP method and path already in tool name. Could be more concise by removing the GET path and 'Get Related' fragment. However, it is short and front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and minimal description, the tool behavior is underspecified. Missing details: response format, pagination, effect of limit, definition of structural+semantic blending. Not sufficient for an AI to reliably use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the three parameters (provider, dataset, limit). No explanation of what each parameter represents or how limit affects results. Parameters are left entirely to their names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves graph-powered related datasets using structural and semantic blending, distinguishing it from the sibling get_related_datasets which likely uses a different method. The verb 'Get' and resource 'related datasets' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage via mention of 'graph-powered' and 'public', but no explicit guidance on when to use this over the sibling or other related endpoints. No when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides some behavioral context: include_drafts behavior and username canonicalization. However, it omits details like pagination defaults, sort order, and output format, which would help the agent understand side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 3 sentences, front-loading the endpoint and purpose. Every sentence provides value, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 5 parameters and no output schema, the description covers the core purpose and a key behavioral nuance. However, it misses pagination, default sort, and output structure, leaving gaps for an agent to understand full usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 40%, with only 'sort' and 'include_drafts' having descriptions. The description adds meaning for 'include_drafts' (owner-only behavior) but not for 'username', 'limit', 'offset', which remain undocumented. Low coverage requires more compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists a user's published views (portfolio) via the endpoint. It is specific about the resource and verb, but does not explicitly differentiate from siblings like list_user_views, which also list views but by user ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies usage for public portfolios and mentions owner-only behavior for drafts, but lacks when-not or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as authentication requirements, rate limits, default ordering, or pagination behavior. The term 'public' hints at minimal access control but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, front-loading the key purpose and HTTP method. However, it is perhaps too terse, omitting important context that could be included without significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the simplicity of the tool (feed list with pagination), the description lacks essential context like default limit values, ordering, or handling of the 'since' parameter. It leaves the agent to infer too much from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 3 parameters with only 33% description coverage (since has a description). The tool description adds no additional meaning to the parameters, leaving limit and offset undefined in terms of purpose or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the activity feed of followed users, including the HTTP method and path for specificity. It distinguishes itself from similar tools like get_user_activity by specifying 'followed users', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a feed of followed users but provides no explicit guidance on when to use this tool over alternatives (e.g., get_user_activity, get_feed_v1_me_feed_get). No when-not-to-use or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose all behavioral traits. It mentions the endpoint is public and includes enriched metadata when available, but does not detail errors, rate limits, or what happens if enrichment is absent. This is insufficient for a read endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences covering endpoint, publicity, and purpose. No unnecessary words, though the endpoint string could be omitted as it is captured in the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter GET tool without output schema, the description is adequate. However, it does not explain what 'enriched' means or hint at the response structure, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the single parameter. The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches enhanced provider details with AI-enriched metadata. It uses specific verb 'Get' and resource 'provider enriched', distinguishing it from siblings like get_provider_v1_providers__provider__get which likely returns basic details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_provider_v1_providers__provider__get or get_provider_stats. The description only implies it is for enriched data but does not contrast with siblings or state prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the tool is a public GET operation (read-only) and returns metadata such as display name and schema. Since no annotations exist, the description carries the behavioral transparency burden but does not detail potential side effects, authentication beyond 'public', or rate limits. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the endpoint, visibility, purpose, and return contents. Every part serves a clear function without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with two parameters and no output schema, the description lacks a precise enumeration of return fields beyond 'display name, schema, etc.' It also does not clarify the relationship to sibling tools that retrieve more complete view data, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and no parameter descriptions in the tool description, the agent has no explicit explanation of what 'username' and 'slug_with_version' represent or their allowed formats. The path template provides marginal context but fails to fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get version metadata' for a resolved version, specifying it returns metadata like display name and schema. The inclusion of the HTTP method and path, along with differentiation from sibling tools (e.g., get_versioned_view retrieves the view itself), makes the purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_versioned_view (which retrieves the full view) or list_versions (which lists versions). The description implies usage for retrieving metadata but does not provide exclusions or contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it's a public GET endpoint and mentions 'dataset stats', but does not elaborate on what those stats include or any behavioral traits like pagination, rate limits, or idempotency. Without annotations, more detail would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose without extraneous information. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a simple list operation, the description is minimally adequate. However, it lacks details about the returned data structure, pagination behavior, and what 'dataset stats' comprises, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (limit, offset) with no descriptions in the schema or the tool description. Since schema_description_coverage is 0%, the description should explain these parameters, but it does not. This severely hampers correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all data providers with dataset stats', which is a specific verb+resource combination. It distinguishes the tool from other list tools (e.g., list_provider_datasets) by focusing on providers with stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_provider_v1_providers__provider__get or list_provider_datasets. The agent must infer usage from context, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool is public, a GET operation, and returns results ordered newest first. However, it does not disclose pagination behavior, error conditions, or whether authentication is required (though 'public' hints at no auth). The behavioral disclosure is basic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and ordering. It is front-loaded and avoids extraneous information. However, it could benefit from structured sections (e.g., separating route, purpose, notes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no output schema, the description covers the basic purpose and ordering but omits details about return values, pagination, and parameter behavior. Without output schema or deeper context, the description is minimally adequate but not fully complete for an agent to use without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% parameter description coverage, and the tool description does not explain any of the three parameters (clerk_id, limit, offset). The description only references clerk_id implicitly via the URL path but adds no semantic value beyond the schema. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists users that the specified user is following, with newest first ordering. It is distinct from siblings like list_followers (which lists followers) and follow/unfollow mutations, providing clear purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives (e.g., list_followers). While the purpose differentiates it, no guidance on context or limitations is given. It lacks explicit usage directives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must communicate behavioral traits. It identifies the HTTP method (DELETE) and auth requirement, but does not explain side effects (e.g., whether the user must have previously upvoted, if the operation is idempotent, or what the response looks like).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence, but includes the HTTP method and auth in parentheses which may be redundant given the tool name. It is front-loaded but could be structured more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple removal tool with one parameter and no output schema, the description is minimally adequate. However, it lacks context about prerequisites (e.g., user must have upvoted first) and expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'request_id' has no description in the schema (0% coverage), and the description does not clarify its meaning beyond the schema. The agent must infer that it refers to a dataset request ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool removes an upvote from a dataset request, using the verb 'Remove' and specifying the resource 'upvote from a dataset request'. It distinguishes from the sibling tool 'upvote_request' which performs the opposite action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the action name and description, but there is no explicit guidance on when to use this tool versus alternatives like 'upvote_request'. No exclusions or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a 'public' tag, hinting at open access, and states ordering by importance. However, no annotations are provided, leaving the tool's safety profile unconfirmed. It doesn't mention that this is a read-only operation (though GET implies it), nor does it disclose behavior like pagination, rate limits, or what happens if community_id is invalid. Some behavioral context is given, but not enough to fully compensate for missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise in one sentence but includes some redundancy (the HTTP method and 'public' tag are arguably unnecessary for an AI agent). It front-loads the key operation. Minor improvement could remove the HTTP prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should cover return format, pagination, and authentication. It only mentions ordering and public access. Without output schema, the agent knows little about the response. This is incomplete for a tool that is likely used in data retrieval workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. The description only mentions community_id implicitly via the URL path but does not describe limit or offset parameters. It fails to add meaning beyond the schema structure. For a tool with 3 parameters and no schema descriptions, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'List datasets in a graph community, ordered by importance.' It uses a specific verb (list) and resource (datasets in a community), with ordering detail. This clearly distinguishes it from sibling tools like get_communities (which lists communities) or get_related_datasets (which lists related datasets for a given dataset).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when needing datasets in a community, but provides no guidance on when not to use it or how it compares to alternatives like get_related_datasets or get_entity_datasets. No exclusions or prerequisites are mentioned. With many sibling tools, this is a moderate gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It mentions the endpoint is public and includes content details, but does not disclose error behavior, rate limits, or authentication requirements. The GET verb implies read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: endpoint and publicity, purpose, and included details. It is clear but could be slightly more concise by omitting the redundant endpoint example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately describes what the response contains (alias definitions, column projections, lookup configurations). It lacks error handling details, but for a simple GET, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero description coverage, and the tool description adds no explanation of the parameters (provider, dataset, name). Their meaning is partially inferable from the endpoint path, but the description does not clarify them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed configuration for a specific dataset view, listing what it includes (alias definitions, column projections, lookup configurations). It distinguishes from sibling tools like list_dataset_views by focusing on a specific view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 get_view_v1_views__name__get or list_dataset_views. The description does not mention prerequisites or context where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions 'GET' and 'public' but fails to disclose any behavioral traits like response format, error handling, or rate limits. It does not contradict annotations because none exist, but it is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste, though the first sentence largely restates the tool's name. It is efficient but could be more front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description explains the input adequately but does not specify what the returned metadata contains (e.g., fields, structure). It is minimally complete for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description repeats the schema's parameter description ('Provider slug'). The description adds no extra meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets enriched metadata for all datasets in a provider, using a specific verb and resource. It distinguishes from siblings like 'get_provider_enriched' by specifying 'metadata' and 'all datasets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as 'get_provider_enriched' or 'discover_datasets'. The description only states what it does, leaving usage context implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only describes the GET endpoint as public and the statistics returned, but it does not disclose any behavioral traits such as side effects, rate limits, or authentication requirements beyond being public.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single line but contains redundancy: 'Get provider statistics' appears twice. It could be more concise without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers the purpose and the type of data returned. It is complete enough to understand what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'provider' described as 'Provider slug (e.g., 'bls', 'census')'. The description does not add additional meaning beyond the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'provider statistics', and specifies the metrics included (dataset count, total rows, update info). It also provides the endpoint URL, which differentiates it from sibling tools like get_provider or get_provider_enriched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is public and returns aggregate statistics, but it does not explicitly state when to use this tool versus alternatives like get_provider or get_provider_enriched. There is no guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the endpoint is public but does not disclose read-only nature, rate limits, or other behavioral traits. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is one sentence, concise and efficient. No fluff, but could include slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description is adequate for a simple lookup tool. However, it lacks information about return structure, which could be important for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with clear descriptions for both parameters. The description adds context 'based on shared data domains' but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'find' and resource 'related providers', and explains the basis 'shared data domains'. It distinguishes from siblings like get_related_datasets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding related providers but does not provide explicit when-to-use or alternatives. No guidance on when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are missing, so the description must compensate. It states the tool is public, returns paginated results ordered by most recent, and lists activity types. However, it does not disclose auth requirements, rate limits, or other behavioral traits beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first provides endpoint and primary purpose, second adds key details about content and ordering. No redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially explains return values (list of activities, recent first) but lacks details on pagination metadata, error scenarios, or authentication. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, with descriptions for limit, offset, and type. The description adds value by providing example activity types (created, starred, synced, etc.), which helps the agent understand the type filter parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a paginated activity feed for a user, listing example activity types. However, it does not explicitly differentiate from similar sibling tools like get_feed_v1_me_feed_get or get_user_activity_v1_users__clerk_id__social_activity_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites or exclusions. With many activity-related siblings, this omission hinders correct tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It states the endpoint is public and no auth required, but fails to disclose behavior when username is not provided (schema allows null), response shape details beyond 'same shape as user_id endpoint', or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat redundant, repeating 'Look up user by username' twice. It could be more concise, but it is clear and front-loads key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should provide more context on expected behavior when username is omitted, response format, and potential errors. It only mentions 'public profile' without further detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description ('Username to look up'). The description repeats this without adding deeper details like constraints or format, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: look up a user by username, returning the public profile. It distinguishes from sibling tools like get_user_profile_v1_users__user_id__get by specifying the lookup by username rather than user ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a username is available, but does not explicitly contrast with sibling tools like get_user_profile_v1_users__user_id__get. It notes the endpoint is public and requires no authentication, which provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It indicates the action is destructive (reject) and requires admin auth, but does not discuss side effects, reversibility, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with key info. However, it redundantly includes the HTTP method and path which may be implied by the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and missing parameter explanations, the description is incomplete. It does not explain return values, error scenarios, or the effect on the dataset request state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only hints at the 'reason' parameter ('with a reason'), ignoring 'expected_version' and 'comment'. The input schema has low coverage (50%) and the description adds minimal value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Reject Request'), the resource ('dataset request'), and includes a specific constraint ('Admin-only'). It distinguishes from sibling tools like approve_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by admins only and mentions the need for a reason, but does not explicitly state when to use this tool vs alternatives like approve_request or other request manipulations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the sandboxed DuckDB environment and automatic table binding, but omits details on failure handling, rate limits, or result structure. The information is sufficient but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the endpoint, but it contains necessary information. It could be slightly more structured but avoids verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested body, multiple parameters, no output schema), the description lacks critical details about return format, error messages, or parameter usage, making it incomplete for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (33%), and the description adds no explanation of parameters like provider, dataset, or the body fields. It only hints at table reference binding, leaving most parameters semantically underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Execute a SQL query against a dataset's parquet file' and specifies the endpoint, making the tool's purpose unmistakable. It distinguishes itself implicitly from cross-dataset queries by targeting a single dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that only SELECT statements are allowed, but does not explicitly guide when to use this tool versus siblings like cross_dataset_query_v1_query_post. No when-not or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the operation 'Diff working copy vs the last published version', implying a read-only comparison. However, it does not clarify the output format, pagination, or any side effects. Given no annotations, the description should provide more behavioral context but is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and efficient. It includes the HTTP method, endpoint, and visibility. However, it could add parameter descriptions without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two required params, no output schema, and no annotations, the description is insufficient. It does not explain what 'diff' means in practice (e.g., list of changed fields?) or how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain the parameters (clerk_id and slug). While the tool name hints at them, an agent would benefit from knowing their roles (e.g., which user's view and which view slug).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Diff working copy vs the last published version' for a specific resource (user views). This distinguishes it from siblings like get_view (retrieve current view) and publish_view (publish).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the tool is public via '(public)' but does not specify when to use it versus other view-related tools. It lacks context on prerequisites (e.g., existence of unpublished changes) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description is minimal. It mentions the endpoint is public but does not disclose behavior beyond that, such as whether it returns a boolean, any rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one sentence, front-loading the key information. It is efficient but could benefit from slightly more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers the purpose and basic behavior. It does not describe the response format or errors, but for a simple status check, this may be sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'clerk_id' has no schema description (0% coverage). The description implies it is the user whose follow status is checked, adding some semantic meaning beyond the type 'string'. However, it does not fully compensate for the missing schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (GET), resource (follow-status), and outcome (return whether caller is following clerk_id). It distinguishes from siblings like follow_user, unfollow_user, list_followers, list_following.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose is implied: to check follow status. However, there is no explicit guidance on when to use this versus siblings (e.g., whether to use this before following) or any conditional context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only repeats the endpoint and action, omitting behavioral traits like side effects, authentication (though 'public' is in the endpoint but not description), or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, one sentence with clear front-loading. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is minimally adequate. However, it fails to add context like expected response format or usage tips, which would benefit an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with 0 parameters. The description does not need to add parameter detail, as there are none. Per calibration rules, 0 parameters warrant a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves graph health and sync status, with a specific verb and resource. Among siblings, no other tool targets health, making it distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or when not to use it. The description lacks context for appropriate invocation scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure. It only mentions 'Admin-only' for access control, but does not state that the operation is read-only, any potential side effects, or other behavioral traits. This is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with key information, but includes redundant elements like the full path and repeated title. It could be more streamlined while preserving clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose and access restriction adequately. However, it omits parameter details and return value description, leaving moderate gaps for full contextual completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not elaborate on the request_id parameter. No additional meaning is provided beyond the parameter name, leaving the agent without clarity on expected format or semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves full admin detail for a dataset request, with verb 'Get' and resource 'admin detail view'. The 'Admin-only' qualifier distinguishes it from sibling tool get_request_detail_v1_requests__request_id__get, providing specificity and sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The term 'Admin-only' provides clear context on intended user role, implicitly guiding when to use this tool (if admin) versus the non-admin version. However, it lacks explicit when-not-to-use instructions or enumeration of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes public endpoint and auth-dependent inclusion of upvote state, but does not explicitly state idempotency, rate limits, or data freshness. Since no annotations exist, description provides some behavioral context but insufficient safety guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the endpoint and title. Efficient but could separate public vs authenticated behavior more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter GET tool, the description covers key output fields and authentication nuance. However, lacks output schema and does not mention error cases or data format, leaving completeness moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description only mentions request_id as parameter without additional details like format, examples, or constraints. The tool relies on the name to imply it's a request ID string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves request details, listing specific fields (linked-dataset slug, submitter info, comment count, upvote state). Distinguishes from sibling tools like list_requests (list all) or get_request_admin_detail (admin view).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: to get details of a specific request by ID. No explicit when-to-use or when-not-to-use guidance compared to alternatives like list_requests or list_request_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the method is GET and public, and describes behavior when parameters are omitted. Does not explicitly state read-only nature or other constraints, but annotations are absent so description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: three sentences covering endpoint, purpose, and key parameter behaviors. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for basic use but lacks description of output format and does not address two parameters. Given no output schema, more detail on return structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning to seed_type and seed_id by explaining omission behavior and format, but ignores depth and limit. Schema coverage is 50% and description compensates partially but incompletely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it gets a seeded subgraph for the graph explorer, specifying it's a GET endpoint. Slightly docked because it does not differentiate from sibling graph tools like get_bridges or get_neighbors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides use case for omitting parameters and gives format for dataset seeds. Lacks explicit guidance on when not to use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral context such as default sorting, sort parameter usage, and authentication effect on response. However, with no annotations, it omits other aspects like idempotence, safety, or rate limits. The GET verb implies read-only, but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. Efficiently conveys the endpoint, purpose, and key behavioral notes. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could elaborate more on response fields or filtering usage. It mentions authenticated upvote status but lacks guidance on filter parameters (status, category, etc.). Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so baseline is 3. The description adds value for the sort parameter by explaining its default behavior. Other parameters are already described in the schema. No additional semantics for limit, offset, status, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'List Requests' and the resource 'dataset requests in the public queue'. Distinguishes itself from siblings like get_request_detail by focusing on listing, but does not explicitly differentiate from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on sorting options and authentication effect, but does not specify when to use this tool versus alternatives like submit_request or get_request_detail. No explicit 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It mentions 'public' and 'published versions', but omits important behavioral traits like pagination, ordering, or whether the endpoint is read-only. For a listing endpoint, minimal detail is provided beyond the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, efficiently including the HTTP method, endpoint, visibility, and purpose. No redundant information, front-loaded with key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list endpoint with two parameters and no output schema, the description covers the basic purpose and scope. However, it does not mention response format, ordering, or limits, leaving some gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage). The description adds meaning by referencing '@user/slug', indicating username and slug parameters, but does not define them explicitly. It partially compensates for the schema gap but could be more precise.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists published versions for a view identified by username and slug. It uses specific verb 'List' and resource 'published versions', effectively distinguishing it from sibling tools like list_view_versions which uses clerk_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is public and lists versions, but provides no explicit guidance on when to use this over alternatives such as list_published_views_by_username or list_view_versions. Usage context is implied but lacks exclusions or criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that bump_type is ignored for the first publish (always 1.0.0), which is important behavioral context. However, it does not mention side effects (e.g., whether previous versions are overwritten or preserved), authentication details beyond a token note, or idempotency. The description is honest but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences. It front-loads the HTTP method and auth, which may be redundant given the tool name and schema, but does not add excessive verbosity. Every sentence provides useful information, though the auth detail could be omitted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of publishing a version with a special first-publish rule, the description lacks crucial context. It does not state what the tool returns (e.g., the new version number or a success status), whether a draft must exist, or if publishing is reversible. The absence of an output schema heightens the need for such details. This is incomplete for an action-oriented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), and the description adds value by explaining that bump_type is ignored on first publish. It does not describe clerk_id or slug beyond their obvious path-parameter roles, nor does it expand on release_note limits. The added context clarifies a key nuance, but leafs significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Publish a new version' from the current draft or working-copy edits. It uses a specific verb ('Publish') and resource ('version'), and distinguishes itself from sibling tools like update_view (which modifies drafts) and create_and_publish_view (which combines creation and publishing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a draft exists and the user wants to publish a new version, but it does not explicitly state when to use this tool over alternatives like create_and_publish_view. It also notes the special behavior for first publish, offering some guidance, but lacks exclusionary criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description states 'Sets edited_at' which discloses a side effect. However, it does not mention idempotency, safety (mutation), or other behavioral traits, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise with three sentences. Includes path and auth info at start, which is helpful but not critical. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on response format, how to construct the body, and full effect of the mutation. With 3 params and no output schema, the description is insufficient for an agent to fully understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33% (only body has a description). The tool description does not add meaning to request_id, event_id, or the nested body field beyond what the schema provides. It fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Edit Comment' and specifies verb (edit) and resource (comment). Adds constraints like 'Author or admin only' and 'Sets edited_at'. Distinguishes from siblings like add_comment and delete_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly notes that only author or admin can use this tool, providing a clear access condition. Implicitly differentiates from add_comment and delete_comment by stating 'edit' as the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the HTTP method (PATCH), auth requirement (Bearer token), and admin scope. However, it does not describe idempotency, effect of setting notes to null, or error responses. Minimal beyond what is inferable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus auth info. It is concise and front-loaded with the action. No wasted words. Lacks structured formatting but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters, no output schema, and minimal schema coverage, the description is somewhat incomplete. It does not explain success behavior, response format, or common errors. Adequate for a simple update but could be more helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (body has description). The description adds that body is 'application/json', and the path indicates request_id is a path parameter. But request_id lacks description. The description adds context beyond schema but not enough to fully compensate for the remaining gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update'), the resource ('Operator Notes on a request'), and includes admin auth context. It differentiates from siblings like add_comment (public notes) and approve_request (status change).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies 'Admin-only,' which implies usage restriction, but does not provide when to use this tool versus alternatives like add_comment or other request mutations. No explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It effectively discloses the atomic transaction behavior and rollback guarantee, which are critical safety traits. However, it omits response details and error conditions beyond the rollback.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, consisting of a few sentences without fluff. It front-loads the key purpose and atomicity. Minor improvement could remove class reference ('see :class:UserViewCreate') which is not helpful to an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite complex input and no output schema, the description does not mention return values, error responses, or authentication details beyond the inline endpoint line. For a tool with nested objects, more context on expected behavior and success/failure indicators is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 1 complex parameter (body) with many properties, but schema description coverage is indicated as 100% (likely meaning schema fully defines structure). The description adds value by noting that 'release_note' comes from the request body, but does not elaborate on other fields. Baseline 3 is appropriate as schema is rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action: 'Create a view and publish 1.0.0 atomically'. It clearly identifies the verb (create and publish) and resource (view), and distinguishes itself from siblings like create_view and publish_view by highlighting atomicity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when atomicity is desired to avoid orphan drafts) but does not explicitly contrast with separate create-then-publish workflow. Sibling tools exist (create_view, publish_view), but no guidance is provided on when to use this vs. those.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description successfully discloses key behaviors: public access, pagination (limit, offset, cursor), format selection priority, file attachment downloads with size guard, and response format options. It could be improved by noting error handling or rate limits, but overall is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose but becomes verbose. The trailing ellipsis indicates incompleteness, and some details (like format enumeration) could be more concise. It is adequate but not optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 18 parameters and no output schema, the description covers core behaviors but leaves some gaps: the truncated ending suggests missing content, and it does not describe typical response structure beyond format. It is reasonably complete for a complex tool but not fully satisfactory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 78%, so baseline is 3. The description adds minimal parameter-specific insight beyond the schema (e.g., format selection priority and download behavior). It does not significantly enhance understanding of each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves dataset data or subdataset list for a given provider/dataset. It specifically mentions flat vs hierarchical datasets and notes that metadata is available via a separate endpoint, distinguishing it from sibling tools like get_dataset_meta.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use this tool for data retrieval and mentions an alternative for metadata. However, it does not explicitly state when not to use it or provide clear exclusion criteria compared to other data query tools (e.g., sql_query or cross_dataset_query).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that it's a GET endpoint requiring authentication, returns recommendations based on activity, and describes cold-start behavior. However, it omits details about pagination behavior, error handling, rate limits, or response structure, which are important for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a title line, a brief summary, a list of recommendation kinds, and an authentication note. It is front-loaded with key information. Minor redundancy like repeating 'Get personalized recommendations' could be removed, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and lack of output schema, the description adequately explains the tool's purpose, parameters, and authentication. However, it does not describe the response format or pagination behavior. For an agent to reliably use pagination or interpret results, additional details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 67% of parameters with descriptions (limit, offset). The tool description adds significant value for the 'kind' parameter by explaining each enum value (datasets, providers, users) and their meaning. This goes beyond the schema, which only lists the enum without descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets personalized recommendations for datasets, providers, or users based on user activity. It lists the three kinds and distinguishes from similar tools like 'discover' or 'search' by emphasizing personalization. However, it does not explicitly differentiate from siblings like 'discover_datasets' or 'get_related_datasets', leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool should be used for personalized recommendations and notes cold-start behavior for new users. It lists the recommendation kinds and authentication requirements. While it provides good contextual guidance, it does not explicitly state when not to use this tool or directly mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses multiple behavioral traits: it combines three signals, caches results in Redis, provides categories, and degrades gracefully when Neo4j is unavailable. It does not mention exact response structure or error handling, but the provided details are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, uses section headers for categories, and integrates a fallback note. It could be slightly tighter, but it is well-organized and avoids unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers signal sources, caching, categories, and degradation, which is good for a listing tool. However, it lacks information about the output format (no output schema exists), pagination, or total count, leaving some gaps for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no additional meaning to the parameters beyond the schema. Only the 'limit' parameter has a schema description; 'provider' and 'dataset' are not further explained, leaving the agent to infer from the path template. Schema coverage is 33% and the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves related datasets using a unified multi-signal scoring approach, combining pgvector, join suggestions, and Neo4j graph signals. It specifies categories of relatedness (joinable, similar) and mentions caching, providing a specific and distinctive purpose among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes the endpoint is public and mentions graceful degradation when Neo4j is unavailable, but it does not explicitly compare to sibling tools like get_related_v1_graph... or list_joinable, nor does it provide guidance on when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Clearly states it's public, no auth, and returns specific counts. No annotations, but description adequately discloses behavior for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, though the first sentence is slightly repetitive. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers what the tool does and what it returns. Lacks output schema but description provides enough for a simple GET.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter user_id is explained by the HTTP path but lacks details on format or validation. Schema coverage 0% so description partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Purpose is clear: get public profile with specific fields. However, no explicit differentiation from sibling user tools like get_user_activity or get_user_by_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage (public, no auth) but does not provide when-not-to-use or contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains internal details: parses frozen config, looks up parquet path, routes through execute_user_view_config, records request_event for view_count trigger, and clarifies that offset is a no-op for keyset-paginated queries. This goes beyond basic purpose to reveal side effects and caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a title line, then a paragraph on execution details, and a final paragraph on parameters. It is relatively efficient for the level of detail, though it could be slightly tighter. Each sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and no annotations, the description covers behavior, side effects, and parameter caveats reasonably well. However, it fails to describe the two required parameters, reducing completeness. The execution flow explanation is helpful but incomplete without full parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It only explains limit and offset (offset is a no-op, limit is honored), but completely omits description for the required parameters username and slug_with_version. This leaves a significant gap in understanding how to specify the view.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'GET /v1/views/@{username}/{slug_with_version} (public) — Get versioned view data — Resolve a versioned view and execute its query against parquet.' It is a specific verb-resource combination that distinguishes it from siblings like get_versioned_view_meta, which retrieves only metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that the endpoint is public and explains the behavior of limit and offset, but it does not explicitly guide when to use this tool versus alternatives. It lacks clear when-to-use or when-not-to-use directives, though the purpose is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the endpoint is public, the ordering, but omits pagination behavior (limit/offset) and any authentication details. Basic behavioral info is present, but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and concise. The mention of 'phase 4' is slightly irrelevant but not harmful. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should cover return format, pagination, and error cases. It provides ordering and usage context, but lacks pagination details and default behavior, making it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It does not explain any parameters: user_id, limit, offset. The only extra info is ordering, which relates to output, not inputs. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists a user's starred views (figures they have liked), is public, and ordered by most-recent like first. It also distinguishes from the mirror datasets endpoint, which helps differentiate it among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is used by the profile 'Starred' tab and mirrors the datasets endpoint, providing context for when to use this tool. However, it does not explicitly state when not to use it or provide alternatives beyond the mirror.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It indicates read-only GET behavior and reveals that the tool can list drafts for the owner. However, it lacks details on authentication requirements, error responses, or constraints like rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long. The first sentence summarizes the purpose, the second adds behavioral context, and the third explains the relation to a sibling endpoint. It is efficient but could be more structured with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list endpoint with two parameters and no output schema, the description provides core purpose and key behavioral nuance (owner-aware, drafts). However, it lacks details on output format, error cases, and when to prefer this over the public counterpart, which are moderately important for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning beyond parameter names. It names 'clerk_id' and 'slug' but provides no format, constraints, or examples. The names are self-explanatory but no additional semantic value is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists a view's published versions, specifying it is owner-aware and uses clerk_id/slug. It distinguishes itself from the public endpoint by noting the sandbox use case for fetching drafts. This is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for owner-aware listing, especially for sandbox/drafts) and references the public mirrored endpoint as an alternative. However, it does not explicitly state when not to use it or provide direct comparison with the sibling list_versions tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It discloses that it's a status change without pipeline trigger and admin-only. But lacks details on side effects, reversibility, error scenarios, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with endpoint and auth info. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core purpose and distinguishes from fulfill, but lacks parameter explanations and output details. Given no output schema, tool is simple but completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning to parameters; request_id and body (with expected_version, comment) are not explained. Schema coverage is 50% but property descriptions are missing in schema too, so description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it approves a dataset request, specifies it's a pure status change without pipeline trigger, and differentiates from the fulfill endpoint. The verb 'approve' is specific and the scope (admin-only) is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use (approve a request) and notes that actual dataset creation is done via fulfill. It mentions admin-only prerequisite. However, no explicit exclusions for other sibling tools like reject or in-progress.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return of full value list up to 1000 for low-cardinality columns, but doesn't specify behavior for high-cardinality columns, auth requirements (beyond 'public'), or error cases. With no annotations, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, first stating purpose, second adding a key behavioral detail. No wasted words, front-loaded with core information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description must cover return values. It does mention the value list, but omits details on what 'detailed statistics' include. Lacks pagination info. Still mostly complete for a straightforward retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameters (provider, dataset, column_name) are self-explanatory from names, but schema coverage is 0% and description adds no additional constraints or format details. Baseline 3 for adequate but minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves detailed statistics for a single column, with specific mention of returning value list for low-cardinality columns. Distinguishes from sibling tools like get_dataset_columns and get_dataset_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this over alternatives. Siblings exist for listing columns or dataset stats, but description doesn't compare or set usage context. Only implies public access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses it is a public GET request and returns metadata about schema, views, and query capabilities. However, it lacks details on error handling, authentication, or side effects. Since it is a read-only operation, the description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that efficiently convey the endpoint type, public status, what it returns, and how to use it. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description partially compensates by mentioning what metadata is returned (schema, views, query capabilities). However, it does not describe the response structure or format, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two string parameters (provider, dataset) with 0% description coverage. The tool description does not explain the meaning or format of these parameters beyond the URL path pattern. This is insufficient for an agent to know how to provide valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets dataset metadata without data, listing specific return values (schema, views, query capabilities). It distinguishes itself from sibling tools that fetch actual data (e.g., get_dataset_by_path) or specific components (e.g., get_dataset_columns), making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use this endpoint to understand dataset structure before fetching data, providing clear context. However, it does not explicitly state when not to use it or mention alternatives, though the usage hint is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It states the operation is public and read-only (no data returned), which is good. However, it does not mention error conditions, rate limits, or required permissions, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences totaling about 20 words. It includes the endpoint, a label, and a clear purpose. Every word adds value, and the most critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 string params, no output schema, no annotations), the description is largely complete. It explains what the tool returns and that it's public. However, it could benefit from clarifying possible errors or the relationship to the dataset-level meta tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 3 string parameters with no additional description (0% schema coverage). The tool description does not explain the parameters further. The parameter names are self-explanatory, but the schema provides only basic type information, so the description adds no semantic value beyond the names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieve metadata about a subdataset without the data. It specifies the HTTP method and endpoint, and mentions that it returns metadata including schema and available views. This distinguishes it from sibling tools like get_dataset_meta (for datasets) and get_subdataset_by_path (for data).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need metadata for a subdataset) but does not explicitly state when not to use it or suggest alternatives. It lacks guidance on distinguishing from closely related siblings like get_dataset_meta or get_subdataset_by_path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states the HTTP method (GET), public access, and output structure (top-5 plus unattributed). However, it omits error conditions, rate limits, or behavior when no data exists. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys endpoint, access, and output. No redundant words. Could be improved by structuring with bullet points, but current length is appropriate for a straightforward retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that lacks an output schema, the description adequately summarizes the return format (top-5 named + unattributed bucket). It does not cover edge cases or error handling, but the core functionality is well explained. Given the low schema coverage, the description partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 33% (only window described). The description mentions a time window but adds no detail beyond the schema's '7d | 30d | 90d'. The required parameters username and slug lack schema descriptions and are not explained in the description, leaving ambiguity about their format or meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves top callers for a view, is public, uses a time window, and specifies output format (top-5 named plus unattributed bucket). This verb+resource+detail distinguishes it from sibling tools like get_view_v1 which return the view itself rather than caller analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting top callers of a view over a window, which is distinct from sibling tools that retrieve view metadata, versions, or other analytics. However, it does not explicitly mention when to avoid or provide alternative tool names for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states the endpoint is public and returns paginated lightweight summaries, but lacks details on rate limits, authentication, response structure, or pagination behavior (e.g., default limit, maximum limit). The basic safety profile is communicated, but depth is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loading the core purpose and including a clear alternative guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description provides minimal context. It explains the high-level purpose and response nature but omits details on parameter usage, default behavior (e.g., sort order, page size), and error handling. The schema partially fills gaps, but the description itself is incomplete for a listing endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about parameters. Schema coverage is 60%—three of five parameters have descriptions in the schema (status, sort, provider), but limit and offset lack descriptions. The description does not compensate for these missing schema descriptions, leaving the agent with incomplete understanding of all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all datasets with pagination and returns lightweight summaries. It distinguishes from sibling endpoints like get_dataset_by_path or list_provider_datasets by explicitly directing users to individual dataset endpoints for full details, including schema_info and column_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use this tool (getting a high-level list) versus alternative tools (individual dataset endpoints for full details). However, it does not explicitly mention other listing alternatives like list_provider_datasets or list_user_datasets, which could be relevant for scoped queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses caching (5 minutes), refresh capability, and the analysis/suggestion feature. It could mention rate limits or authorization, but for a public GET endpoint, it's reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for endpoint, behavior, suggested actions, caching, and args. It is slightly verbose but each part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description partially covers return fields (suggested_action) but does not detail the full response structure, such as the list of files and directories. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds that url must be a valid HTTP/HTTPS URL and explains refresh, but also mentions a 'request' parameter not in schema, which may confuse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists and analyzes a web directory, parsing content and suggesting next actions. It distinguishes itself from sibling tools like discover_datasets by focusing on any web directory URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing directories and mentions caching behavior, but does not explicitly state when to avoid using this tool or compare to alternatives like discover_datasets or search_datasets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description effectively discloses key behavioral traits: soft-deleted comments appear as tombstones with body=null and deleted_at set. It also notes the endpoint is public and oldest-first ordering. Rate limits or authentication details are omitted, but the provided information is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences and one bullet point. The key purpose is front-loaded, and the tombstone detail is efficiently placed in a bullet. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list endpoint with 3 parameters and no output schema, the description covers purpose, ordering, and a special case (tombstones). However, it does not describe the response format (array of events) or explain pagination mechanics, leaving some gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions request_id implicitly via path and refers to pagination, but does not explicitly define limit, offset, or their semantics. This leaves the agent without clear understanding of parameter usage beyond what schema types provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the HTTP method, endpoint, and purpose: listing paginated thread events for a single request in oldest-first order. It distinguishes this tool from request-related siblings like get_request_detail or list_requests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving events for a request, but lacks explicit guidance on when to use this tool versus alternatives (e.g., add_comment, delete_comment). No when-not-to-use or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses key behaviors: public endpoint, no authentication required, paginated results ordered by recency, and empty list for users with no starred datasets. This covers most essential traits, though rate limits or error details are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with three sentences, front-loading the HTTP method and summary, and providing necessary details without redundancy. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (list with pagination), the description adequately covers authentication, ordering, empty results, and pagination. Missing details like error handling or response structure are not critical for this context, and no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not elaborate on input parameters beyond what the schema provides; schema has descriptions for limit and offset, and the description only mentions pagination in general. Since schema coverage is 67%, the description adds no extra semantic value, meeting the baseline for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as listing the datasets a user has starred, with ordering and empty result behavior explicitly stated. It distinguishes from sibling tools like list_user_starred_views by specifying 'datasets' and highlighting the public nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 list_user_datasets or list_user_starred_views. The description only states the purpose but does not include exclusions or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: auth, default draft status, slug uniqueness per creator, and rejection of reserved slugs. However, it omits details on conflict handling (e.g., if slug taken) and response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, 45 words, front-loaded with endpoint and auth. No redundant information. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description is adequate but incomplete: it explains creation behavior but does not mention return value, error responses, or idempotency. This is a gap for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (all 1 parameter body is described), so baseline is 3. The description adds context on slug constraints and draft default, but does not elaborate on parameters like dataset_provider or config. Minimal added value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool creates a user view via POST endpoint, with specific constraints (slugs unique per creator, default draft, reserved slugs rejection). Distinguishes from siblings like create_and_publish_view or get_view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies auth requirement (Bearer OPENDATA_API_KEY) and default draft behavior, but does not explicitly state when to use this tool vs alternatives like create_and_publish_view. Guidance is implied (draft vs publish) but lacks explicit when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that it's a PUT with OAuth, idempotent, and returns current count. This adds transparency, though side effects or error conditions are not covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no fluff. It front-loads the HTTP method and auth, then the action and key behavioral trait (idempotency).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers the action, auth, and idempotency. However, it does not specify what 'current count' refers to or mention any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not elaborate on the clerk_id parameter beyond mentioning its name. It fails to compensate for the schema's lack of explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Follow a user' and mentions the specific resource (clerk_id). It also notes idempotency, distinguishing it from sibling tools like unfollow_user or get_follow_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to follow a user) but provides no explicit guidance on when to use this tool vs alternatives like list_following or unfollow_user. Idempotency is mentioned but not contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden and discloses that the output format varies by dataset type (multi-source, aggregator, single-source) and that the endpoint is public. This adds behavioral context beyond just saying 'list sources'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a single introductory line followed by three bullet points for output cases. Every sentence provides unique value without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the return value variations for different dataset types and states the endpoint is public. It is sufficiently complete for a simple two-parameter retrieval tool, though error conditions or edge cases are not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (provider, dataset) with 0% description coverage. The tool description only mentions them in the HTTP path without any additional explanation, validation rules, or examples. It adds minimal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all source URLs for a dataset, distinguishing it from sibling tools like get_dataset_by_path or get_dataset_meta. It details three output formats for multi-source, aggregator, and single-source datasets, making the purpose precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to retrieve dataset sources, but it does not specify when to prefer it over other dataset-related tools or when not to use it. No explicit when/when-not guidance or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It explicitly states the endpoint is public and describes the return types and priority behavior. This adequately discloses read-only nature and key behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the purpose and then detailing the return types and priority. It uses bullet points efficiently and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters and no output schema, the description covers the main points: what views are returned, the priority rule, and the public nature. It lacks details like view structure or pagination, but these are likely minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds only minimal meaning: it implies the parameters identify the dataset. However, it does not elaborate on what 'provider' or 'dataset' represent or any constraints, relying on common understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available views for a specific dataset, distinguishing it from siblings like get_dataset_view (single view) or list_views (all views). It explains the two types of views returned and the priority rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to get all views for a dataset) but does not explicitly contrast with alternatives such as get_dataset_view or list_views. No 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: paginated results, ordering by creation date descending, empty list for no datasets, and that the endpoint is public and unauthenticated. Although no annotations exist, these details provide good transparency for a read-only GET endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with four sentences, front-loading the HTTP method, path, and purpose. Every sentence adds value without unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not detail the structure of returned dataset objects. It covers the essential behavior (paginated, ordered, empty list, public) but omits what fields are in each dataset, which would aid an agent in interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (limit and offset have descriptions). The description does not add additional parameter meaning beyond the schema; it only implies pagination via the word 'paginated'. The required user_id is shown in the path but not elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists datasets owned by a specific user, with the specific verb 'List' and resource 'user's datasets'. It distinguishes from sibling tools like 'list_datasets' which lists all datasets without user filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the endpoint is public and requires no authentication, but does not provide explicit guidance on when to use this versus other dataset listing endpoints (e.g., list_datasets_v1_datasets_get). Usage context is implied but not delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes it's a GET request (public, streaming CSV) and lists current limitations (narrow v1). However, it does not explicitly confirm it's read-only or idempotent. With no annotations, the description partially addresses behavioral traits but lacks full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences plus a line, with the primary purpose front-loaded. Every sentence adds value, including the limitation note and reference to preview endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema or annotations, the description sufficiently explains the endpoint, its purpose, and constraints. It could mention response format or error handling but is adequate for a straightforward download tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 60% coverage (3 of 5 params have descriptions). The description adds no extra parameter meaning beyond the schema. It does not compensate for missing descriptions of provider and dataset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads a composed join as CSV, specifying HTTP method, public availability, and limitations (single join, no computed columns, no filters). It distinguishes itself from sibling tools like compose_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that this tool mirrors the shape of POST /compose/preview, enabling users to preview then download without tweaking parameters. It implies the preview endpoint is an alternative but does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the use of DuckDB, loading parquet files, and restriction to SELECT. Auth is mentioned. Could include more on error handling or result structure, but covers key traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short and front-loaded. However, it contains redundancy (first sentence repeats the second). Generally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and description does not explain return values or error handling. The response_format parameter hints at output types but lacks elaboration. Moderate completeness for a query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds context for the 'sql' parameter (table notation) but no additional meaning for params, timeout_ms, row_limit, response_format, or view.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb (Execute SQL query) and resource (across multiple datasets). It specifies table notation and only SELECT statements, distinguishing it from sibling tools like sql_query_v1_datasets__provider___dataset__query_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on table notation and allowed statements (SELECT only). However, it does not explicitly compare to alternative tools or mention when not to use it, missing a full guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns events in reverse chronological order and lists event types (enrichment, ingestion, schema changes). This adds behavioral context beyond the schema. However, it does not mention pagination, rate limits, or any potential side effects, though being a read-only GET makes that less critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences—and front-loads the endpoint, purpose, and event types. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple activity fetch tool with no output schema, the description covers the key aspects: what events are returned and their order. However, it omits how the 'limit' parameter affects results (e.g., default, max). Given the absence of output schema, a bit more detail on the response structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 'limit' has a description). The description does not add meaning for the 'provider' or 'dataset' parameters beyond what the schema provides. Since coverage is low, the description should compensate but does not. Baseline score of 3 is appropriate as the schema already defines types and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get recent activity events for a dataset.' It specifies the HTTP method, path, and that it returns system events (enrichment, ingestion, schema changes) in reverse chronological order. This is a specific verb-resource pair that distinguishes it from sibling dataset tools like get_dataset_meta or get_dataset_sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Used for the activity feed on dataset pages,' which gives a clear usage scenario. However, it does not mention when not to use this tool or provide alternatives among the many sibling tools. No exclusion criteria or context for differentiation is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses pagination mechanism (cursor, next_cursor) and states it's public. It mentions efficiency of keyset pagination. However, it does not discuss error handling, rate limits, or response structure beyond data rows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise: four sentences, front-loaded with purpose, followed by essential pagination details. No redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET data retrieval tool with 18 params and no output schema, the description covers retrieval and pagination adequately. However, it lacks details about response structure and does not differentiate from sibling tools, missing some completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 72%, so baseline is 3. Description adds value by explaining pagination behavior for cursor, but other parameters are not enhanced. The cursor description in schema is already comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get subdataset with inline data') and resource (subdataset by path). It distinguishes from siblings by specifying it returns data rows, not just metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides pagination guidance but does not explicitly state when to use this tool vs alternatives like get_subdataset_meta (metadata only) or get_dataset_by_path. No when-not or explicit sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states public access and newest-first ordering, but lacks explanation of pagination via limit/offset or error handling (e.g., if clerk_id is invalid).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with endpoint and verb, no redundancies. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list endpoint with no annotations or output schema, the description covers purpose, ordering, and public access. Missing pagination details, but still fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description adds meaning for clerk_id by stating 'user's followers' and 'following `clerk_id`', but does not explain limit and offset parameters beyond schema constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'followers', specifies the user by clerk_id, and mentions ordering (newest first). It differentiates from sibling like 'list_following' which lists who the user follows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use this tool (to get followers) vs alternatives (list_following for following), but no explicit when-not or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses search behavior: uses PostgreSQL FTS, explains search modes (keyword, semantic, hybrid), query syntax, and sort options. With no annotations, the description carries the burden well, though response format is not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections for search modes, query syntax, sort options. Front-loaded with purpose. Minor issue: appears cut off at 'populari…', but otherwise concise for the detail provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers search behavior and parameter details well, but lacks description of pagination behavior (limit/offset), default status, response format, or authentication requirements. Adequate but with gaps for a 10-param tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds meaning beyond schema by explaining search modes, query syntax, sort options with examples, and default for time_range. Adds value to parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches datasets using full-text search across names, descriptions, provider names, and column names. Distinguishes from siblings like suggest_datasets_v1_search_suggest_get by specifying full search capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context about search modes and sort options, but no explicit guidance on when to use this tool over alternatives (e.g., suggest_datasets, list_datasets). Usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: the preflight cardinality check logic, including thresholds, refusal conditions, warnings, and row capping. This provides comprehensive transparency about what the tool does beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, starting with the HTTP method and summary, then explaining the join constraint, and finally detailing preflight behavior. It is well-structured without unnecessary fluff, though slightly more precision could improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested parameters, no output schema), the description covers purpose, usage, and behavioral transparency but omits return format, error specifics beyond cardinality, and detailed parameter semantics. It is partially complete but leaves gaps for an AI agent to fully understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the individual parameters (e.g., provider, dataset, body fields like key, source_column, join_column, select). With only 33% schema description coverage, the description should compensate but only provides high-level context about single joins and cardinality, lacking parameter-level details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Preview a compose/join without saving it' and 'Execute a single-join preview', specifying the HTTP method and auth. It distinguishes from saving by explicitly noting 'without saving', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using one join spec per request to avoid cardinality risk, implying users should vet each join in isolation. It provides clear guidance on when to use the tool but does not name sibling alternatives like compose_download_csv, so it's slightly below perfect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is public, uses GET, exports only configuration (not data), and returns dataset.yaml format. Since no annotations are provided, these details are essential and well-covered. It does not mention rate limits or error cases, but for a simple read operation, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the HTTP method and path, then explaining output and use cases. It is front-loaded with purpose and uses bullet points for readability. It could be slightly more concise, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main aspects: what it does, the output format, use cases, and a note on what it does not export. Without an output schema or annotations, it provides enough context for an agent to understand the tool's function and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (provider, dataset) with no descriptions, and the tool description shows them in the URL path but does not add explicit meaning or constraints. Given zero schema coverage, the description partially compensates by indicating their role, but could provide more context (e.g., expected format or examples).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: export dataset configuration as YAML. It identifies the specific resource (dataset configuration) and distinguishes itself from sibling tools like get_dataset_by_path or get_dataset_meta by focusing on YAML export for re-import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool, listing use cases like backup, migration, and sharing. It also mentions where the output can be re-imported (sync command or POST /datasets). However, it doesn't explicitly state when not to use it or compare with alternatives, which would raise it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: pagination, ordering by last update, empty list for no collections, exclusion of private collections, and public access without authentication. This provides thorough transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct with 5 sentences, front-loading the key purpose and structure. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description covers all necessary context: purpose, behavior, pagination, and auth. No output schema is present, but the description adequately describes the response nature (paginated list).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% with descriptions for limit and offset. The description adds little beyond the schema, only implying user_id identifies the creator. Baseline score is appropriate as schema already documents most parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists public collections for a user, using a specific verb and resource. It distinguishes itself by focusing on 'public collections' but does not explicitly differentiate from sibling tools like list_user_datasets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to list public collections) and mentions that private collections are not included, hinting at when not to use it. However, it lacks explicit guidance on alternatives or when-not scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers key behaviors: ordering by like_count descending, returning empty list for users without figures, and public access requiring no auth. It lacks details on pagination limits or side effects, but for a read-only GET, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the method and path, and provides essential details (definition, ordering, empty behavior, public status) in a compact structure with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided. The description indicates a list of figures is returned but does not specify the structure of each figure (e.g., fields). For a list endpoint, this is adequate but could be improved by mentioning the figure object schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers limit and offset with descriptions (67% coverage). The description adds that user_id identifies the user whose figures are listed and that results are ordered, but does not elaborate on parameter formats or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists public figures for a specific user, defines what a figure is (views with viz_spec), and distinguishes from sibling tools like list_figures (all figures) and get_figure (single figure).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the endpoint is public and does not require authentication, and mentions ordering and empty list behavior. It provides context for when to use it (list figures per user) but does not explicitly contrast with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses soft-delete behavior (sets deleted_at) and authorization requirements. In absence of annotations, this is good but could mention visibility changes or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence containing all essential info: method, path, auth, action, behavior, restrictions. No superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple delete operation with two required params and no output schema. Could mention response format or error cases, but core info is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; description only implies parameters via path syntax. Adds minimal meaning beyond the schema, but the path hints at their roles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the HTTP method, path, and that it performs a soft-delete of a comment, distinguishing it from siblings like add_comment and edit_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies 'Author or admin only,' indicating required role. While it doesn't explicitly list when not to use, the context of siblings provides implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description covers read-only nature (GET), public access, and sort fallback behavior. Adds value beyond schema by explaining public access and sort details. Does not address error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably concise with a clear header line, one explanatory sentence, and formatted sort options. Front-loaded with purpose. Could be slightly more structured but adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return as metadata and paginated dataset list, but lacks details on error responses, default pagination limits, or output structure. No output schema exists, so more detail would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 75% of parameters with descriptions. Description adds value by explaining sort options and fallback behavior for 'queries' sort, which is not fully captured in schema parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get', resource 'category with datasets', and specifies it's paginated. It distinguishes from sibling 'list_all_categories_v1_categories_get' by focusing on a specific category's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly notes no authentication required and public endpoint. Describes sort options and default behavior. However, does not explicitly contrast with sibling tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral transparency. It accurately conveys the read-only nature and scope, but omits details such as rate limits, caching policy, or data freshness, which would benefit an agent in a high-stakes context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the endpoint and public tag, then concisely states the purpose and included statistics. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and zero parameters, the description sufficiently covers what the tool does and what data it returns (providers, datasets, rows). It does not detail the response structure, but the examples give a reasonable expectation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description cannot add parameter semantics beyond the schema. Baseline score of 4 is appropriate as no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves platform-wide aggregate statistics, including specific examples (total providers, datasets, rows). It uses a distinct verb and resource, and is easily distinguishable from sibling tools that focus on provider- or dataset-specific stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description marks the endpoint as public ('(public)'), providing context on accessibility. However, it does not explicitly state when to use this tool versus alternatives like get_provider_stats or get_dataset_stats, which are present among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses GET method, public access, auth not required, sort orders, and result fields. Minor omission: no mention of pagination details beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Five concise sentences, each adding distinct information: route, purpose, definition, results, sort options, auth status. No redundancy; front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Defines figures, lists output fields, explains sorts, and notes public access. Lacks default sort order (optional param) but schema covers optionality. Good for a list tool with schema but no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% with descriptions. Description adds value by detailing sort order logic (like_count DESC, created_at DESC) beyond schema's brief descriptions. Limit and offset not elaborated but schema suffices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists public figures for the discovery feed, defines what a figure is, and mentions included fields. It distinguishes from siblings like list_user_figures by specifying 'public' and 'discovery feed'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for the discovery feed and notes no authentication, but does not explicitly tell when to use this versus alternatives (e.g., list_user_figures). No when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description details important behaviors: auth (public endpoint), error handling (returns empty list, not 503 when Neo4j is down), and filtering logic (low-signal joins filtered out, fallback to keep UI functional). This is comprehensive for a non-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and front-loaded with the purpose, followed by key behavioral details. No redundant sentences; every line adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the filtering and fallback behavior but lacks detail on the structure of the returned join targets (e.g., what fields each target contains). Without an output schema, this leaves the agent without enough context to process the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no descriptions (0% coverage). The description only provides the URL template, implying provider and dataset are identifiers, but offers no examples, constraints, or expected formats. It adds minimal meaning beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List previewable joinable datasets' and specifies its context for the compose/preview UI. It distinguishes itself from siblings like compose_preview by providing the data that UI uses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing join targets for the compose/preview UI, and mentions filters and fallback behavior. However, it does not explicitly contrast with alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the endpoint is public, only returns ready datasets, and describes the response format (suggestions with name, slug, etc.). No mention of rate limits or failure modes, but adequate for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single-line summary, then details, response format, and an example. Every sentence adds value without unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description defines the response structure (suggestions, query). It covers the core behavior and includes an example. Could mention that only 'ready' datasets are returned, which is done. Missing edge cases like empty result set, but acceptable for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by explaining the 'q' parameter as a prefix for autocomplete and giving an example (GET /v1/search/suggest?q=con). It also notes the limit parameter indirectly through the max of 10 in schema, but the description's response section adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get autocomplete suggestions for search typeahead.' It specifies the resource (dataset names starting with prefix) and the condition (only 'ready' datasets), distinguishing it from other search tools like search_datasets_v1_search_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage 'for use in search input autocomplete' but does not explicitly mention when to use this vs alternatives, nor provides when-not-to-use or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description effectively discloses that this is a read-only GET operation, requires matching clerk_id for auth, and returns a specific response format. It is transparent about the behavior, though it could mention potential error conditions or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the purpose and method, followed by auth and return details. Every sentence adds value, and it is well-structured without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the endpoint, auth requirement, return format with possible reasons, and practical context (save dialog). Given it is a simple check with no output schema, it provides sufficient information for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 0%, the description adds meaning: it indicates that 'user_id' is the clerk_id that must match the caller, and 'slug' is the slug being checked. However, it does not specify constraints like slug format or allowed characters, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check whether a slug is available for the current user'. It specifies the HTTP method (GET), endpoint, and distinguishes itself as a slug-availability probe used in save dialogs, which is distinct from any sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool (for checking slug availability in the save dialog) and includes an auth requirement (clerk_id must match caller). However, it does not explicitly mention when not to use it or suggest alternative tools, though no direct alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully covers behavioral traits: public vs private access, 404 for non-owners, optional auth, and is_liked_by_me reflecting user status. It does not mention rate limits or side effects, but for a read-only tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for return details, visibility, and authentication. It is concise and front-loaded with the core purpose, with every sentence adding value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description completely covers return fields, visibility rules, and auth behavior. No obvious gaps exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter figure_id has no description in the schema (0% coverage). The description says 'by UUID' implying a format, but no detailed format or constraints are given. It adds minimal value beyond the parameter name and type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a figure by its UUID.' The verb 'get' and resource 'figure' are specific, and the use of UUID distinguishes it from list endpoints like list_figures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains visibility rules and authentication needs, providing clear context on when the tool returns data and for whom. However, it does not explicitly contrast with siblings like list_figures or create_draft_figure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the transparency burden. It clearly states the ordering (most recent first), that liked_at is included in each item, the empty list edge case, and that authentication is not required. This provides a complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences covering purpose, ordering, edge case, and authentication. It is front-loaded with the key information and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the return value (liked_at, ordering, empty list) and the public nature. Given no output schema, this is sufficient for a list endpoint. It could briefly mention pagination behavior (e.g., how limit/offset work together), but the omission is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no information about the parameters beyond what the input schema provides. The schema has descriptions for limit and offset (67% coverage), but user_id is missing a description, and the description does not clarify its format or usage. This fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists figures liked by a user, using a specific verb and resource. It distinguishes itself from other user-related list endpoints (e.g., list_user_datasets, list_user_figures) by focusing on liked figures, and the naming convention reinforces this.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the endpoint is public and does not require authentication, which provides context. It also explains the ordering and empty list behavior. However, it does not explicitly contrast with similar sibling tools like list_figures_v1_figures_get (all figures) or list_user_figures_v1_users__user_id__figures_get (figures created by user), which would help an agent decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly states the method (GET), that it's public, and what the response contains (name, description, aliases, default sorting). This is sufficient for a read-only list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first the endpoint and purpose, second the return content. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description fully covers the tool's purpose and return information. It includes the endpoint, public nature, and a summary of returned fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema coverage is 100% by default. The description adds no parameter details, which is acceptable as there are none. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available predefined views, using the verb 'List' and specifying the resource as 'all available predefined views'. It distinguishes from siblings like get_view (single view) and user-specific view tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving system views but does not explicitly state when to use this tool versus alternatives (e.g., for user-specific views or single view detail). No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: required auth, input constraints, URL validation and metadata scrape, no auto-discovery, and the hint mechanism. No contradictions; it covers key behaviors well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise for the amount of detail, well-structured with short paragraphs. It starts with the endpoint and auth, then explains intake mode and specific behaviors without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers all major aspects: required inputs, optional fields, side effects (metadata scrape, hint search). It could mention response/error codes, but overall complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by detailing the behavior for URL fields (validation, metadata scrape), the required length of user_description, and the hint search. This goes beyond schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it submits a new dataset request to the review queue, with a specific endpoint and auth method. It also distinguishes from siblings (e.g., approve, reject, fulfill) by focusing on submission and manual fulfillment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by explaining the required user_description, optional URL fields, and the hint search for description-only submissions. It does not explicitly list when not to use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers key behavioral traits: config edits go to draft_config for published views, slug changes only on drafts. Auth method is mentioned. It does not elaborate on error handling or return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. Front-loads endpoint, auth, then behavior. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and low schema coverage (33%) mean the description should compensate. It explains some behaviors but not return values, error cases, or full parameter constraints. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds context beyond the schema: slug changes restricted to drafts, config edits go to draft_config. The schema details the body properties well, but the description gives behavioral rules for parameters, especially config and slug.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a user view, distinguishing between published and draft behavior with specific rules for config edits and slug changes. This differentiates it from sibling tools like create_view, publish_view, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (to update a view) and provides constraints (slug changes only on drafts), but does not explicitly contrast with alternatives or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that authentication is required, uses hybrid search with relevance sorting, has a smaller default limit (5), and has no pagination. It does not mention rate limits or potential side effects, but for a read-only discovery tool, these are less critical. Overall, it provides adequate behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It opens with the general purpose, then provides a bulleted list of key differences. Every sentence adds value, and there is no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description gives a good overview of what is returned (enriched metadata including columns, canonical questions, methodology, quality scores). It does not detail the exact response structure, but for a discovery tool, this level of completeness is sufficient. The lack of output schema is compensated by the description's summary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters have descriptions in the input schema (100% coverage), so the schema already defines the parameters. The description adds overall context (e.g., default limit of 5) but does not elaborate on individual parameter semantics beyond what the schema provides. Thus, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Discover datasets optimized for LLM agents' and specifies the enriched metadata returned (columns, canonical questions, methodology, quality scores). It also explicitly distinguishes itself from the sibling tool search_datasets_v1_search_get, making its unique role evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives, including a bulleted list of key differences from /search, notes on authentication requirements, and a directive to 'use /search for browsing' when pagination is needed. This gives clear context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description adequately discloses behavior: it is a GET endpoint requiring authentication, returns flags. It does not mention rate limits or side effects, but for a read-only operation, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is succinct: two sentences plus an authentication note. No redundant words, front-loaded with key info. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without output schema, description explains it returns flags about engagement. This is complete for a simple tool. Could mention flag format, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 params, 100% coverage). Per guidelines, baseline is 4. Description adds no param info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get user activation signals for SSR branching' and explains it returns flags about user engagement with the platform. It distinguishes itself from siblings like get_feed or get_recommendations by specifying SSR use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it's 'Used by SSR to decide which components to render' and specifies authentication requirements (Clerk). It does not explicitly state alternatives or when not to use, but the context is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully compensates by disclosing that only categories with at least one dataset are returned, the ordering is by dataset count descending, and categories are derived from LLM enrichment. No annotations exist to contradict, so score reflects 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each providing unique information: endpoint and public status, core function, ordering and inclusion criteria, and data source. It is front-loaded and free of redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description clearly explains what is returned (categories with counts, ordered). It mentions derivation but does not detail pagination or absolute count limits, which are acceptable for a simple list endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage, so the description need not add parameter details. However, it adds value by explaining the output ordering and data derivation, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all categories with dataset counts, ordered by popularity, and explicitly identifies the HTTP method and endpoint. It distinguishes itself from other category tools like get_category_detail_v1_categories__slug__get by focusing on a list endpoint vs a detail endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that it is a public endpoint requiring no authentication, which implies general availability. However, it does not explicitly state when to use this tool over alternatives (e.g., get_category_detail) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description covers key behaviors: it's a GET endpoint, public, no auth, paginated, ordered by published_at descending. It does not mention rate limits or edge cases, but for a simple read-only tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loads the endpoint and purpose, and avoids redundancy. Every sentence is informative and necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While there is no output schema, the description indicates a paginated list of changelog entries with ordering. It is complete enough for a simple list tool, though it could optionally detail the entry structure. Among many siblings, this tool is unique, so contextual completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers parameters fully (100% coverage). The description adds context beyond the schema by stating the ordering (by published_at descending), which helps the agent understand how pagination works. This adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists changelog entries (recent platform announcements) with pagination and ordering. It explicitly notes it's public and requires no authentication, distinguishing it from other list-related sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use (to see recent platform announcements) and that it's public. However, it does not explicitly state alternatives or when not to use, though it's sufficiently clear for a straightforward list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses auth method, public nature, rate-limiting, audit logging, conditional queuing, and worker wake. It is transparent about what happens on success and under rate-limiting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: first line gives core info (method, path, auth, purpose), then two sentences cover rate-limiting and effects. Every sentence adds value and is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, auth, rate-limiting, and effects, but lacks information about the response/return value. Given no output schema, this is a minor gap; overall it is fairly complete for a simple POST endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explicitly define the 'provider' and 'dataset' parameters; it only uses them in the path. Schema coverage is 0%, so some explanation would be beneficial, though the names are somewhat clear from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for requesting enrichment of a dataset, specifying the HTTP method and path. It distinguishes itself from sibling tools like submit_request by being a public enrichment-specific endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that it is public, authenticated, and rate-limited (one request per user per dataset per hour). It describes the effect (audit logging, queuing, worker wake) and compares to the admin retry endpoint, but does not explicitly mention when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description fully discloses behavioral traits: caps on inline_data (1000 rows/512KB, truncation with truncated flag), per-user soft cap (100 drafts per origin, 429 error), idempotency within 60 seconds using SHA256, and creates a private standalone figure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a header and bullet points for behavior, front-loading the purpose. It is not overly verbose, but could be slightly more concise by removing the HTTP method and auth line since that is structural.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 nested parameters, no output schema), the description covers key behaviors like creation, limits, and idempotency. It lacks details on the response format (e.g., draft id) and does not explain all parameters in depth, but overall it is sufficiently complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions for individual properties, but the tool description adds context for inline_data (capping and truncation) and origin (per-origin cap). However, other parameters like viz_spec and transform_config lack explanation, though they are somewhat self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool creates a snapshot draft figure on the authenticated user's profile, with a specific verb ('Create') and resource ('draft figure'), and distinguishes from siblings by specifying it's for external clients with rendered data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for when to use this tool (external clients with rendered data wanting to hand off to the figure editor) but does not explicitly state when not to use it or mention alternatives. However, no direct sibling create tool exists, so this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the HTTP method (GET), public access, use of sampling for efficiency on large datasets, and view-related behavior (computed/joined columns). These are useful behavioral traits beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: it starts with the purpose, lists returns, mentions sampling, and explains view behavior in three short paragraphs. Every sentence adds value, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description lists all key return fields (column names, types, distinct counts, value distributions, row count). It also covers edge cases (view active, default_view, sampling) and is complete for its simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), but the description adds meaning for the view parameter, explaining its purpose and special value 'all'. The provider and dataset parameters are implied by the tool name and path, so the description provides sufficient context for an AI agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get Dataset Columns — Get column metadata and statistics for a dataset.' It specifically lists the returned data: column names, types, distinct counts, value distributions, and row count. This clearly differentiates from sibling tools like get_dataset_column_detail, which returns details for a single column.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the view parameter and the behavior with active views, including using default_view or 'all' for raw columns. It provides clear context but does not explicitly state when not to use the tool or contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses public access, no auth, pagination, ordering, empty list behavior, and exclusion of private views. It does not mention rate limits or pagination details but covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences, each serving a purpose: identify endpoint and scope, ordering/pagination, empty case, and auth/public nature. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters, no output schema, and no annotations, the description covers purpose, scope, ordering, pagination, empty result, and auth requirements. It is sufficiently complete for a list endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%. The description adds context beyond schema by explaining pagination (ordered by last update time) and empty list behavior. It does not describe the user_id parameter but the tool name implies user context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists a user's public views, specifying the endpoint, scope (public), and ordering by last update time. It distinguishes from sibling tools like list_published_views_by_username and list_views by focusing on user-specific public views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to list a user's public views) and notes that it is public and does not require authentication. It implies not to use for private views but does not explicitly compare with sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses authentication requirement (Clerk), pagination mechanism (cursor), and behavior of feed types (e.g., 'people' returns empty, 'merged' coerced). This exceeds expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for feed types and pagination, and it is front-loaded. It is slightly lengthy but each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description adequately explains the return value (dataset updates, paginated with next_cursor) and covers authentication, feed behaviors, and pagination. It is complete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions. The description adds extra context beyond schema, such as the coercion behavior of 'merged' type and that 'people' returns empty, enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as retrieving a user activity feed with updates from followed providers, listing feed types and their current status. It distinguishes itself from similar sibling tools like get_dataset_activity and get_user_activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the feed, including limitations (e.g., 'people' feed not available) and pagination. It provides context but does not explicitly contrast with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the HTTP method (DELETE), authentication requirement (Bearer OPENDATA_API_KEY), idempotency, and behavior on missing edge. Lacks mention of potential errors or rate limits, but adequate for a simple operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a single line with method, auth, action, and idempotent note. Every word adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides all necessary context: what it does, how to call it, and behavioral guarantees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (clerk_id) is explained: 'Unfollow clerk_id.' Schema coverage is 0%, so the description fully compensates by clarifying the parameter's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Unfollow a user' and specifies the clerk_id parameter. Among siblings (notably follow_user), it distinctly identifies this as the unfollow operation, with idempotent behavior noted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for unfollowing by its name and action, but does not explicitly contrast with the follow tool or provide when-not-to-use scenarios. Still, the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skeego/opendata-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server