Skip to main content
Glama

hithereiamaliff-mcp-datagovmy

Server Details

This MCP server provides seamless access to Malaysia's government open data, including datasets, w…

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
hithereiamaliff/mcp-datagovmy
GitHub Stars
2
Server Listing
Malaysia Open Data MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

31 tools
datagovmy_filter_datasets_catalogueCInspect

Filter datasets by various criteria such as frequency, geography, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-100)
offsetNoNumber of records to skip for pagination
frequencyNoFilter by data frequency (e.g., DAILY, MONTHLY, ANNUAL)
geographyNoFilter by geographic coverage
yearRangeNoFilter by year range [start, end]
dataSourceNoFilter by data source organization
demographyNoFilter by demographic coverage
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 but discloses minimal behavioral information. It does not describe the return format, what constitutes a 'dataset' in this context, pagination behavior beyond the parameter schema, or any rate limiting considerations.

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

Conciseness3/5

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

The single-sentence structure is appropriately brief, but the use of 'etc.' wastes space without conveying useful information. It is front-loaded with the verb but could replace 'etc.' with explicit parameter categories for better precision.

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

Completeness2/5

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

Given 7 parameters, no output schema, and no annotations, the description is insufficiently complete. It omits critical context such as what data structure is returned, how filtering differs from searching in this API, and whether results are paginated by default.

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

Parameters3/5

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

Schema description coverage is 100%, establishing a baseline of 3. The description mentions 'frequency' and 'geography' but adds no semantic context (e.g., explaining valid frequency values or geography formats) beyond what the schema already provides.

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

Purpose3/5

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

The description states the tool filters datasets and mentions specific criteria (frequency, geography), but the 'etc.' qualifier introduces vagueness. It fails to differentiate from sibling tools like 'search_datasets_catalogue' or 'list_datasets_catalogue', leaving the scope ambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this filtering tool versus the 'search' or 'list' variants for datasets. There are no stated prerequisites, exclusions, or workflow recommendations.

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

datagovmy_find_dashboard_for_parquetBInspect

Find the corresponding dashboard for a Parquet file

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the parquet file
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 of behavioral disclosure but offers none. It does not confirm the read-only nature of the operation, describe the return format (dashboard ID, URL, or full metadata), mention error conditions (e.g., invalid Parquet URL), or indicate if the tool requires specific API access.

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

Conciseness5/5

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

The description is a single, efficient sentence of nine words with no redundancy. It is front-loaded with the action ('Find') and immediately contextualized with the resource and target ('dashboard for a Parquet file').

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

Completeness3/5

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

For a single-parameter lookup tool, the description captures the core transformation (Parquet URL → Dashboard). However, given the absence of an output schema and annotations, the description should ideally characterize the return value (e.g., dashboard metadata vs. just an ID) to be fully complete.

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

Parameters3/5

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

The input schema has 100% description coverage for the 'url' parameter ('URL of the parquet file'). The description implies the need for a Parquet file input but does not add semantic details beyond the schema, such as expected URL format or domain restrictions. Baseline 3 is appropriate given full schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'Find' and the resource 'dashboard', specifying the unique scope of mapping a Parquet file to its visualization. It distinguishes from siblings like `datagovmy_get_parquet_info` (which gets file metadata) by focusing on the dashboard relationship, though 'corresponding' could be slightly more precise.

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

Usage Guidelines2/5

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

The description provides no explicit when-to-use guidance, prerequisites, or alternative tools. While the single parameter implies usage (when you have a Parquet URL), it does not clarify when to prefer this over `datagovmy_search_dashboards` or how it relates to the dataset catalogue tools.

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

datagovmy_find_nearest_transit_stopsAInspect

Find the nearest transit stops to a given location. IMPORTANT: Use this tool directly for queries like "Where is the nearest bus stop to my location?" or "How do I get to the nearest Rapid Penang bus stop?"

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of stops to return (default: 5)
categoryNoCategory for Prasarana data (required only for prasarana provider)
latitudeYesLatitude of the user's location
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana", or common names like "rapid penang")
longitudeYesLongitude of the user's location
max_distanceNoMaximum distance in kilometers (default: 5)
Behavior2/5

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

No annotations are provided, placing full disclosure burden on the description. The text fails to disclose critical behavioral traits: return value structure (what fields are returned for each stop?), distance calculation method, rate limiting, or error conditions (e.g., behavior when no stops are within max_distance). It only repeats the tool name's implication of proximity search.

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

Conciseness4/5

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

Two-sentence structure efficiently front-loads the core purpose. The 'IMPORTANT' clause effectively highlights usage intent. Minor verbosity in the full quoted user questions slightly reduces score, but overall no wasted words or redundant phrases.

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

Completeness2/5

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

With no output schema provided and zero annotations, the description must compensate by describing return values. It completely omits what the tool returns (stop IDs, names, distances, coordinates?), leaving agents blind to result structure. For a 6-parameter geospatial tool, this is a significant completeness gap.

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

Parameters3/5

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

Input schema has 100% description coverage (all 6 parameters documented), establishing a baseline of 3. The description mentions 'Rapid Penang' as an example provider value, but this merely echoes the schema's existing example ('rapid penang'), adding no net semantic value regarding parameter usage, validation rules, or interdependencies (e.g., category being required only for prasarana).

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

Purpose5/5

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

The description clearly states the specific action ('Find the nearest transit stops') and target resource ('to a given location'), using precise verbs and scope. It effectively distinguishes this proximity-based tool from siblings like datagovmy_get_transit_stops or datagovmy_search_transit_stops_by_location through the 'nearest' qualifier.

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

Usage Guidelines4/5

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

Provides explicit query patterns ('Where is the nearest bus stop...', 'How do I get to the nearest Rapid Penang bus stop?') with an 'IMPORTANT' flag to guide selection. However, it lacks explicit negative guidance (when NOT to use) or direct comparison to the sibling search_transit_stops_by_location tool which might overlap in functionality.

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

datagovmy_get_dashboard_chartsCInspect

Get chart configurations for a specific dashboard

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the dashboard to retrieve charts for
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 of behavioral disclosure. It fails to mention whether this is a safe read operation, what happens if the dashboard name is not found, rate limits, or the structure of the returned chart configurations.

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

Conciseness4/5

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

The description is a single 8-word sentence that is front-loaded with the action verb and contains no redundant or filler text. It is appropriately sized for the tool's simplicity, though slightly more detail could improve utility without sacrificing conciseness.

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

Completeness3/5

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

Given the simple single-parameter input with complete schema coverage, the description adequately covers the input requirements. However, with no output schema and no annotations, the description lacks necessary context about the return value (what constitutes a 'chart configuration') and error behaviors.

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

Parameters3/5

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

With 100% schema description coverage ('Name of the dashboard to retrieve charts for'), the schema fully documents the single parameter. The description adds minimal semantic value beyond confirming the dashboard context, meeting the baseline for high-coverage schemas but providing no additional format constraints or examples.

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

Purpose4/5

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

The description 'Get chart configurations for a specific dashboard' provides a clear verb (Get) and resource (chart configurations) with scope (for a specific dashboard). However, it does not explicitly differentiate from the sibling tool 'datagovmy_get_dashboard_details', leaving ambiguity about whether charts are included in details or separate.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'datagovmy_get_dashboard_details' or 'datagovmy_list_dashboards'. There are no stated prerequisites, exclusions, or workflows to help the agent select this tool appropriately.

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

datagovmy_get_dashboard_detailsBInspect

Get comprehensive metadata for a dashboard by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the dashboard to retrieve metadata for
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 of behavioral disclosure. While 'Get' implies a read-only operation, the description lacks details on what 'comprehensive metadata' includes, error handling for invalid names, rate limits, or response format. It provides minimal behavioral context beyond the basic 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/5

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

The description is a single, efficient sentence with no redundant words. It front-loads the action ('Get') and immediately specifies the scope, making it easy to scan and understand despite its brevity.

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

Completeness3/5

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

Given the tool's simplicity (single string parameter) and lack of output schema, the description provides the minimum viable context. However, it leaves gaps regarding the structure or content of the returned metadata, which would be helpful since no output schema exists to document the return values.

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

Parameters3/5

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

The input schema has 100% description coverage, defining the 'name' parameter as 'Name of the dashboard to retrieve metadata for'. The description adds the phrase 'by name', which aligns with the schema but doesn't add significant semantic depth beyond what the schema already provides. Baseline score applies.

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

Purpose4/5

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

The description uses a specific verb ('Get') and clear resource ('dashboard'), with scope ('comprehensive metadata'). The 'by name' qualifier distinguishes it from sibling list/search operations, though it could better differentiate from 'get_dashboard_charts' by clarifying that this returns metadata/config rather than chart data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like 'list_dashboards' or 'search_dashboards'. It omits the prerequisite that users likely need to list or search first to obtain the dashboard name, and doesn't clarify when to use this versus 'get_dashboard_charts'.

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

datagovmy_get_dataset_detailsBInspect

Get comprehensive metadata for a dataset by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the dataset to retrieve metadata for
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 disclosure burden. While 'Get' implies a read-only operation, the description does not confirm safety, specify what 'comprehensive metadata' includes (fields, format), mention error cases (invalid ID), or disclose 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/5

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

The description is a single efficient sentence of nine words with no filler. It front-loads the action and scope, delivering maximum information density without redundancy.

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

Completeness3/5

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

Given the tool's simplicity (one required string parameter) and lack of output schema, the description adequately covers the basic contract. However, it lacks output format description and workflow context (e.g., 'use after listing datasets') which would be helpful given no structured output schema exists.

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

Parameters3/5

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

With 100% schema description coverage for the single 'id' parameter, the baseline is 3. The description mentions 'by ID' which aligns with the parameter, but adds no additional semantic context (e.g., ID format, where to obtain it) beyond what the schema already provides.

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

Purpose4/5

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

The description uses a specific verb ('Get') and identifies the resource ('comprehensive metadata for a dataset') and access method ('by ID'). It implicitly distinguishes from sibling listing tools like 'list_datasets_catalogue' by specifying the single-ID lookup pattern, though it could clarify the difference from 'get_dosm_dataset'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'list_datasets_catalogue' (for browsing) or 'get_dosm_dataset' (for DOSM-specific data). It omits the prerequisite workflow of obtaining a dataset ID before invocation.

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

datagovmy_get_dataset_filtersCInspect

Get available filter options for datasets

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations provided, so description carries full burden. Fails to disclose whether results are cached, rate limits, authentication requirements, or what the return structure contains (field names, valid values, or both). 'Get' implies read-only but doesn't confirm safety.

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

Conciseness4/5

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

Extremely terse at five words. The single sentence efficiently conveys the core concept without redundancy, though additional sentences explaining scope and return value would improve utility.

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

Completeness2/5

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

No output schema exists, yet description fails to explain what gets returned (metadata about filters, enum values, field types). Missing critical context regarding relationship to the filtering workflow and dataset catalogue structure given the sibling tool ecosystem.

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

Parameters4/5

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

Input schema has zero parameters. Per rubric, baseline score for zero-parameter tools is 4. The description appropriately reflects that no filtering is needed to retrieve the global filter options list.

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

Purpose3/5

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

States the basic action ('Get') and resource ('filter options for datasets'), but remains ambiguous regarding which dataset collection (catalogue vs DOSM) given the sibling tools distinguish these explicitly. Lacks differentiation from datagovmy_filter_datasets_catalogue.

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

Usage Guidelines2/5

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

Provides no guidance on when to use this discovery tool versus the filtering tools (datagovmy_filter_datasets_catalogue) or listing tools. No mention of prerequisites or typical workflow (e.g., call this before filtering to see valid filter keys).

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

datagovmy_get_dosm_datasetCInspect

Gets data from a specific DOSM dataset

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the dataset to retrieve (e.g., "cpi_core", "cpi_strata")
limitNoMaximum number of records to return
offsetNoNumber of records to skip
Behavior2/5

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

No annotations are provided, and the description carries minimal burden. While 'gets data' implies a read-only operation, there is no disclosure of return format, pagination behavior (despite limit/offset params), rate limits, or data volume 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/5

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

The single sentence is front-loaded and contains no wasted words. However, it is arguably undersized for the tool's complexity, lacking necessary elaboration on behavioral traits and sibling relationships.

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

Completeness2/5

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

Given the lack of annotations and output schema, and the presence of pagination parameters suggesting large result sets, the description is insufficient. It omits critical context such as what DOSM stands for, how to discover dataset IDs, and what structure of data is returned.

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

Parameters3/5

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

With 100% schema description coverage, the schema adequately documents all three parameters including examples for the 'id' field. The description adds no additional parameter context, meeting the baseline expectation for high-coverage schemas.

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

Purpose3/5

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

The description states the basic action ('Gets data') and resource ('DOSM dataset'), but fails to define the acronym 'DOSM' or distinguish this tool from siblings like 'datagovmy_get_dataset_details' (which likely retrieves metadata) and 'datagovmy_list_dosm_datasets' (which lists available IDs).

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

Usage Guidelines2/5

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

No guidance provided on when to use this tool versus alternatives, nor does it mention that users should likely call 'datagovmy_list_dosm_datasets' first to discover valid 'id' values. Zero coverage of prerequisites or exclusions.

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

datagovmy_get_earthquake_warningsCInspect

Gets earthquake warnings for Malaysia

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back (1-30)
magnitudeNoMinimum magnitude to include
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 of behavioral disclosure but fails to specify read-only safety, rate limits, data freshness, or what happens when invoked without parameters. The 'days' parameter implies historical data, but the description doesn't clarify this 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/5

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

The single-sentence description is extremely terse with no wasted words. However, given the lack of annotations and output schema, the brevity leaves significant gaps rather than efficiently conveying essential information.

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

Completeness3/5

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

For a simple two-parameter tool with full schema coverage, the description is minimally adequate. However, given no output schema and no annotations, the absence of return value description or behavioral constraints leaves the agent underspecified for effective invocation.

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

Parameters3/5

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

Schema description coverage is 100% (both 'days' and 'magnitude' have detailed descriptions), establishing a baseline of 3. The description adds no additional parameter context, such as default behavior when optional parameters are omitted or magnitude scale details.

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

Purpose4/5

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

The description clearly states the verb ('Gets'), resource ('earthquake warnings'), and geographic scope ('Malaysia'), distinguishing it from sibling tools like get_flood_warnings and get_weather_warnings. However, it lacks specificity on whether these are historical events or predictive alerts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus related hazard monitoring tools (e.g., get_flood_warnings, get_weather_warnings) or prerequisites like location requirements. There are no explicit when-to-use or when-not-to-use conditions.

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

datagovmy_get_flood_warningsCInspect

Gets current flood warnings for Malaysia

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoState name to filter warnings (e.g., "Selangor", "Johor")
districtNoDistrict name to filter warnings
severityNoSeverity level to filter (e.g., "warning", "alert", "danger")
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 of behavioral disclosure. While 'Gets' implies a read-only operation, the description lacks critical details: data freshness/frequency of updates, rate limits, authentication requirements, and what happens when no warnings exist (empty response vs. error).

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

Conciseness4/5

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

The description is extremely concise at only six words, with the action verb front-loaded. Every word earns its place with no redundancy. However, the brevity arguably crosses into under-specification given the lack of annotations and output schema, preventing a perfect score.

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

Completeness3/5

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

With three simple optional parameters and no output schema, the description is minimally viable. It identifies the tool's function but fails to describe the return format (list of warnings? structured objects?), pagination behavior, or how the filters interact (AND vs OR logic). Given the absence of structured output metadata, the description should compensate with return value details.

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

Parameters3/5

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

The input schema has 100% description coverage for all three parameters (state, district, severity with examples). Since the schema fully documents the parameters, the baseline score is 3. The description itself adds no parameter-specific context, but the schema coverage is sufficient per the rubric guidelines.

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

Purpose4/5

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

The description clearly states the action ('Gets'), resource ('flood warnings'), and geographic scope ('Malaysia'). It effectively distinguishes this tool from siblings like 'get_earthquake_warnings' and 'get_weather_warnings' by specifying the hazard type 'flood'. However, it lacks specificity about what 'current' means (real-time vs. recent history), preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., when to use flood warnings vs. weather warnings), nor does it mention prerequisites like location permissions or data availability. There is 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.

datagovmy_get_gtfs_realtime_vehicle_positionCInspect

Gets GTFS realtime vehicle position data for a specific transport provider

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return
offsetNoNumber of records to skip
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "rapidkl", "ktmb", "prasarana")
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 of behavioral disclosure but offers minimal information. While 'realtime' implies data volatility, the description does not disclose read-only status, rate limits, authentication requirements, data freshness guarantees, or the response format structure. The agent cannot determine if this is a safe operation or what resources it consumes.

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

Conciseness5/5

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

The description is a single, efficient sentence with no redundant words. Every phrase earns its place: 'GTFS realtime vehicle position' specifies the data domain and type, while 'specific transport provider' indicates the primary filtering mechanism. No restructuring or trimming would improve clarity further.

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

Completeness2/5

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

For a specialized GTFS (General Transit Feed Specification) tool with 4 parameters and no output schema, the description is insufficient. It fails to mention the geographic scope (Malaysia via data.gov.my), the expected return data structure (vehicle lat/long, timestamps, bearings), or that this represents live vehicle tracking data. Without output schema or these details, the agent lacks critical context for handling the response.

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

Parameters3/5

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

Given 100% schema description coverage, the baseline is appropriately 3. The description mentions 'specific transport provider' which aligns with the required provider parameter, but adds no semantic details beyond the schema's own descriptions. It does not explain the syntax of provider values, the relationship between provider and category (required for prasarana), or pagination behavior despite limit/offset parameters being present.

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

Purpose4/5

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

The description clearly identifies the resource (GTFS realtime vehicle position data) and the core operation (Gets) with scope limitation (specific transport provider). It successfully distinguishes from siblings like datagovmy_get_gtfs_static by specifying 'realtime' and from datagovmy_get_transit_arrivals by specifying 'vehicle position'. However, it fails to clarify the distinction from datagovmy_parse_gtfs_realtime, which likely handles raw protobuf parsing versus this API wrapper.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not explain the relationship to datagovmy_parse_gtfs_realtime or when to prefer datagovmy_get_transit_arrivals instead. No prerequisites, exclusions, or workflow context is provided.

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

datagovmy_get_gtfs_staticCInspect

Gets GTFS static data for a specific transport provider

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return
offsetNoNumber of records to skip
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "rapidkl", "ktmb", "prasarana")
Behavior2/5

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

No annotations provided, yet description fails to disclose what 'GTFS static data' encompasses (routes, stops, schedules), the response format (JSON, file reference, binary), or pagination behavior despite having limit/offset parameters. 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.

Conciseness4/5

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

Single efficient sentence with no redundancy. However, given zero annotations and no output schema, the brevity approaches under-specification rather than optimal conciseness.

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

Completeness2/5

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

Inadequate for a specialized domain tool with no output schema and no annotations. Description omits return value structure, GTFS data contents, and relationships to sibling transit tools. Should explain what the pagination parameters control.

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

Parameters3/5

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

Schema coverage is 100%, documenting all four parameters including the conditional requirement for 'category'. Description mentions 'transport provider' which aligns with the provider parameter, but adds no syntax details, example values, or usage patterns beyond schema definitions.

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

Purpose4/5

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

States a clear verb ('Gets') and resource ('GTFS static data') with scope ('for a specific transport provider'). Distinguishes from realtime sibling via 'static' keyword, though it doesn't clarify difference from 'parse_gtfs_static' sibling.

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

Usage Guidelines2/5

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

Provides no guidance on when to use this versus alternatives like 'parse_gtfs_static' or 'get_transit_routes'. Doesn't mention that 'list_transport_agencies' should be used first to discover valid provider values, or that 'category' parameter is conditional.

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

datagovmy_get_parquet_infoCInspect

Get metadata and structure information about a Parquet file

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the Parquet file to analyze
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 of behavioral disclosure. While it mentions returning 'metadata and structure information', it does not specify what metadata is included (e.g., schema, row count, compression), whether the tool performs partial reads or full downloads, or the output format.

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

Conciseness4/5

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

The description is a single, efficient sentence of nine words with no redundancy. However, given the lack of annotations and output schema, the extreme brevity contributes to informational gaps rather than being purely beneficial.

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

Completeness2/5

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

Despite having only one parameter, the tool lacks an output schema and annotations. The description only vaguely mentions 'metadata and structure information' without detailing the return structure, field names, or data types, leaving agents unprepared for the response format.

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

Parameters3/5

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

The input schema has 100% description coverage for the 'url' parameter ('URL of the Parquet file to analyze'). The description does not add semantic details beyond the schema, such as expected URL formats or examples. With high schema coverage, this meets the baseline expectation.

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

Purpose4/5

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

The description clearly states the action ('Get') and target ('metadata and structure information about a Parquet file'), specifying the resource type. However, it fails to differentiate from the sibling tool 'datagovmy_parse_parquet_file', which likely also handles Parquet files but for data extraction rather than metadata inspection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'datagovmy_parse_parquet_file'. There is no mention of prerequisites (e.g., public URL requirements), rate limits, or authentication needs for accessing the Parquet file.

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

datagovmy_get_transit_arrivalsAInspect

Get real-time transit arrivals at a specific stop. IMPORTANT: Use this tool directly for queries like "When will the next bus arrive at my stop?" or "Show me arrival times for Rapid Penang buses at stop X".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of arrivals to return (default: 10)
stop_idYesID of the stop to get arrivals for
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana", or common names like "rapid penang")
route_idNoOptional: filter arrivals by route
Behavior2/5

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

With no annotations provided, the description carries the full disclosure burden. It mentions the 'real-time' nature of the data but fails to describe error conditions (invalid stop_id), data freshness guarantees, rate limits, or what information is returned when no vehicles are approaching.

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

Conciseness5/5

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

Two efficiently structured sentences with zero waste. The first states purpose; the second front-loads 'IMPORTANT:' with actionable usage examples. Every sentence earns its place.

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

Completeness3/5

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

Adequate for a 5-parameter tool with full schema coverage, but gaps remain. Without an output schema, the description should ideally hint at return structure (e.g., 'returns upcoming arrival times and vehicle IDs') rather than leaving return values entirely undocumented.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters clearly. The description adds minimal semantic value beyond the schema, though the examples ('Rapid Penang buses') implicitly demonstrate provider usage. Baseline 3 is appropriate when schema coverage is comprehensive.

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

Purpose5/5

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

The description provides a specific verb ('Get'), resource ('real-time transit arrivals'), and scope ('at a specific stop') that clearly distinguishes it from siblings like datagovmy_get_transit_routes (static routes) and datagovmy_find_nearest_transit_stops (location-based discovery).

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

Usage Guidelines4/5

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

Provides explicit positive guidance with natural language query examples ('When will the next bus arrive...', 'Show me arrival times...'). However, it lacks explicit 'when not to use' guidance or mentions of prerequisite steps (e.g., using find_nearest_transit_stops if stop_id is unknown).

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

datagovmy_get_transit_routesAInspect

Get transit routes from GTFS data. IMPORTANT: For transit route queries like "Show me bus routes for Rapid Penang", use this tool directly with the provider name.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana")
route_idNoSpecific route ID to filter by
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 of behavioral disclosure. It mentions the GTFS data source but fails to describe what the tool returns (route geometry, list of routes, schedules?), pagination behavior, or safety characteristics (read-only vs mutation).

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

Conciseness5/5

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

Two sentences with zero waste. The first establishes purpose; the second provides a concrete usage pattern. The 'IMPORTANT' flag is appropriately front-loaded to guide agent selection immediately.

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

Completeness3/5

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

The description covers the primary input requirement (provider) and use case (route queries). However, given the lack of output schema and annotations, it is incomplete regarding the return structure and behavioral constraints expected for a 3-parameter data retrieval tool.

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

Parameters3/5

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

With 100% schema description coverage, the schema already documents all parameters adequately. The description reinforces the 'provider' parameter usage ('with the provider name') but does not add significant semantic value beyond the schema definitions, meeting the baseline expectation.

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

Purpose5/5

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

The description provides a specific verb ('Get') + resource ('transit routes') + data source ('GTFS data'). The usage example ('Show me bus routes for Rapid Penang') effectively distinguishes this from sibling stop-search tools like 'search_transit_stops_by_location' and static feed tools like 'get_gtfs_static'.

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

Usage Guidelines4/5

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

The 'IMPORTANT' clause provides a clear, concrete example of when to use this tool ('For transit route queries') and how ('use this tool directly with the provider name'). However, it lacks explicit 'when not to use' guidance or named alternative tools for related operations like finding stops or arrivals.

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

datagovmy_get_transit_stopsAInspect

Get transit stops from GTFS data. IMPORTANT: For transit stop queries like "Show me bus stops for Rapid Penang", use this tool directly with the provider name. The tool supports common names like "rapid penang", "rapid kuantan", "ktmb", or "mybas johor" which will be automatically mapped to the correct provider and category. No need to use list_transport_agencies first.

ParametersJSON Schema
NameRequiredDescriptionDefault
stop_idNoSpecific stop ID to retrieve (optional)
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana")
route_idNoFilter stops by route ID (optional)
Behavior4/5

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

No annotations provided, so description carries full burden. Adds valuable behavioral context about fuzzy matching ('automatically mapped to the correct provider and category') not present in schema. Minor gap: doesn't describe error behavior if mapping fails or return format, but covers the key runtime behavior.

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

Conciseness5/5

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

Four sentences, front-loaded with purpose, followed by usage imperative ('IMPORTANT:'), mapping behavior, and sibling differentiation. Zero redundancy; every clause provides actionable guidance or behavioral context.

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

Completeness4/5

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

Given 4 parameters with 100% schema coverage and no output schema, description adequately covers invocation patterns and provider mapping logic. Minor deduction for not describing return structure (array of stops? single object?), though this is optional for simple retrieval tools.

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

Parameters4/5

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

Schema has 100% coverage (baseline 3). Description adds concrete provider examples ('rapid penang', 'mybas johor') and clarifies conditional logic ('category... required only for prasarana provider'), adding semantic meaning beyond the schema's basic field descriptions.

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

Purpose5/5

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

Opens with specific verb ('Get') + resource ('transit stops') + source ('GTFS data'). Explicitly distinguishes from sibling 'list_transport_agencies' by stating 'No need to use list_transport_agencies first', clarifying this is the direct retrieval path.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance ('For transit stop queries like... use this tool directly') and concrete examples ('rapid penang', 'ktmb'). Explicitly identifies the alternative workflow to avoid ('No need to use list_transport_agencies first'), preventing redundant API calls.

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

datagovmy_get_transport_dataCInspect

Gets GTFS data for a specific transport agency

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return
offsetNoNumber of records to skip
dataset_idYesID of the GTFS dataset (e.g., "gtfs_rapidkl", "gtfs_prasarana")
Behavior2/5

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

With no annotations provided, the description carries full burden but discloses nothing about side effects, rate limits, return format, or pagination behavior beyond the parameter schema. It does not clarify if this returns real-time or static data.

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

Conciseness4/5

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

The single sentence is efficiently structured with no wasted words. However, it is arguably too minimal given the lack of annotations and output schema, leaving significant gaps that could have been addressed with additional sentences.

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

Completeness2/5

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

Without annotations or an output schema, the description fails to compensate by describing return values, data format, or the specific nature of the GTFS data retrieved. For a 3-parameter data retrieval tool, this is insufficient.

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

Parameters3/5

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

Schema description coverage is 100%, documenting dataset_id with examples, limit, and offset. The description adds minimal semantic value beyond the schema, only implicitly linking 'transport agency' to the dataset_id parameter.

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

Purpose3/5

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

The description states a clear action ('Gets') and resource ('GTFS data'), but fails to distinguish from siblings like 'datagovmy_get_gtfs_static' or 'datagovmy_get_transit_routes'. It leaves ambiguity about whether this returns raw GTFS feeds, processed data, or specific entity types.

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

Usage Guidelines2/5

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

No guidance provided on when to use this tool versus the more specific GTFS siblings (e.g., get_gtfs_static, get_transit_routes) or how it relates to datagovmy_list_transport_agencies. No prerequisites or exclusion criteria mentioned.

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

datagovmy_get_weather_forecastCInspect

Gets weather forecast for Malaysia

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to forecast (1-7)
locationYesLocation name (e.g., "Kuala Lumpur", "Penang")
Behavior2/5

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

No annotations provided, so description carries full burden of behavioral disclosure. Beyond stating 'Malaysia', it fails to indicate data source, update frequency, error handling (e.g., invalid locations), whether the operation is read-only, or 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.

Conciseness4/5

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

Extremely brief (5 words, single sentence) and front-loaded with core purpose. While under-specified overall, the sentence itself earns its place by establishing scope without wasting words.

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

Completeness2/5

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

Lacks output schema description (what forecast data is returned - temperature, precipitation, hourly/daily?). Missing behavioral context expected for a 2-parameter tool with no annotations and no output schema documentation.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both 'location' (with examples) and 'days' (with range 1-7). The description adds no parameter-specific guidance, but with high schema coverage, baseline 3 is appropriate.

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

Purpose3/5

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

States the basic function (weather forecast) and geographic scope (Malaysia), but uses weak verb 'Gets' rather than specific action. Fails to differentiate from sibling tool 'datagovmy_get_weather_warnings', which could cause selection confusion.

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

Usage Guidelines2/5

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

Provides no guidance on when to use this tool versus alternatives like 'datagovmy_get_weather_warnings' or 'datagovmy_get_earthquake_warnings'. No mention of prerequisites, rate limits, or location format requirements.

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

datagovmy_get_weather_warningsCInspect

Gets current weather warnings for Malaysia

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoType of warning (e.g., "rain", "flood", "all")
locationNoLocation name to filter warnings
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 of behavioral disclosure. While 'Gets' implies a read-only operation, the description lacks critical details: response format, whether data is real-time or cached, rate limits, and how 'current' is defined. It does not mention what constitutes a weather warning in this context.

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

Conciseness4/5

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

The single sentence is efficiently structured with no redundant words. However, given the lack of annotations and output schema, the extreme brevity becomes a liability rather than a virtue, though the sentence itself is well-formed.

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

Completeness2/5

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

Given the presence of closely related sibling tools and zero annotations, the description is insufficient. It should clarify the relationship to flood/earthquake warning tools and explain the return structure or behavior when optional filters are not provided. The description meets only the most basic definition of stating the tool's existence.

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

Parameters3/5

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

With 100% schema description coverage, the schema already adequately documents both the 'type' and 'location' parameters. The description adds no parameter-specific guidance, but baseline 3 is appropriate given the schema's completeness. The description does not mention the optional nature of parameters or provide examples.

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

Purpose4/5

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

The description uses a specific verb ('Gets') and identifies the resource ('current weather warnings') and geographic scope ('Malaysia'). However, it fails to distinguish from siblings like 'datagovmy_get_flood_warnings' and 'datagovmy_get_earthquake_warnings', which may overlap conceptually with weather-related hazards.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the more specific 'get_flood_warnings', 'get_earthquake_warnings', or 'get_weather_forecast' tools. It also does not indicate that both parameters are optional or what behavior occurs when they are omitted.

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

datagovmy_helloAInspect

A simple test tool to verify that the MCP server is working correctly

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 disclosure burden. It identifies the tool as a 'test' operation implying safety, but fails to specify return values, response format, or side effects. For a zero-parameter health check, this is minimally adequate but lacks behavioral specifics.

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

Conciseness5/5

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

The description is a single 11-word sentence with no redundancy. For a simple connectivity verification tool, this length is appropriately minimal and front-loaded with the essential purpose.

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

Completeness4/5

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

Given the tool's trivial complexity (no parameters, no inputs, simple health-check purpose), the description adequately explains what the tool does. For a server ping utility, explaining that it 'verifies the MCP server is working' provides sufficient context.

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

Parameters4/5

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

The input schema has zero parameters, which establishes a baseline score of 4 per evaluation rules. The description appropriately does not invent parameter semantics where none exist.

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

Purpose5/5

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

The description clearly states this is a 'test tool' that 'verifies that the MCP server is working correctly,' using specific verbs (test/verify) and distinguishing it from the 30+ data-retrieval siblings (get_, list_, search_, etc.) which actually fetch datasets, transit info, or weather 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/5

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

The description implies usage context (connectivity testing), but lacks explicit guidance on when to use this versus calling data tools directly, or whether this should be invoked as a prerequisite to other operations. No alternatives or exclusions are mentioned.

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

datagovmy_list_dashboardsBInspect

Lists all available dashboards from the Malaysia Open Data platform

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-100)
offsetNoNumber of records to skip for pagination
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. While 'Lists' implies a safe read operation, the description fails to disclose pagination behavior, expected return format, or total dataset size considerations despite having pagination parameters.

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

Conciseness5/5

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

The description is a single, efficient sentence of 9 words that front-loads the action verb. There is no redundant or wasteful text; every word contributes to identifying the operation and scope.

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

Completeness3/5

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

Given the tool's simplicity (2 optional parameters, no nested objects) and absence of an output schema, the description provides minimum viable context for invocation. However, it lacks behavioral details that would help interpret results given the missing output schema.

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

Parameters3/5

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

With 100% schema description coverage, the schema adequately documents the limit and offset parameters. The description adds no additional parameter context, which is acceptable given the high schema coverage, meeting the baseline of 3.

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

Purpose4/5

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

The description uses specific verb 'Lists' and identifies the resource as 'dashboards from the Malaysia Open Data platform,' clarifying the data source. However, it does not explicitly differentiate from sibling 'search_dashboards' or 'find_dashboard_for_parquet' beyond the implied 'list all' versus search semantics.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the available alternatives like 'search_dashboards' or 'get_dashboard_details'. It omits pagination strategy guidance despite the presence of limit/offset parameters.

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

datagovmy_list_datasets_catalogueBInspect

Lists all datasets from the comprehensive catalogue with rich metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-100)
offsetNoNumber of records to skip for pagination
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It adds 'rich metadata' to characterize the response content, but fails to mention read-only safety, pagination behavior implications, or response format details that would help an agent understand operational constraints.

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

Conciseness4/5

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

The single-sentence description is efficiently structured with the action verb front-loaded and zero redundant text. However, given the absence of annotations and output schema, the extreme brevity leaves significant gaps that additional sentences could have addressed.

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

Completeness3/5

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

For a tool with no output schema and no annotations, the description minimally suffices by mentioning 'rich metadata' to hint at return value structure. However, it should further clarify the unfiltered nature of the listing and how it relates to sibling search/filter tools to be fully complete.

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

Parameters3/5

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

The input schema has 100% description coverage for both limit and offset parameters. The description adds no supplemental parameter semantics (e.g., default pagination size recommendations), warranting the baseline score of 3 for high-coverage schemas.

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

Purpose4/5

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

The description uses a specific verb ('Lists') and resource ('datasets from the comprehensive catalogue'), clearly stating the tool enumerates all available datasets. However, it lacks explicit differentiation from siblings like 'datagovmy_filter_datasets_catalogue' and 'datagovmy_search_datasets_catalogue' regarding when to use each variant.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the filter or search variants, nor does it mention pagination best practices. There are no 'when-not' exclusions or prerequisites mentioned.

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

datagovmy_list_dosm_datasetsBInspect

Lists available datasets from the Department of Statistics Malaysia

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of datasets to return
offsetNoNumber of datasets to skip
dataset_idNoOptional specific dataset ID to list (e.g., "cpi_core", "cpi_strata")
Behavior2/5

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

No annotations provided, so description carries full disclosure burden. It states 'Lists' implying read-only access, but doesn't confirm safety, rate limits, pagination behavior details, or what data structure is returned (array of metadata objects, IDs, etc.).

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

Conciseness5/5

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

Single sentence of 9 words. Front-loaded with active verb. Zero redundancy or filler. Appropriate density for the tool's simplicity.

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

Completeness3/5

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

For a 3-parameter listing tool with no output schema, the description is minimally viable. However, it omits what fields are returned (titles, IDs, descriptions) and doesn't address the pagination paradigm (total count availability, max limits).

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

Parameters3/5

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

Schema description coverage is 100%, documenting limit, offset, and dataset_id with examples. The description doesn't add parameter-specific semantics, but with complete schema coverage, baseline 3 is appropriate.

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

Purpose4/5

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

The description uses specific verb 'Lists' and identifies the resource as 'datasets from the Department of Statistics Malaysia'. The 'DOSM' qualifier distinguishes it from the generic datagovmy_list_datasets_catalogue sibling, though it could further clarify the distinction from datagovmy_get_dosm_dataset (list vs. retrieve single).

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

Usage Guidelines2/5

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

No guidance provided on when to use this versus datagovmy_list_datasets_catalogue or when to pivot to datagovmy_get_dosm_dataset for specific dataset retrieval. No prerequisites or filtering advice mentioned despite the optional dataset_id parameter.

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

datagovmy_list_transport_agenciesCInspect

Lists available transport agencies with GTFS data

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of agencies to return
offsetNoNumber of agencies to skip
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 of behavioral disclosure. It states 'Lists' implying read-only access, but fails to mention pagination behavior (despite having limit/offset parameters), rate limits, caching, or the structure/format of the returned agency data.

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

Conciseness4/5

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

The description is a single, efficient sentence with no redundancy. However, given the lack of annotations and output schema, it may be overly terse—additional context about the data source or return format would be valuable.

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

Completeness3/5

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

For a simple listing tool with two optional parameters, the description is minimally adequate. However, gaps remain: no explanation of return values (no output schema exists), no behavioral context (no annotations), and no differentiation from related transport tools in the suite.

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

Parameters3/5

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

The input schema has 100% description coverage for both parameters ('limit' and 'offset'), establishing a baseline score of 3. The description itself adds no additional semantic context about these parameters or their relationship (pagination).

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

Purpose4/5

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

The description clearly states the verb ('Lists') and resource ('transport agencies with GTFS data'), specifying the domain. However, it does not differentiate from siblings like 'datagovmy_get_transport_data' or explain what distinguishes 'agencies' from routes or stops.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus the numerous sibling transport/GTFS tools (e.g., 'datagovmy_get_gtfs_static', 'datagovmy_get_transit_routes'). No prerequisites or exclusion criteria are mentioned.

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

datagovmy_parse_gtfs_realtimeAInspect

Parse GTFS Realtime data for a specific transport provider. IMPORTANT: For transit queries like "Show me bus locations from Rapid Penang", use this tool directly with the provider name. Common names like "rapid penang", "rapid kuantan", or "mybas johor" are automatically mapped to the correct provider-category pairs.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana")
force_refreshNoForce refresh the cache
Behavior3/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 automatic mapping of common names to provider-category pairs, which is valuable behavioral context. However, it fails to mention caching behavior (despite force_refresh parameter), output format, or error handling for invalid providers.

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

Conciseness5/5

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

Two sentences total with zero waste. First sentence establishes purpose; second sentence front-loads 'IMPORTANT' with specific usage instructions and examples. Every word earns its place.

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

Completeness3/5

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

With 3 parameters, 100% schema coverage, and no output schema, the description adequately covers input semantics but leaves gaps on return values (what does 'parsed' GTFS Realtime look like?) and caching implications of force_refresh. Sufficient for basic usage but incomplete for full operational context.

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

Parameters4/5

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

Schema has 100% coverage (baseline 3). Description adds significant value by clarifying that 'provider' accepts common names like 'rapid penang' and that these are automatically mapped to correct provider-category pairs, which is not obvious from the schema alone.

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

Purpose5/5

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

Description opens with specific verb 'Parse' and clear resource 'GTFS Realtime data for a specific transport provider'. It distinguishes from siblings (like parse_gtfs_static) by emphasizing the realtime aspect and unique provider name mapping capability.

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

Usage Guidelines4/5

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

Provides explicit positive guidance with concrete examples: 'For transit queries like "Show me bus locations from Rapid Penang", use this tool directly'. Explains the automatic mapping behavior. Lacks explicit 'when not to use' distinctions vs siblings like get_gtfs_realtime_vehicle_position.

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

datagovmy_parse_gtfs_staticAInspect

Parse GTFS Static data for a specific transport provider. IMPORTANT: For transit queries like "Show me routes from Rapid Penang", use get_transit_routes directly with the provider name. This is a low-level tool - prefer using get_transit_routes or get_transit_stops for most user queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory for Prasarana data (required only for prasarana provider)
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana")
force_refreshNoForce refresh the cache
Behavior3/5

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

Without annotations, the description carries the full burden. It successfully characterizes the tool as 'low-level' but fails to disclose what 'parsing' entails (output structure, format transformation from raw GTFS, memory implications) or caching behavior beyond the force_refresh parameter. No contradictions with annotations (none provided).

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

Conciseness5/5

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

Perfectly structured with purpose front-loaded in the first sentence, followed by IMPORTANT guidance, then classification. Zero wasted words; every sentence earns its place by either defining scope, redirecting to better tools, or classifying the tool's abstraction level.

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

Completeness4/5

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

Given the lack of output schema and annotations, the description adequately warns about abstraction level and alternatives. However, for a parsing tool with no output schema, it should briefly indicate what the parsed result represents (e.g., structured route data, stops, schedules) to help the agent chain this tool effectively.

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

Parameters3/5

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

With 100% schema description coverage, all parameters (provider, category, force_refresh) are already documented in the schema. The description mentions 'specific transport provider' which aligns with the provider parameter, but adds no semantic depth regarding the conditional category requirement or cache refresh behavior beyond the schema's basic descriptions.

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

Purpose5/5

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

The description opens with a specific verb ('Parse') and clear resource ('GTFS Static data'), immediately establishing scope. It distinguishes itself from siblings like get_transit_routes by explicitly labeling itself as 'low-level,' helping the agent understand this is a data-processing utility rather than a user-facing query tool.

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

Usage Guidelines5/5

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

Excellent guidance includes a concrete example ('Show me routes from Rapid Penang') directing users to get_transit_routes instead. It explicitly states 'prefer using get_transit_routes or get_transit_stops for most user queries,' providing clear negative constraints (when NOT to use this) and naming specific alternatives.

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

datagovmy_parse_parquet_fileAInspect

Parse and display data from a Parquet file URL. Supports raw output (default), AI-friendly statistical summaries, and latest-period filtering. Data can be filtered by date range, column value, and column selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the Parquet file to parse
columnsNoList of column names to include. Omit to include all columns. Reduces response size and speeds up parsing.
maxRowsNoMaximum number of rows to return or sample for statistics (default 500)
group_byNoColumn to group by (summary mode only). Returns aggregated numeric stats per group.
output_modeNoOutput format. "raw" (default) returns full row data. "summary" returns column statistics and sample rows for AI consumption. "latest" returns only the most recent time period.
filter_valueNoValue to match in filter_column (exact string match).
filter_columnNoColumn name to filter on (exact match). Use with filter_value.
filter_date_toNoEnd date (inclusive) for date range filtering, e.g. "2025-12-31" or "2025". Auto-detects the date column.
filter_date_fromNoStart date (inclusive) for date range filtering, e.g. "2025-01-01" or "2025". Auto-detects the date column.
Behavior3/5

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

With no annotations provided, the description must carry the full behavioral burden, which it partially addresses by explaining the AI-friendly summary mode and latest-period filtering behavior. However, it omits critical operational details such as error handling for invalid URLs, caching behavior, memory constraints for large files, or whether the tool performs any local storage of downloaded data.

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

Conciseness5/5

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

The description consists of exactly three sentences that follow a logical progression from core purpose to output formats to filtering capabilities. Every sentence earns its place with zero redundancy or filler, making it appropriately sized and effectively front-loaded with the most critical information.

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

Completeness3/5

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

The tool has 9 parameters and lacks both an output schema and annotations, creating a high burden for the description to provide contextual completeness. While it adequately covers input-side functionality, it omits description of return data structures, potential error states, or domain context (e.g., that this handles Malaysian government data given the 'datagovmy' prefix). Additional behavioral context would be necessary for full completeness.

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

Parameters4/5

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

The input schema has 100% description coverage, establishing a baseline score of 3. The description adds semantic value by grouping parameters into functional categories—'date range, column value, and column selection'—which helps agents understand the filtering intent beyond individual parameter names. It also contextualizes the output_mode parameter by linking it to specific use cases (statistical summaries vs. raw data).

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

Purpose4/5

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

The description clearly states the tool 'Parse[s] and display[s] data from a Parquet file URL,' providing a specific verb and resource target. The inclusion of output modes (raw, summary, latest) helps distinguish it from siblings like `get_parquet_info` which likely only retrieves metadata. However, it lacks explicit contrast with similar siblings to fully clarify selection criteria.

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

Usage Guidelines3/5

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

The description implies usage patterns through the three output modes (raw, summary, latest) and mentions filtering capabilities, suggesting when to use each mode. However, it fails to explicitly state when to choose this tool over siblings like `datagovmy_get_parquet_info` or `datagovmy_get_dataset_details`, providing no explicit prerequisites or exclusions.

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

datagovmy_search_allAInspect

⭐⭐⭐ PRIMARY SEARCH TOOL: Always use this first for any data or visualization queries. Searches across both datasets and dashboards with intelligent fallback. ⭐⭐⭐

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-20)
queryYesSearch query to match against all content
prioritizeNoType of content to prioritize in results
Behavior3/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 mentions 'intelligent fallback' as behavioral context not found in the schema, but fails to explain what the fallback entails, rate limits, pagination behavior, or what happens when no results are found.

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

Conciseness5/5

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

Extremely concise with only two sentences that are front-loaded with priority indicators (⭐⭐⭐). Every word serves a purpose—establishing priority, scope, and behavior—without redundancy or waste.

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

Completeness3/5

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

Given the lack of output schema and annotations, the description adequately covers the tool's purpose but leaves gaps regarding return value structure (e.g., whether results are mixed types or how they're formatted) and detailed behavioral characteristics expected for a primary search interface.

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

Parameters3/5

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

The input schema has 100% description coverage for all three parameters (query, limit, prioritize). The description does not add semantic meaning, examples, or syntax guidance beyond what the schema already provides, warranting the baseline score.

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

Purpose5/5

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

The description clearly states the tool 'Searches across both datasets and dashboards,' using specific verbs and resources. It effectively distinguishes itself from siblings like `datagovmy_search_datasets_catalogue` and `datagovmy_search_dashboards` by emphasizing it covers both resource types with 'intelligent fallback.'

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

Usage Guidelines4/5

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

Provides explicit prioritization with 'Always use this first for any data or visualization queries,' giving clear context on when to select this tool. However, it lacks explicit 'when not to use' guidance or specific criteria for when to prefer the specialized sibling search tools instead.

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

datagovmy_search_dashboardsAInspect

⚠️ CONSIDER USING search_all INSTEAD: This only searches dashboards. For comprehensive results across datasets and dashboards, use search_all tool. ⚠️

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-100)
queryYesSearch query to match against dashboard metadata
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 adds valuable scope context ('only searches dashboards') but fails to disclose other behavioral traits like read-only nature, return format, pagination behavior, or rate limits. The scope disclosure prevents misuse, but other operational details are missing.

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

Conciseness4/5

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

Extremely concise with zero waste—every word earns its place by conveying the limitation and alternative. The warning emoji structure effectively flags the deprecation preference, though the negative framing ('only searches') slightly obscures the positive purpose.

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

Completeness3/5

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

Given the simple 2-parameter schema and lack of output schema, the description addresses the primary contextual need (scope limitation relative to siblings). However, it lacks return value documentation or behavioral details that would be necessary for complete context without annotations.

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

Parameters3/5

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

Schema description coverage is 100% (both 'query' and 'limit' are well-documented in the schema). The description adds no parameter-specific semantics, but with high schema coverage, the 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/5

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

The description clearly states the tool 'searches dashboards' and distinguishes it from the sibling 'search_all' tool by emphasizing the limited scope (dashboards-only vs. comprehensive results). Specific verb ('searches') and resource ('dashboards') are present.

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

Usage Guidelines5/5

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

Excellent guidance: explicitly recommends using 'search_all' instead for comprehensive results, clearly defining when NOT to use this tool. The alternative is named explicitly, making the decision boundary between this tool and its sibling unambiguous.

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

datagovmy_search_datasets_catalogueAInspect

⚠️ CONSIDER USING search_all INSTEAD: This only searches datasets. For comprehensive results across datasets and dashboards, use search_all tool. ⚠️

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-100)
queryYesSearch query to match against dataset metadata
Behavior2/5

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

No annotations provided, so description carries full burden. It discloses scope limitation (datasets only) but fails to mention read-only nature, pagination behavior, what search matches (despite schema noting 'metadata'), rate limits, or return format. Minimal behavioral disclosure.

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

Conciseness5/5

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

Extremely concise with zero waste. Front-loaded with critical warning emojis and alternative recommendation. Every word earns its place; no redundant filler despite short length.

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

Completeness3/5

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

Tool has simple 2-parameter schema and no output schema. Description adequately covers the critical usage context (vs search_all) but lacks any description of return values or success behavior. Minimum viable for a search tool, but gap exists regarding output format.

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

Parameters3/5

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

Schema description coverage is 100% (query and limit fully documented). Description mentions no parameters, relying entirely on schema. Baseline 3 is appropriate since schema carries the semantic load; description adds no parameter context beyond what schema provides.

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

Purpose4/5

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

The description states the tool 'searches datasets' (clear verb + resource) and distinguishes from sibling 'search_all' by noting it only covers datasets, not dashboards. However, it lacks positive description of what a successful search returns or the nature of the dataset catalogue.

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

Usage Guidelines5/5

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

Excellent explicit guidance: warns 'CONSIDER USING search_all INSTEAD', states when-not-to-use ('For comprehensive results across datasets and dashboards'), and names the specific alternative tool. Clearly defines the scope limitation vs siblings.

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

datagovmy_search_transit_stops_by_locationAInspect

Search for transit stops near a named location. IMPORTANT: Use this tool for queries like "Show me bus stops near KLCC" or "What buses stop at KL Sentral?" This tool geocodes the location name to coordinates, then finds nearby stops. CRITICAL: For Rapid KL services, ALWAYS use specific terms in the provider parameter like "rapid kl bus", "rapid rail", "mrt feeder", "lrt", "mrt" instead of using "prasarana" with a separate category parameter. DO NOT use provider="prasarana" with category="rapid-rail-kl" as this causes 404 errors. Instead use provider="rapid rail" or provider="lrt" or provider="mrt" or provider="mrt feeder" or provider="rapid kl bus" without a category parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of stops to return (default: 5)
countryNoCountry code to limit geocoding results (default: "my" for Malaysia)
categoryNoCategory for Prasarana data (required only for prasarana provider)
locationYesLocation name to search for (e.g., "KLCC", "KL Sentral", "Penang Airport")
providerYesProvider name (e.g., "mybas-johor", "ktmb", "prasarana", or common names like "rapid penang")
max_distanceNoMaximum distance in kilometers (default: 5)
arrivals_limitNoMaximum number of arrivals to include per stop (default: 3)
include_arrivalsNoWhether to include upcoming arrivals for each stop (default: true)
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses geocoding behavior, distance-based search ('nearby'), and specific failure modes (404 errors with certain provider/category combinations). Lacks mention of rate limits or caching, but covers primary behavioral traits and 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/5

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

Well-structured with purpose front-loaded, followed by examples, technical explanation (geocoding), and critical warnings. Slightly verbose due to necessary parameter warnings, but every sentence earns its place by preventing errors.

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

Completeness4/5

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

Comprehensive coverage of 8-parameter input complexity, especially the nuanced provider/category relationships. Adequate for the tool's complexity despite lacking output schema description (return values are somewhat self-evident from the tool name).

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

Parameters4/5

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

Schema has 100% coverage (baseline 3), but description adds substantial semantic value: enumerates specific valid provider strings ('rapid kl bus', 'mrt feeder'), clarifies the provider-category dependency, and provides concrete location examples ('KLCC', 'KL Sentral').

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

Purpose5/5

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

Clear specific verb ('Search for') + resource ('transit stops') + scope ('near a named location'). Explicitly distinguishes from siblings like 'find_nearest_transit_stops' by stating it 'geocodes the location name to coordinates' rather than accepting raw coordinates.

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

Usage Guidelines5/5

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

Provides explicit query examples ('Show me bus stops near KLCC'). Clearly signals when to use via the geocoding explanation. Includes CRITICAL operational guidance on provider parameter values to avoid 404 errors, effectively serving as when/how-to-use documentation.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.