bounty-api
Server Details
Singapore property & financial data APIs for AI agents. 27 MCP tools. x402 micropayments.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- vncent786/bounty-api
- GitHub Stars
- 0
- 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_quotaCInspect
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 are provided, so the description must cover behavioral aspects. It mentions the tool is 'Free' and 'returns official quota rules and transaction risk', but lacks details on whether it modifies data (likely not), authorization needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core purpose. However, the second sentence could be more structured to separate the caveat from the main offering.
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 4 parameters, no annotations, and an output schema (not shown), the description is incomplete. It does not specify the output format, how to interpret results, or provide examples, 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 description does not explain the purpose of each parameter beyond what the parameter names suggest. With 0% schema description coverage, the description should clarify how 'is_spr' and 'is_malaysian_spr' affect the quota, but it does not.
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, and distinguishes itself from real-time quota verification. However, the verb 'explain' is ambiguous as the tool likely returns data, not just an explanation.
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 notes that real-time quota requires portal verification, implying this tool is for official rules and transaction risk. But it does not explicitly state when to use this tool vs. sibling tools like hdb_resale_search or hdb_lease_decay.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hdb_lease_decayAInspect
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?
With no annotations, the description carries full burden. It mentions outputs like remaining years and risk thresholds but does not disclose whether the tool is read-only, requires authentication, or has side effects. The 'Free' tag hints at no cost but is not behavioral.
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, very concise. However, it includes the extraneous 'Free.' which does not add value. It is front-loaded with the main 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?
Given the existence of an output schema, return values need not be detailed. However, the description fails to explain parameter semantics fully, particularly 'current_value', and lacks context on thresholds or restrictions. It is adequate but not 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?
Schema coverage is 0%, so the description must compensate. It mentions 'remaining years' but does not explain the 'current_value' parameter or link it to 'value impact'. The lease_commencement_year is implied but not explicitly described.
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 analyzes HDB lease decay, listing specific aspects like remaining years, financing/CPF restrictions, risk thresholds, and value impact. This distinguishes it from sibling tools focused on other property 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 use for analyzing lease decay and related restrictions, which is appropriate for an agent seeking such analysis. However, it lacks explicit when-not-to-use guidance or mention of alternatives, though the niche nature makes context clear.
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?
No annotations are provided, so the description must disclose behavioral traits. It mentions the return structure (median, count, min, max per flat type) but does not discuss data freshness, required authentication, rate limits, error handling for invalid towns, or whether the data is updated monthly. For a government data tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that efficiently convey the tool's purpose and output. No wasted words, and the action verb appears first. Perfectly concise for a simple data retrieval tool.
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 one required parameter, no annotations, and an output schema (not provided). The description covers the return fields but is silent on output schema details beyond listing them, edge cases, or data coverage. It is minimally complete for an experienced user but lacking for an agent that might need to handle invalid inputs or understand data recency.
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%, but the description does not explain the 'town' parameter beyond its name. Instead, it mentions output grouped by flat type, which is not a parameter. This adds some meaning about the output but creates potential confusion since the schema lacks a flat type parameter. The description should have clarified that flat type is derived from the data, not an input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'HDB resale median prices', and the context 'by flat type for a Singapore town'. It also lists the output fields (median, count, min, max), which distinguishes it from sibling tools like hdb_resale_search that return individual 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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no limitations. It only implies basic usage via the name and schema. The agent lacks context for choosing this over similar tools like hdb_eip_quota or hdb_resale_search.
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 provided, so description carries full burden. It fails to disclose data source, rate limits, pagination, or authorization requirements. Only states the action without 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?
Two sentences, front-loaded with purpose, no unnecessary words. Highly concise and structured.
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 5 parameters with zero description coverage and no annotations, the description fails to provide sufficient context for correct invocation. Output schema exists but is not referenced.
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 does not elaborate on any parameter beyond mentioning 'filters'. Adds no meaning to the 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 verb 'Search' and the resource 'HDB resale transactions with filters'. It distinguishes itself from siblings like hdb_resale_median by focusing on transactions with filters, but does not explicitly differentiate.
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 basic guidance to leave params empty for broad results, but does not offer when-to-use compared to sibling tools nor scenarios to avoid. Minimal context.
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 must carry behavioral transparency. It lists outputs but does not disclose error handling, rate limits, or authentication needs. Basic function is clear 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?
The description is a single, well-structured sentence that lists all key outputs. It is concise and front-loaded with the most important 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?
Given the tool has an output schema (documented elsewhere), one simple parameter, and clear outputs listed in the description, it is contextually complete. All essential aspects are covered.
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 does not add format or validation details for the postal_code parameter. However, the parameter is simple and common, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: given a postal code, return full address intelligence including district, planning area, region, HDB town, coordinates, and nearest MRT stations. It distinguishes from siblings like sg_postal_lookup (basic) and sg_mrt_near (MRT-only).
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 is for comprehensive address lookup but does not explicitly state when to use it over siblings or exclude specific cases. No 'when-not' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_affordabilityBInspect
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?
Without annotations, the description must disclose behavioral traits. It only states what the tool does but not how it works (e.g., assumptions about constant interest rates, whether it uses current market rates, or if it accounts for all fees). No mention of limitations, such as that it only handles bank_private loans by default, or that borrower_age may affect tenure calculations. This is inadequate for a financial calculation 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?
Two sentences, minimal wording, front-loaded with purpose. No fluff. However, the second sentence could be merged or expanded slightly without harming conciseness. Still, appropriate size for the information given.
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 (financial calculation, multiple parameters) and that an output schema exists but is not detailed in the description, the description is somewhat incomplete. It mentions 'returns max loan and property price' but does not specify the structure or additional fields like monthly payment. The presence of an output schema partially compensates, but the description should provide more context for the agent to interpret results.
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 and 7 parameters, the description does not explain any parameter details. Parameter names like monthly_income and property_price are somewhat self-explanatory, but units (e.g., SGD) and valid ranges are not mentioned. The description adds no value beyond the schema structure, failing to help the agent set correct values.
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 the tool calculates MAS TDSR/MSR affordability, which is a specific financial calculation. It includes the verb 'calculate', resource 'affordability', and mentions regulatory context (Singapore mortgage regulations) and output (max loan and property price). This distinguishes it from siblings which focus on property data or other 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?
No guidance on when to use this tool versus alternatives like sg_buy_vs_rent or sg_property_analyze. The description does not mention prerequisites, edge cases, or when not to use it. The agent is left to infer usage from the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_buy_vs_rentCInspect
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?
With no annotations, the description must disclose behavioral traits. It notes the tool is 'free' and lists included costs, but omits assumptions, data sources, accuracy, or any limitations. For a financial analysis tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (2 sentences) and front-loaded with purpose. The bullet-like list of costs is clear, though 'Free.' could be integrated or removed. Overall, efficient but minor 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 the complexity (5 parameters, 0% schema coverage, no annotations), the description is incomplete. It does not explain parameter defaults, assumptions, or return schema details, though an output schema exists. More depth is needed.
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 does not map the listed cost components to parameters. For example, 'mortgage rate' is a parameter but its role is not explained. The description adds limited value beyond the 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 performs a buy-vs-rent analysis including specific cost components and outputs a net cost comparison and recommendation. This distinctly differentiates it from sibling tools like hdb_resale_median 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?
No guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of prerequisites, scenarios, or exclusions relative to the 26 sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_cpf_housingBInspect
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?
The description mentions the tool is 'Free' and shows outputs, but given no annotations, it does not disclose if the tool is read-only, requires authentication, has rate limits, or any side effects. It adds some context (projections) but lacks full behavioral disclosure for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) and front-loaded with the purpose. Every sentence adds information, though the third sentence 'Free.' is trivial. It could be more structured, but overall it is 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 and no schema descriptions, the description should explain the role of each parameter and what the output schema contains. It mentions outputs but not inputs, leaving the agent to infer from parameter names alone. The tool is relatively simple, but completeness is lacking.
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 add meaning to parameters. It only mentions outputs (monthly OA, balances) but does not explain how parameters like age, monthly_income, or existing_oa_balance affect the calculation. The description adds minimal value over the schema itself.
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 CPF Ordinary Account accumulation for housing use, specifying the action and resource. It mentions outputs (monthly OA contribution, 3-year and 5-year projected balances), which distinguishes it from sibling tools that focus on other aspects of housing (e.g., HDB resale, 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 estimating CPF OA for housing but does not explicitly state when to use this tool versus alternatives or mention any prerequisites or exclusions. With no sibling CPF tools, guidance is minimal but adequate.
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, but the tool is a simple mathematical calculator with no side effects. Description states it is free and explains the operation. Lacks details on precision or rounding, but sufficient for a trivial 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?
Extremely concise: three short lines with no wasted words. Information is front-loaded with purpose, then usage details. Every sentence is necessary.
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 (2 params, simple math), the description is complete. Output schema exists (not shown but present), so no need to explain return values. Adequate 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 has 0% description coverage, but the tool description compensates by explaining the mode parameter and what each value does. The amount parameter is self-explanatory. Adds value 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?
The description clearly states it adds or removes Singapore GST. Specific verb 'Add or remove' and resource 'GST (9% from 1 Jan 2024)' make it unambiguous. Distinguishable from siblings (all property/HDB related).
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 mode='add' vs mode='remove' with clear definitions. No exclusions or alternatives mentioned, but given the tool's simplicity and specificity, it is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_income_taxCInspect
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 must disclose behavior. It mentions tax rates but fails to explain what the tool does with reliefs and deductions, or what the output contains. 'Free' is ambiguous.
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 very short (2 sentences) but lacks valuable details. It is not verbose, but the conciseness comes at the cost of completeness.
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 4 parameters and an output schema, the description is incomplete. It does not explain the output, how reliefs/deductions affect the calculation, or the residency determination, which are essential for proper tool use.
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 explain parameters. It does not mention 'reliefs', 'deductions', or 'is_resident' at all, leaving their meaning and defaults 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 'Calculate Singapore individual income tax', specifying it is for individuals, not corporate or property taxes. It differentiates from sibling tools which are property-related.
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 does not mention prerequisites, context, or edge cases, leaving the agent without direction.
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. Description mentions return fields but does not disclose any behavioral traits like rate limits, authentication needs, or whether results are based on straight-line distance or path distance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, clear sentences with no redundant information. Could benefit from bulletizing the return fields, 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?
With an output schema (implied), description adequately lists return fields. However, missing guidelines and parameter semantics reduce completeness for a simple 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 coverage is 0%, so description bears full burden. It mentions 'postal code' and implies 'nearest' but does not explain the 'limit' parameter, distance units, or how distance is calculated.
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 the action ('Find nearest MRT stations') and the input ('Singapore postal code') and output ('station name, lines, distance, and walking time'). It is distinct from sibling sg_mrt_search which likely searches by name.
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. While sibling sg_mrt_search exists, the description does not contrast them or specify when proximity search is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_mrt_searchAInspect
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 provided. Description states it returns results with line codes, but does not disclose whether it is read-only, any rate limits, or other behaviors. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. No redundant information. Efficient and clear.
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 tool simplicity and presence of output schema, description is adequate but lacks details on search behavior (exact/partial match) and pagination. Basic completeness.
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 only links 'q' to name search but does not explain 'limit' parameter. Schema lacks descriptions, so description adds marginal value.
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 it searches MRT stations by name and returns matching stations with line codes. Verb and resource are specific, and it distinguishes from sibling tool 'sg_mrt_near' which implies proximity-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 explicit guidance on when to use vs alternatives. Sibling tools include 'sg_mrt_near', but description does not clarify when to choose this tool over others.
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?
With no annotations, the description must convey behavior. It implies a query operation but does not disclose what happens for invalid or non-existent postal codes, nor any errors or limitations. It adds basic transparency 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?
The description is a single sentence with no superfluous words. Every element (verb, resource, outputs) is essential and front-loaded.
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 existence of an output schema, the description need not detail return values, but it mentions three key outputs. However, it omits error handling or validation details, which would improve completeness for a simple 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 schema has 0% description coverage, but the description adds meaning: '6-digit postal code' clarifies the format and constraints beyond the schema's bare string type. This compensates well for the lack of parameter documentation.
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 'look up' and the resource 'Singapore 6-digit postal code', specifying the outputs: district number, district name, and area classification. This distinguishes it from sibling tools focused on other aspects like HDB, MRT, or rental 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?
No guidance is provided on when to use this tool versus siblings like sg_address_intel or when not to use it. The description assumes the agent knows this is a simple lookup, but without context for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_analyzeCInspect
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 provided, so description carries full burden. It describes the analysis components but does not disclose how parameters interact, data sources, performance characteristics, or limitations. The promotional language ('most comprehensive') adds no behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are concise, but the second sentence is a boast rather than useful information. Structure could be improved by replacing the boast with practical details about parameter usage or 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?
Given the tool has 13 parameters, no parameter descriptions, no annotations, and a complex analysis scope, the description is severely incomplete. It fails to explain parameter defaults, interactions, or how the analysis integrates with sibling tools.
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 does not explain any parameter's role or effect. It only lists analysis components without linking to specific parameters, leaving the agent with no additional semantic information 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?
The description states it provides a complete property investment analysis including specific components like stamp duty, comparables, yield, affordability, and location. It distinguishes from sibling tools by claiming comprehensiveness, though it could be more precise about the output form.
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 individual sibling tools like sg_stamp_duty or sg_affordability. The phrase 'most comprehensive' implies it can replace them, but no direct when-to-use or when-not-to-use advice 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_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?
Since no annotations are provided, the description carries the full burden. It discloses that rates are market norms (CEA) and not legally fixed, and that the tool is free. However, it does not explain that the result is an estimate, not a binding offer, or whether the tool accounts for all factors like is_seller_landlord.
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 very concise: three short sentences that front-load the action and quickly list key parameters. Every sentence adds value without 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 the tool has 4 parameters (1 required), no annotations, and an output schema exists, the description lacks completeness. It does not explain what the output contains or how the parameters interact. The majority of parameters are left unexplained by the description.
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 all parameters. It covers 'transaction_type' and 'property_type' with allowed values, but misses 'price' and 'is_seller_landlord', which have default values and may significantly affect the estimation. This is a significant gap.
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 'Estimate' and the resource 'Singapore property agent commission'. It lists the main parameters and their allowed values, making the purpose unambiguous. It also distinguishes itself from sibling tools like 'sg_property_analyze' or 'sg_property_pitch' which serve different functions.
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 when to use the tool (for estimating commission based on sale or rental, and property type) but does not explicitly state when not to use it or provide alternatives within the sibling tools. No exclusions or comparative 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_pitchBInspect
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?
No annotations are provided, and the description does not disclose side effects, permissions, or behavioral traits beyond listing output components. A read-only analysis tool is plausible but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear list of included analyses, though it could benefit from a brief parameter section. It remains highly 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 the high parameter count and absence of parameter descriptions, the description is incomplete. It does not help the agent understand input requirements or output format beyond the mention of a 'one-page analysis'.
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 explains zero of the 15 parameters; with 0% schema description coverage, the agent has no guidance on how to fill in fields like sqft, town, buyer_notes, etc.
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' and lists key components like price fairness, stamp duty, yield, etc., distinguishing it from individual sibling tools that cover single 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 use for client-facing pitches but provides no explicit when-to-use guidance, exclusions, or comparisons with sibling tools like sg_property_analyze.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_property_rankBInspect
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 exist, so the description carries full burden. It discloses scoring factors (comps, yield, affordability, location) and region readiness, but lacks detail on behavioral traits like side effects (read-only?) or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. Every sentence adds value, though the second sentence could be more concise. Overall, 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 tool has 5 parameters (1 required) with 0% schema description coverage and an output schema present, the description is too sparse. It lacks guidance on input format for candidates, meaning of buyer profile, or how monthly income/debt are used.
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 minimal parameter context. 'Accepts properties' hints at the 'candidates' parameter, and 'Region-ready' hints at 'region', but no detailed semantics or format guidance is 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 clearly states the verb ('rank'), resource ('candidate Singapore properties'), and context ('investment value'). It distinguishes itself from siblings by noting region-readiness, but could be more specific about what 'investment value' scoring entails.
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 ranking properties via scoring factors, but does not explicitly state when to use vs alternatives (e.g., when to prefer sg_property_analyze). No when-not-to-use 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_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?
Without annotations, the description carries the full burden. It discloses the tax rate structures (owner-occupied progressive 0-32%, non-owner-occupied 10-20%, non-residential flat 10%), which is the core behavior. However, it does not mention edge cases, rounding, or how the annual value is used in calculation.
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, consisting of two short sentences. Every word adds value: the verb 'Calculate', the resource 'Singapore property tax', and the rate breakdown. No fluff or 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 the tool has 3 parameters and no annotations, the description is only partially complete. It provides essential rate information but lacks explanation of what annual_value means and how property_type and is_owner_occupied map to the rates. Since there is an output schema, return values are covered, but input semantics are insufficient.
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, but it does not explain any of the three parameters. While the schema titles ('Annual Value', 'Property Type', 'Is Owner Occupied') are somewhat self-explanatory, the description provides no additional meaning or context for how they affect the calculation beyond the rates.
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: 'Calculate Singapore property tax.' It provides specific tax rates for different categories, distinguishing it from sibling tools that deal with other property calculations like resale prices, rental yields, or 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 the tool should be used when computing Singapore property tax, but it does not explicitly state when to use or avoid this tool compared to alternatives. No guidance on prerequisites or exclusions is provided.
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 carries full burden for behavioral disclosure. Only mentions 'calculate', implying read-only operation, but provides no details on data sources, assumptions, or side effects. Lacks transparency about computational nature.
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 listing all computed metrics in a bullet-like fashion is efficient and readable. Could benefit from a more structured layout (e.g., separate lines) but remains concise without 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?
Output schema is present (presumably documenting return values) so description need not explain outputs. However, inputs lack context (e.g., property_price is purchase price, monthly_rent is gross), and no edge cases or constraints are mentioned. Adequate for a simple calculator 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?
Schema description coverage is 0% and the description does not supplement parameter meanings. While parameter names are intuitive (property_price, monthly_rent, annual_expenses), no units, currency, or format clarifications are provided. Description does not compensate for missing 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?
Description clearly states it calculates rental investment metrics and lists specific outputs (gross yield, net yield, etc.). Verb 'calculate' combined with resource 'rental investment metrics' provides good specificity, but does not explicitly differentiate from sibling tools like sg_affordability or sg_buy_vs_rent.
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. Does not mention prerequisites, typical scenarios, or exclusions. Sibling tools (e.g., sg_affordability) overlap in domain but no comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_salary_benchmarkBInspect
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 are provided, so the description bears full burden. It states returns median, percentile ranges, and annual equivalents from live data, but lacks details on side effects (none expected), rate limits, authentication requirements, or data recency. This leaves uncertainty.
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 two sentences. The first sentence front-loads the action and resource, the second adds return details. It avoids fluff, though it could benefit from a clearer structure such as listing parameters.
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 two parameters and an output schema (indicated but not provided), the description mentions return values (median, percentiles, annual equivalents) but lacks specifics on input role formatting or limit behavior. It is adequate but not fully complete for an agent to invoke without guesswork.
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 two parameters (role and limit) with 0% schema description coverage. The description does not elaborate on their meaning or expected values, such as expected role format or limit constraints. The description 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 tool benchmarks salary for a Singapore role using live MyCareersFuture job postings. It specifies the return includes median, percentile ranges, and annual equivalents. The sibling tools are mostly property/housing, so this tool is distinct.
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 'Free' and implies use when needing salary data for a Singapore role. However, it does not provide explicit guidance on when to use vs. alternatives or when not to use, such as data freshness or accuracy limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sg_school_proximityBInspect
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?
No annotations are provided, so the description carries full burden. It mentions the tool is 'Free' and splits schools by distance, but fails to disclose authorization needs, rate limits, or data freshness. Behavioral context is incomplete for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, concise, and front-loaded with the core purpose. Every sentence adds information, but the structure could be improved by listing parameters or usage conditions.
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 three parameters, no annotations, and an output schema that is not described, the description lacks details on return format, edge cases (e.g., invalid postal code), and behavior for missing parameters. It is insufficient for reliable agent 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 has 0% description coverage, and the description adds no explanation for the three parameters (postal_code, radius_km, school_type). It does not clarify valid values or defaults beyond what the schema provides, leaving the agent with no additional guidance.
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 finds primary/secondary schools near a Singapore postal code, with specific detail about distance splits for Primary 1 analysis. This distinguishes it from sibling tools which focus on HDB, MRT, property, and taxes.
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 school proximity analysis but provides no explicit guidance on when to use vs alternatives. There are no sibling tools with similar functionality, so the context is adequate but lacks exclusions or when-not-to-use instructions.
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?
No annotations provided, so description carries burden. It states returns 'total duty, tier breakdown, and effective rate' but does not disclose if calculations are up-to-date with current rates or any assumptions (e.g., currency). For a read-only calculation, this is adequate but not exhaustive.
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 clear, front-loaded sentences with zero waste. Every part contributes: purpose, parameter guidance, and return value description.
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, return value description is redundant but helpful. Parameter descriptions are incomplete, lacking details for 3 of 4 parameters. Overall functional 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 has 4 parameters with 0% description coverage. Only buyer_profile is explained with options; price, property_type, and property_count lack any explanation beyond their names. Fails to add meaning for most 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?
Clearly states 'Calculate Singapore property stamp duty (BSD + ABSD)', a specific verb+resource. Distinguishes from sibling tools (e.g., hdb_*, sg_affordability) which address different domains.
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 buyer_profile options (SC, SPR, FR, entity, developer) indicating when to use for different buyer types. However, does not explicitly state when not to use or mention alternative tools for related calculations.
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, the description carries the full burden. It discloses cost and parameter behavior (latest vs specific period) but does not mention authentication, rate limits, data freshness, or that the source is a public government dataset. This is adequate but could be more informative.
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 pack all essential information: purpose, data fields, parameter usage, and cost. No redundant words, and the most critical information ('Get developer units sold by project from URA') is front-loaded.
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 (one optional parameter, output schema exists), the description covers purpose, parameter semantics, cost, and key return fields. No gaps remain for an agent to infer.
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 sole parameter ref_period is explained well: empty for latest data, format '2506' for June 2025. The schema coverage is 0% in the input schema, so the description compensates fully by providing format and default behavior.
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 retrieves developer units sold by project from URA, listing specific data points (units launched, sold, remaining, median price). This distinguishes it from sibling tools like ura_transactions which focus on resale or rental median.
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 explicit usage guidance for the ref_period parameter (leave empty for latest, format '2506' for Jun 2025) and mentions cost. However, it does not contrast with alternatives like when to use ura_status or ura_transactions instead.
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 only states the data retrieved and cost ($0.05/call), but does not disclose whether the tool is read-only, authentication requirements, rate limits, or any side effects. This is insufficient for behavioral 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: two sentences. The first sentence states the core purpose, the second adds specific data points and cost. No unnecessary information, front-loaded.
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 no parameters and an output schema exists (not shown), the description adequately covers the purpose, data returned, and cost. It is complete for a simple pipeline tool, though more context on data scope or limitations would improve it.
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% trivially. The description does not add parameter info (none exist), but it provides context on what data the tool returns. Baseline for 0 parameters is 4.
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 verb 'Get' and the resource 'future private residential supply pipeline from URA'. It lists the data returned: upcoming projects, units planned, expected completion. This distinguishes it from sibling tools like ura_developer_sales or ura_rental_median.
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 'supply analysis' but provides no explicit guidance on when to use this tool versus alternatives like ura_developer_sales or ura_status. No exclusions or contexts 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 present. Description adds cost info ($0.05/call). Does not mention rate limits, authentication, or data freshness. Adequate but not thorough for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each valuable: purpose, filtering option, cost. Front-loaded with core purpose. 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?
Simple tool with one optional param and output schema present. Description covers purpose, filtering, and cost. Could mention data coverage or recency, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 0% schema description coverage. Description clarifies it's for filtering, and omitting gets all. Adds essential meaning 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?
States specific verb 'get', resource 'median rental rates ($psf/month)', scope 'private residential projects from URA'. Clearly distinguishes from sibling tools like ura_transactions and hdb_resale_median.
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 clear context: 'Filter by project name or get all.' Implies usage for median rental data, but no explicit when-not or alternative recommendations. Sibling list helps differentiation.
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 carries the full burden. It states the tool checks status and is free, but does not disclose if it is read-only, requires authentication, or has any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the tool's purpose. No extraneous 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 no parameters and the existence of an output schema, the description completely conveys the tool's functionality. No additional information is necessary.
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?
There are no parameters, and schema coverage is 100% (vacuously). The description adds no parameter information beyond the empty schema, so baseline 3 applies.
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 'Check' and the resource 'URA private property data connected and available', which is distinct from sibling tools that query specific datasets.
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 or when not to use it. The description only states the function, leaving the agent to infer usage context.
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 are provided, so the description carries the full burden. It discloses cost ($0.05/call) and that batch 1 is most recent, but lacks details on rate limits, error handling, or whether the operation is read-only. The output schema exists but is not described; however, the listed fields partially compensate.
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: three sentences, no unnecessary words. The purpose, returned fields, and key usage hint (batch) are front-loaded. Every sentence provides value.
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 (though not detailed here), the description covers the main purpose, parameter, and cost. It lacks context on data freshness beyond batch ordering and does not mention any limitations or prerequisites, but for a simple fetch tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'batch', is explained as indicating recency ('Batch 1 is most recent'), adding meaningful context beyond the schema's type and default. With 0% schema description coverage, this clarification is essential for correct usage.
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: 'Get private residential property transactions (caveat data) from URA.' It lists specific returned fields (project name, price, PSF, etc.), distinguishing it from sibling tools like ura_developer_sales or hdb_* tools. The verb 'Get' and resource 'transactions' are explicit.
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 context about batch usage ('Batch 1 is most recent') but does not give explicit guidance on when to use this tool vs alternatives like ura_pipeline or ura_developer_sales. No exclusions or prerequisites are mentioned, leaving the agent to infer usage from the tool name alone.
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!
Your Connectors
Sign in to create a connector for this server.