bounty-api
Server Details
Singapore property & financial data APIs for AI agents. 27 MCP tools. x402 micropayments.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- vncent786/bounty-api
- GitHub Stars
- 1
- Server Listing
- Bounty-api
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
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.
Tool Definition Quality
Average 3.4/5 across 27 of 27 tools scored. Lowest: 2.4/5.
Most tools have distinct purposes, but sg_property_analyze and sg_property_pitch both offer comprehensive property analysis, which could cause confusion. Other tools like sg_affordability and sg_buy_vs_rent also overlap in affordability assessment. Overall, descriptions help differentiate, but a few are closely related.
Tool names follow a consistent pattern with domain prefixes (hdb_, sg_, ura_) and descriptive snake_case names. However, not all follow a verb_noun pattern; many are noun phrases. The pattern is predictable and clear.
With 27 tools, the server covers a broad domain of Singapore property and finance. While slightly above the typical 15-tool threshold, each tool serves a specific function, and the count is justified by the scope.
The server provides extensive coverage of Singapore real estate, taxes, CPF, transport, and schools. It includes both data retrieval and calculations. There are no obvious gaps for its stated purpose; it covers major aspects of property analysis and financial planning.
Available Tools
27 toolshdb_eip_quotaBInspect
Explain HDB Ethnic Integration Policy (EIP) and SPR quota limits. Real-time HDB quota requires portal verification, but this returns official quota rules and transaction risk. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| town | Yes | ||
| is_spr | No | ||
| buyer_ethnicity | Yes | ||
| is_malaysian_spr | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'Free' and 'returns official quota rules and transaction risk', but does not disclose authentication needs, rate limits, side effects, or what 'transaction risk' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. Purpose and key context are front-loaded. Could be slightly improved by adding parameter hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and 4 parameters, description covers purpose and output type but leaves gaps: no parameter explanations, no guidance on distinguishing from many sibling tools, and 'transaction risk' undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% so description must add meaning. It implies town and buyer_ethnicity are inputs, but does not explain is_spr or is_malaysian_spr. Some context for required params, but lacks for optional ones.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool explains HDB EIP and SPR quota limits, with 'returns official quota rules and transaction risk'. It differentiates from real-time checks but does not explicitly name alternative tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage context: 'Real-time HDB quota requires portal verification, but this returns official quota rules' tells when not to use for real-time checks, but no explicit when-to-use or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hdb_lease_decayBInspect
Analyze HDB lease decay: remaining years, financing/CPF restrictions, risk thresholds, and value impact. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| current_value | No | ||
| lease_commencement_year | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the tool is free but does not mention whether it is read-only, any required permissions, or potential side effects. The agent gains minimal behavioral insight beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus 'Free.' It is very concise, but it could be slightly more structured to improve readability. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has an output schema (not shown) and only two parameters, the description covers the core purpose but leaves gaps about input semantics and output details. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It mentions 'lease commencement year' in the purpose but does not elaborate on 'current_value' or explain the role of each parameter. The meaning added is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Analyze' and resource 'HDB lease decay', listing specific aspects (remaining years, financing/CPF restrictions, risk thresholds, value impact). This distinguishes it from sibling tools like hdb_resale_median which focus on pricing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool or when to avoid it. The description only mentions 'Free', which is peripheral. No alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hdb_resale_medianBInspect
Get HDB resale median prices by flat type for a Singapore town. Returns median price, count, min, max for each flat type.
| Name | Required | Description | Default |
|---|---|---|---|
| town | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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. It states what is returned but does not explicitly declare the tool as read-only, safe, or free of side effects. For a data retrieval tool, this is a significant omission; the agent cannot confidently assume it is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no redundant information. It is front-loaded with the core action and immediately follows with output details. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 required param, output schema exists), the description covers the essential context: what data is returned (median, count, min, max per flat type). While it could mention data sources or time ranges, the presence of an output schema reduces the need to detail return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the only parameter 'town' is described as 'for a Singapore town' in the description. This adds some contextual meaning but does not specify valid values, format, or examples. The agent lacks information to correctly populate the parameter, especially with no enums provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly identifies the resource 'HDB resale median prices' with modifiers 'by flat type for a Singapore town'. It also lists returned fields, making the tool's purpose unambiguous. The sibling tool 'hdb_resale_search' likely returns detailed search results, so this tool is differentiated by focusing on median statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like hdb_resale_search, hdb_lease_decay, or hdb_eip_quota. There is no mention of prerequisites, data freshness, or context where this tool is appropriate, leaving the AI agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hdb_resale_searchCInspect
Search HDB resale transactions with filters. Leave params empty for broad results.
| Name | Required | Description | Default |
|---|---|---|---|
| town | No | ||
| limit | No | ||
| flat_type | No | ||
| max_price | No | ||
| min_price | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 does not explicitly state that the tool is read-only, nor does it describe side effects, authentication needs, or rate limits. The term 'Search' implies safety, but transparency is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no fluff. The first sentence clearly states the function, and the second provides a practical hint. It is appropriately concise, though it could be slightly more structured with a bullet or explicit parameter grouping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (none required) and an output schema, the description lacks context about the data source, result ordering, pagination, and how it compares to sibling tools like hdb_resale_median. The minimal description leaves the agent without enough context to confidently invoke the tool in diverse scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 5 parameters with default values but no descriptions (schema description coverage 0%). The description says 'with filters' but adds no meaning beyond the parameter names (town, limit, flat_type, max_price, min_price). For example, it does not clarify what flat_type values are accepted or how price filters interact. The tool fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and resource 'HDB resale transactions', and mentions filters. It distinguishes from sibling tools like hdb_resale_median (which computes medians, not raw transactions) and hdb_lease_decay (which calculates lease decay). However, it could more explicitly differentiate from other HDB tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance: 'Leave params empty for broad results.' This hints at when to use (for broad results) but does not specify when to avoid this tool, nor does it mention alternatives among siblings. No exclusion criteria or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_address_intelAInspect
Full address intelligence: district, planning area, CCR/RCR/OCR region, HDB town, approximate coordinates, and 5 nearest MRT stations with walking distance.
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains what the tool returns but does not disclose behavioral traits such as read-only nature, rate limits, authentication requirements, or error handling. It adds some context beyond the name but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose ('Full address intelligence') and lists specific outputs concisely. Each element serves a purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers what the tool does and returns. However, it omits constraints (e.g., valid Singapore postal codes) and does not mention potential limitations or error conditions, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'postal_code' is self-explanatory, but the schema description coverage is 0%. The tool description does not elaborate on format requirements (e.g., 6-digit Singapore postal code) or provide examples, adding no additional meaning beyond the parameter name. Baseline 3 is appropriate due to low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'Full address intelligence' with specific outputs like district, planning area, region, HDB town, coordinates, and nearest MRT stations. This distinguishes it from siblings like sg_postal_lookup and sg_mrt_near by offering a comprehensive set of address-related information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting comprehensive address details but does not explicitly state when to use this tool versus alternatives. No exclusions or when-not guidance is provided, though the context of sibling tools hints at the scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_affordabilityAInspect
Calculate MAS TDSR/MSR affordability. Checks if a property is affordable under Singapore's mortgage regulations. Returns max loan and property price.
| Name | Required | Description | Default |
|---|---|---|---|
| loan_type | No | bank_private | |
| borrower_age | No | ||
| monthly_income | Yes | ||
| property_price | Yes | ||
| loan_tenure_years | No | ||
| housing_loan_count | No | ||
| existing_monthly_debt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as a calculation (non-destructive), but does not explicitly state that it has no side effects or requires specific authentication. The output schema exists, so return structure is covered separately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and every word adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters with defaults, and an output schema exists. However, the description omits explanations for TDSR/MSR, how the calculation uses each parameter (e.g., loan type, tenure, debt), and typical usage scenarios. An agent may not know how to set loan_type or borrower_age correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but only mentions 'monthly_income' and 'property_price' implicitly. Other parameters like loan_type, borrower_age, loan_tenure, housing_loan_count, and existing_monthly_debt are not described, leaving their purpose unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates MAS TDSR/MSR affordability, checks property affordability, and returns max loan and property price. It uses a specific verb and resource, and distinguishes from sibling tools like hdb_resale_search or sg_rental_yield.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking affordability under Singapore regulations but does not explicitly state when to use this tool versus alternatives like sg_buy_vs_rent or other financial tools. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_buy_vs_rentAInspect
Buy-vs-rent analysis: total cost of buying vs renting over a holding period. Includes mortgage, stamp duty, property tax, maintenance, opportunity cost. Returns net cost comparison and recommendation. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| monthly_rent | Yes | ||
| mortgage_rate | No | ||
| property_price | Yes | ||
| down_payment_pct | No | ||
| holding_period_years | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It lists included costs and mentions returning a net cost comparison and recommendation, but lacks details on assumptions, data sources, or limitations (e.g., Singapore-specific context).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at about 30 words, but it could benefit from better structure (e.g., separating inputs and outputs). It communicates the core idea efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters, no schema descriptions, and no annotations, the description provides basic context but lacks detail on output format or assumptions. The presence of an output schema mitigates some return value ambiguity, but overall completeness is average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must explain parameters. It mentions some cost components but does not map them to specific parameters like 'mortgage_rate' or 'down_payment_pct'. The description adds context but is insufficient for all five parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing buy vs rent costs over a holding period, including specific cost components like mortgage, stamp duty, etc. It distinctly sets it apart from siblings like sg_affordability or sg_property_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for buy-vs-rent decisions but does not explicitly state when to use this tool versus alternatives (e.g., for detailed property analysis, use sg_property_analyze). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_cpf_housingCInspect
Estimate CPF Ordinary Account accumulation for housing use. Shows monthly OA contribution, 3-year and 5-year projected balances. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | ||
| monthly_income | Yes | ||
| existing_oa_balance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It fails to mention assumptions (e.g., contribution rates, age-based allocation), limitations (e.g., projection accuracy), or what happens if inputs are out of range. The phrase 'Estimate' hints at approximation, but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main action. The word 'Free.' is somewhat extraneous and could be omitted, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters with no schema descriptions and an output schema present (though not shown), the description should cover key aspects like input format expectations, projection methodology, and disclaimers. It is incomplete for a financial projection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, and the description adds no meaning beyond parameter names. For example, 'monthly_income' could be gross or net, and whether employer contributions are included is unspecified. The existing_oa_balance default of 0 is clear, but age's role in calculations is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Estimate' and resource 'CPF Ordinary Account accumulation for housing use', and specifies outputs (monthly OA contribution, 3-year and 5-year projections). It distinguishes from sibling tools like sg_affordability which focuses on overall affordability, not CPF-specific accumulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., sg_affordability, sg_buy_vs_rent). The description only mentions the tool is free, which is not a usage criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_gstAInspect
Add or remove Singapore GST (9% from 1 Jan 2024). mode='add': calculate GST on a GST-exclusive price. mode='remove': extract GST component from a GST-inclusive price. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | add | |
| amount | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries behavioral disclosure. It explains the two modes but omits edge cases (e.g., negative amounts), input validation, or return format. The 'Free' note is non-behavioral. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, no redundant information. Every sentence adds value: purpose, mode explanation, and rate. Ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter calculator with no nested objects, the description covers primary functionality. However, missing output schema details (e.g., return type) and no mention of rounding or precision could limit completeness. Output schema exists but isn't shown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description clarifies 'mode' semantics ('add' vs 'remove') and mentions 9% rate, but 'amount' is left with only schema title 'Amount'. Baseline 3 since schema coverage is low but one parameter is well-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Add or remove Singapore GST (9% from 1 Jan 2024)' with explicit mode explanations. Verb 'calculate' is implied, and resource 'GST' is distinct from sibling tools which focus on HDB, property, or tax tools unrelated to GST.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use each mode ('mode='add'' vs 'mode='remove') but lacks guidance on when not to use the tool or alternatives. Since no sibling tool performs GST calculation, this is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_income_taxBInspect
Calculate Singapore individual income tax. Resident progressive rates (YA 2024+): 0-22% marginal. Non-residents: 15% flat or progressive, whichever higher. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| reliefs | No | ||
| deductions | No | ||
| is_resident | No | ||
| annual_income | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions rates and residency but does not disclose output structure, assumptions, error handling, or whether it includes other taxes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short and front-loaded with main purpose. The 'Free' statement is slightly extraneous but not wasteful. Efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity (4 parameters, tax calculation) and existence of output schema, the description lacks coverage of what the result contains, year applicability (only YA2024+ mentioned), and any disclaimers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds no information about parameters (annual_income, reliefs, deductions, is_resident). The tool name implies income input but no details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Calculate' and the resource 'Singapore individual income tax', and distinguishes itself from property-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, although siblings are mostly property tools, so context is implied. Lacks when-not or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_mrt_nearBInspect
Find nearest MRT stations to a Singapore postal code. Returns station name, lines, distance, and walking time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| postal_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions return fields (station name, lines, distance, walking time) but does not disclose ordering, distance units, or the fact that 'limit' parameter controls number of results. Behavioral traits beyond basic functionality 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with the main action. However, could be improved by mentioning the limit parameter without major length increase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, output schema exists), the description covers the core functionality but omits the limit parameter and ordering behavior. Output schema may fill some gaps, but description should stand alone better.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description adds meaning only for postal_code ('to a Singapore postal code') but ignores the 'limit' parameter entirely. No parameter details for limit despite default value and integer type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (find nearest MRT stations), the resource (MRT stations), and the input (Singapore postal code). Differentiates from sibling sg_mrt_search by specifying 'nearest' and location-based lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for finding nearby stations to a postal code, but no explicit guidance on when to use this vs alternatives like sg_mrt_search (for searching by name). Lacks exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_mrt_searchBInspect
Search MRT stations by name. Returns all matching stations with line codes.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the return value but does not disclose behavior like fuzzy matching, case sensitivity, error handling, or limits on results besides the 'limit' parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no superfluous content. Front-loaded with purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with an output schema (mentioned), the description is incomplete: it omits usage context, parameter semantics, and behavioral traits. Agents may misuse the tool without additional details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no parameter details. 'q' is not explained (e.g., full name vs partial match), and 'limit' is only given a default. The description fails to compensate for lacking schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search'), the resource ('MRT stations'), and the return value ('matching stations with line codes'). It distinguishes from sibling 'sg_mrt_near' by specifying name-based search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'sg_mrt_near'. The description does not mention any prerequisites, context, or exclusions, leaving agents without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_postal_lookupAInspect
Look up a Singapore 6-digit postal code to find its district number, district name, and area classification (CCR/RCR/OCR).
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It correctly indicates a read-only lookup operation. Does not discuss error handling or rate limits, but given the tool's simplicity, the description is sufficiently transparent about its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear structure: verb, resource, and list of outputs. No wasted words, front-loaded with action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with one parameter and an output schema, the description adequately covers what the tool does. Lacks edge case handling, but overall sufficient given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds only the constraint '6-digit' to the postal_code parameter. No examples, validation rules, or additional context beyond what the schema name implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (look up), resource (Singapore 6-digit postal code), and outputs (district number, district name, area classification). It distinguishes from sibling tools, which focus on HDB, URA, or other topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like sg_address_intel or sg_mrt_near. Siblings include many location-related tools, but no when-to-use or when-not-to-use information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_analyzeBInspect
Complete property investment analysis: stamp duty, comparables, yield, affordability, and location in one call. The most comprehensive SG property API.
| Name | Required | Description | Default |
|---|---|---|---|
| town | No | ||
| region | No | SG | |
| flat_type | No | ||
| postal_code | No | ||
| borrower_age | No | ||
| monthly_rent | No | ||
| buyer_profile | No | SC | |
| property_type | No | hdb | |
| monthly_income | No | ||
| property_count | No | ||
| property_price | Yes | ||
| loan_tenure_years | No | ||
| existing_monthly_debt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states the tool performs a 'complete' analysis but does not explain data sources, calculation methodology, limitations, or how results are returned. The agent is left without crucial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. While very concise, it earns its place by summarizing the tool's value proposition without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, many sibling tools, and an output schema), the description is incomplete. It does not reference the output schema, provide guidance on parameter interactions, or explain how the analysis components are structured. The agent lacks sufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description provides no explanation for any of the 13 parameters. The only required parameter (property_price) is not mentioned, and defaults like buyer_profile, property_type, etc., lack semantic context. The agent cannot determine correct usage from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('analyze') and clearly states the resource ('property investment'). It lists the components of the analysis (stamp duty, comparables, yield, affordability, location) and positions the tool as the 'most comprehensive' SG property API, distinguishing it from sibling tools that focus on individual aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for a comprehensive analysis in one call, but it does not provide explicit guidance on when not to use it or which sibling tools might be better suited for simpler queries. No prerequisites 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.
sg_property_commissionAInspect
Estimate Singapore property agent commission. transaction_type: 'sale' or 'rental'. property_type: 'hdb', 'private', 'landed'. Rates are market norms (CEA), not legally fixed. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | ||
| property_type | No | hdb | |
| transaction_type | Yes | ||
| is_seller_landlord | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description bears full burden. It notes rates are market norms (CEA) and not legally fixed, providing basic behavioral context. However, it lacks details on limitations (e.g., only Singapore, no guarantees) or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then parameters, then note. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (estimation based on inputs), and an output schema exists. However, not all input parameters are explained (price and is_seller_landlord), leaving the agent to infer their meaning from names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds meaning for transaction_type and property_type. However, price and is_seller_landlord remain unexplained. Partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool estimates Singapore property agent commission, specifying transaction and property types. It is distinct from sibling tools like sg_property_tax or sg_stamp_duty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for commission estimation but does not explicitly state when to use versus alternatives, nor any exclusions. The context from sibling tools suggests a narrow scope, but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_pitchAInspect
Generate a complete property investment pitch — the kind of one-page analysis a property agent presents to a client. Includes price fairness, stamp duty, affordability, yield, location, tenure risk, and verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| sqft | No | ||
| town | No | ||
| tenure | No | ||
| top_year | No | ||
| flat_type | No | ||
| buyer_notes | No | ||
| postal_code | No | ||
| monthly_rent | No | ||
| project_name | No | ||
| buyer_profile | No | SC | |
| property_type | No | hdb | |
| monthly_income | No | ||
| property_count | No | ||
| property_price | Yes | ||
| existing_monthly_debt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It mentions what the tool includes in output but does not disclose side effects, permissions, data sources, or limitations (e.g., need for specific parameters). The description is adequate but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear main purpose and a list of included aspects. It is efficient and front-loaded, though could be structured into bullet points for readability. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 parameters, 1 required) and lack of schema descriptions, the description provides a high-level overview but omits guidance on which inputs are essential for a complete pitch. Output schema exists, so return structure is covered. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It lists output components that loosely map to parameters (e.g., 'affordability' to monthly_income), but does not explain the role of each parameter or how defaults work. Partial compensation, but insufficient for 15 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a complete property investment pitch, listing specific output components (price fairness, stamp duty, etc.). This verb+resource specification effectively distinguishes it from sibling tools like sg_property_analyze or sg_affordability, which focus on individual aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating a comprehensive pitch but provides no explicit guidance on when to use this tool versus alternatives such as sg_affordability or sg_property_analyze. No exclusions or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_rankAInspect
Rank candidate Singapore properties by investment value. Accepts properties from any source, then scores value vs comps, yield, affordability, and location. Region-ready: SG live, HK/AE/AU/JP planned.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | SG | |
| candidates | Yes | ||
| buyer_profile | No | SC | |
| monthly_income | No | ||
| existing_monthly_debt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 explains that the tool accepts properties from any source and scores them on specific factors. However, it omits behavioral traits such as error handling when region is unsupported, required fields in candidates, or side effects like mutation. The scoring dimensions are listed, which is helpful, but more detail is needed for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences. The first sentence is front-loaded with the core purpose. Each sentence provides distinct, non-redundant information: purpose, scoring dimensions, and region readiness. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, 1 required, high sibling count) and 0% schema coverage, the description is incomplete. It does not explain parameter semantics, provide usage guidelines, or detail the output (output schema exists but not described). The description covers the high-level function but leaves critical gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It only implicitly references 'candidates' and 'region' (by stating SG live), but does not explain the meaning, defaults, or allowed values for the other three parameters (buyer_profile, monthly_income, existing_monthly_debt). The description adds minimal semantic value beyond the schema parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Rank candidate Singapore properties by investment value.' It uses a specific verb (Rank) and identifies the resource (Singapore properties). It distinguishes from siblings by listing scoring dimensions (value vs comps, yield, affordability, location) and mentions region readiness, setting it apart from other property tools like sg_property_analyze or sg_rental_yield.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs alternatives. It describes what it does (ranking) and implies it is for evaluating investment value, but lacks guidance on when not to use it or how it relates to siblings like sg_affordability or sg_buy_vs_rent. The region readiness note provides some context, but no clear usage directives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_taxAInspect
Calculate Singapore property tax. Owner-occupier progressive 0-32%, non-owner-occupied 10-20%, non-residential flat 10%. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_value | Yes | ||
| property_type | No | residential | |
| is_owner_occupied | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It reveals the tax rate structure and mentions 'Free', but lacks details on data sources, update frequency, or handling of edge cases (e.g., mixed-use properties). The provided rates are helpful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two lines, front-loaded with the action 'Calculate', and contains no fluff. It efficiently conveys the core rates, though it could be better structured (e.g., bullet points) for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters and no annotations, the description provides a minimal but functional overview. It lacks explanation of the output (despite an output schema existing) and does not address potential user questions like input ranges or tax year applicability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add parameter meaning. It indirectly explains that property_type and is_owner_occupied affect the tax rate, and implies annual_value is the input. However, it does not explicitly describe defaults or constraints, relying on domain familiarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb 'Calculate' and resource 'Singapore property tax', and provides distinct rate brackets (owner-occupier 0-32%, non-owner-occupied 10-20%, non-residential 10%), which differentiates it from sibling tools like sg_income_tax or sg_gst.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for property tax calculation but does not explicitly state when to use it versus alternatives or specify prerequisites or exclusions, leaving usage guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_rental_yieldCInspect
Calculate rental investment metrics: gross yield, net yield, cap rate, price-to-rent ratio, and monthly cashflow.
| Name | Required | Description | Default |
|---|---|---|---|
| monthly_rent | Yes | ||
| property_price | Yes | ||
| annual_expenses | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It fails to mention that this is a pure calculation tool (no side effects, no data retrieval), nor does it state any assumptions or limitations. It only lists output metrics without explaining behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the main purpose. Every word contributes, though it could benefit from slightly more structure (e.g., listing inputs).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and an output schema, the description fails to provide enough context for correct use. It does not explain what each parameter means or how to specify them, making it incomplete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not mention the input parameters (property_price, monthly_rent, annual_expenses) or explain their roles in the calculations. The link between inputs and metrics is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Calculate rental investment metrics' and lists specific metrics (gross yield, net yield, cap rate, price-to-rent ratio, monthly cashflow). This provides a specific verb-resource pairing and differentiates it from sibling tools like sg_affordability or sg_property_analyze.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The usage context is only implicit from the listed metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_salary_benchmarkCInspect
Benchmark salary for a Singapore role using live MyCareersFuture job postings. Returns median, percentile ranges, and annual equivalents from real employer-posted salary data. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions 'free' and 'live' but fails to disclose rate limits, authentication needs, error behavior, or idempotency. Insufficient for a safe, informed invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff. Purpose is front-loaded. Could be improved by separating returns from description, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, description lacks completeness: no explanation of limit parameter, no error handling, no data freshness info. Output schema exists but is not referenced. Agent left with unanswered operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. Description does not explain the 'role' format or the 'limit' parameter's meaning beyond what is in the schema. Adds zero value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the verb 'benchmark', resource 'salary for a Singapore role', and source 'live MyCareersFuture job postings'. Clearly distinguishes from sibling tools which focus on property/HDB/URA data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool vs alternatives, nor when not to use it. Only states source and data type, but lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_school_proximityAInspect
Find primary/secondary schools near a Singapore postal code. Splits schools within 1km and 1-2km for Primary 1 priority analysis. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| radius_km | No | ||
| postal_code | Yes | ||
| school_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It reveals output segmentation ('splits schools within 1km and 1-2km') and cost ('Free'), but omits details like rate limits, idempotency, or required permissions. The output schema is noted but not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, 23 words, front-loaded with the main action. Every word adds value, leveraging the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks parameter guidance (3 params, 1 required) and does not reveal the output structure. Given the schema coverage is 0%, the description should compensate but fails to do so, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has three parameters (postal_code, radius_km, school_type) with 0% description coverage. The tool description does not mention any of these parameters, leaving agents unaware of radius and school type options, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Find primary/secondary schools'), location ('near a Singapore postal code'), and includes a specific use case ('Primary 1 priority analysis'). It effectively distinguishes itself from sibling tools like sg_mrt_near.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for school proximity analysis and mentions 'Free', suggesting cost-free context. However, it does not explicitly state when not to use it or provide alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_stamp_dutyAInspect
Calculate Singapore property stamp duty (BSD + ABSD). buyer_profile: SC (citizen), SPR (PR), FR (foreigner), entity, developer. Returns total duty, tier breakdown, and effective rate.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | ||
| buyer_profile | No | SC | |
| property_type | No | residential | |
| property_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions the return format (total duty, tier breakdown, effective rate) but omits details like reliance on government rates, data freshness, or any side effects. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core purpose. The second sentence adds key parameter details and return information. It could be more structured (e.g., listing all params), but it is efficient and avoids fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's basic function and key return fields, and an output schema exists. However, it lacks details on calculation assumptions (e.g., current rates), treatment of edge cases, or why property_type and property_count matter. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by listing buyer_profile options (SC, SPR, etc.), which schema lacks. However, it does not explain property_type or property_count, leaving two of four parameters undocumented. Given 0% schema coverage, the description partially compensates but misses important context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates Singapore property stamp duty (BSD + ABSD). It specifies the action (calculate), the resource (Singapore property stamp duty), and distinguishes it from sibling tools like hdb_resale_median or sg_income_tax. The mention of return fields further clarifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for stamp duty calculation but does not explicitly state when to use it vs. alternatives like sg_property_tax or sg_affordability. It provides no exclusions or contextual hints, leaving the agent to infer based on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ura_developer_salesAInspect
Get developer units sold by project from URA. Units launched, sold, remaining, median price. Leave ref_period empty for latest, or use format like '2506' for Jun 2025. $0.05/call.
| Name | Required | Description | Default |
|---|---|---|---|
| ref_period | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description correctly indicates read-only behavior (get data). Discloses cost per call. Lacks details on rate limits or error handling, but adequate for a simple query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise, front-loaded sentences. Every word adds value: purpose, data fields, parameter usage, and cost. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists and parameter is optional, the description covers essential usage. Could elaborate on response structure, but not required due to output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for the parameter, but description fully compensates by explaining the ref_period format and default behavior. Adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Get' and resource 'developer units sold by project' from URA. Specifies key data fields (launched, sold, remaining, median price) and provides usage examples. Distinguished from sibling URA tools by focusing on developer sales.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit parameter instructions: leave empty for latest period or use format like '2506'. Mentions cost ($0.05/call) which helps decide frequency. Could be more explicit about when to use this tool versus alternatives like ura_transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ura_pipelineAInspect
Get future private residential supply pipeline from URA. Upcoming projects, units planned, expected completion. Key for supply analysis. $0.05/call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It correctly implies a read-only operation by using 'Get,' but lacks details on data freshness, rate limits, or authentication. The cost note ($0.05/call) adds some transparency. It is adequate for a simple data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: first states purpose, second lists data fields, third notes cost. Every sentence adds value and is front-loaded. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and presence of an output schema, the description is largely complete. It covers purpose, content, and cost. Minor omission: update frequency or geographic scope, but not critical for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100%. Baseline is 4. The description adds no additional parameter meaning but the context of retrieving supply pipeline is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool retrieves 'future private residential supply pipeline from URA' and lists key details (upcoming projects, units planned, expected completion). It distinguishes itself from sibling URA tools like ura_developer_sales or ura_transactions by focusing on supply pipeline data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'key for supply analysis,' implying its use case but provides no explicit guidance on when to use it versus alternatives like ura_developer_sales or ura_status. No when-not 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.
ura_rental_medianAInspect
Get median rental rates ($psf/month) for private residential projects from URA. Filter by project name or get all. $0.05/call.
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions a cost of $0.05/call and the data source (URA), but fails to disclose other behavioral traits like authentication requirements, rate limits, or whether it's a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, usage, cost. Front-loaded with key information, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, usage, and cost. With an output schema present, it need not detail return values. However, it lacks contextual details like authentication or prerequisites, but for a simple tool this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional parameter project_name has its behavior explained: filtering by project name or omitting to get all. This adds meaning beyond the schema, which only has a default of empty string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves median rental rates ($psf/month) for private residential projects from URA, with filtering by project name or all. This distinguishes it from sibling URA tools like ura_developer_sales or ura_transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions filtering by project name or getting all, implicitly indicating when to use it. However, it lacks explicit guidance on when not to use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ura_statusAInspect
Check if URA private property data is connected and available. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only mentions checking connectivity and availability, without disclosing the return format, error behavior, or underlying mechanics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with one sentence plus 'Free.', conveying the essential information without any waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is acceptable but minimal. It could hint at the return value or usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. Baseline for 0 params is 4. The description does not add parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Check' and the resource 'URA private property data is connected and available'. This distinguishes it from sibling tools that retrieve specific data like sales or rentals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It is implied that this status check should precede URA data tools, but not stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ura_transactionsAInspect
Get private residential property transactions (caveat data) from URA. Returns project name, price, PSF, area, tenure, transaction date, sale type. Batch 1 is most recent. $0.05/call.
| Name | Required | Description | Default |
|---|---|---|---|
| batch | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses cost and batch behavior, but no info on authentication, rate limits, or data freshness beyond batch. Adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, returned fields, cost and batch info. No redundancy or fluff. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter and output schema present. Description covers purpose, return fields, and batch cost. Could mention authentication but adequate for a basic data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only parameter 'batch' has no schema description (0% coverage). Description adds meaning: 'Batch 1 is most recent', helping agent understand numeric values. Provides context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' + resource 'private residential property transactions (caveat data) from URA', listing returned fields. Differentiates from sibling tools like ura_developer_sales by specifying 'private residential' focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions batch recency and cost, but lacks explicit when-to-use vs alternatives among many sibling tools. No guidance on when to choose this over HDB or other URA tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseCqualityBmaintenanceOne MCP install that lets your AI agents discover and pay (x402 micropayments, USDC on Base + Solana) for 66 specialized real-time intelligence APIs - finance, crypto, insurance, immigration, legal, markets and more. 68 tools, pey-per-query, no subscription.Last updated69271Apache 2.0
- Alicense-qualityAmaintenance62 real-time data tools for AI agents via MCP. Finance, crypto, FMCSA, sanctions, courts, weather, vehicles, cybersecurity. One bearer token, one bill. Free tier available.Last updatedMIT
- AlicenseAqualityDmaintenance22 MCP tools for AI agents: crypto prices and trading signals (53 coins), stock prices and company financials, forex rates and conversion, and web scraping with AI summaries. All powered by x402 USDC micropayments on Base. $0.01-$0.25 per request.Last updated2211MIT
- Flicense-qualityCmaintenanceProvides AI agents with live, structured access to Singapore government open data including weather, transport, property, and company registry via 35 well-described tools.Last updated
Your Connectors
Sign in to create a connector for this server.