Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Tools are generally distinct, with clearly different purposes such as HDB transactions, MRT stations, salary benchmarking, and stamp duty. However, sg_property_analyze, sg_property_pitch, and sg_property_rank have overlapping roles in property analysis, though their descriptions differentiate them (comprehensive analysis vs. pitch generation vs. ranking).

    Naming Consistency5/5

    All tool names follow a consistent pattern: for Singapore-specific tools, 'sg_' prefix with domain and action (e.g., sg_gst, sg_mrt_search), and for HDB tools, 'hdb_' prefix with action (e.g., hdb_resale_median). Lowercase with underscores throughout.

    Tool Count5/5

    With 17 tools covering a broad range of Singapore property and financial topics, the count is appropriate. Each tool serves a specific function without unnecessary redundancy, and the set feels well-scoped for the intended domain.

    Completeness4/5

    The toolset covers major areas of Singapore property investment: transactions, stamp duty, affordability, rental yield, location intelligence, and salary benchmarking. Minor gaps exist (e.g., property tax, renovation costs), but the core workflows are well-supported, especially with the comprehensive sg_property_analyze tool.

  • Average 3.8/5 across 17 of 17 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 0 of 1 community issues answered or closed in the last 6 months
    • 126 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It mentions the interest rate but omits assumptions, limitations (e.g., CPF contribution caps, constant income), and whether it is read-only. This is insufficient for a tool that performs sensitive calculations.

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

    Conciseness5/5

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

    The description is two sentences with no wasted words. It front-loads the purpose and efficiently lists outputs. The 'FREE' tag is minor but does not detract.

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

    Completeness4/5

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

    Given the tool's simplicity (3 parameters, no output schema), the description adequately covers outputs and interest rate. However, it lacks details on contribution calculation rules and assumptions, so it is not fully complete.

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

    Parameters3/5

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

    The schema covers all parameters (100% coverage). The description adds that age is used for banding and mentions projections, but does not elaborate on how each parameter affects the output. Baseline 3 is appropriate as schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the tool estimates CPF OA accumulation for housing, specifying outputs like monthly contribution and projected balances. It is specific about the verb and resource, though it does not explicitly differentiate from sibling tools like sg_affordability.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as sg_affordability or sg_stamp_duty. The context is implied but lacks explicit when-to-use 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.

  • Behavior3/5

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

    Discloses that rates are market norms (CEA) and not legally fixed, which is useful. However, lacks details on how estimates are derived, if they vary by agent, or any disclaimers about accuracy. No annotations to supplement.

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

    Conciseness4/5

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

    Very concise, front-loaded with 'Estimate'. One sentence plus a few phrases. The 'FREE' at the end is extraneous but not harmful. Could be slightly more structured.

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

    Completeness2/5

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

    Lacks output description: does not specify if commission is returned as a percentage or amount, or both. With 4 parameters and no output schema, the description should clarify the return format for agent decision-making.

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

    Parameters3/5

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

    Schema coverage is 75% with 3 of 4 parameters described. The description adds the enum values for property_type (HDB, private, landed) and transaction_type (sale, rental) but does not significantly enhance parameter meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool estimates Singapore property agent commission for sale or rental transactions, covering HDB, private, landed. It is distinct from siblings like sg_rental_yield or sg_property_analyze, which focus on other metrics.

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

    Usage Guidelines2/5

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

    No guidance on when to use this vs alternative tools. It does not mention prerequisites, exclusions, or context such as when sg_rental_yield might be more appropriate.

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

  • Behavior3/5

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

    No annotations are provided, so the description must cover behavioral traits. It adds the cost context (PAID — auto-pay) which is useful, but does not disclose other behaviors such as rate limits, idempotency, or what happens if the wallet is not configured. The transparency is adequate but not comprehensive.

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

    Conciseness4/5

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

    The description is two sentences plus a parenthetical note, which is efficient and front-loaded. The first sentence states the core purpose, and the second lists output fields. Some minor redundancy with the schema exists, but overall it earns its space.

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

    Completeness3/5

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

    Given there is no output schema and no annotations, the description partially compensates by listing return fields and noting the payment model. However, it omits details like pagination (implied by limit param), error handling, or behavior when filters are combined. It is adequate but not fully complete for the tool's complexity.

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

    Parameters3/5

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

    The input schema has 100% coverage, with all five parameters described. The description only says 'with filters' without adding any meaning beyond what the schema already provides. Baseline score of 3 is appropriate as the schema does the heavy lifting.

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

    Purpose5/5

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

    The description uses the specific verb 'Search' and clearly identifies the resource as 'HDB resale transactions'. It lists the return fields (flat type, storey, area, price), distinguishing it from the sibling 'hdb_resale_median' which likely provides aggregated data. The purpose is unambiguous and well-defined.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. The only usage-related note is about payment (PAID — auto-pay if wallet configured), but it does not suggest strategic scenarios, prerequisites, or exclusions. There is no explicit 'when to use' or 'when not to use' information.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the tool is PAID and auto-pays if configured, which is a key behavioral trait. However, it omits other traits like rate limits, authorization requirements, or that it is read-only. The data source mention adds some transparency.

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

    Conciseness5/5

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

    The description is concise: three sentences covering purpose, return details, and payment. No fluff or redundancy. Information is front-loaded and easy to parse.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description covers the key aspects: what is returned (median prices, flat types, counts), data source, and payment model. It does not specify error handling or edge cases, but these are minor given the simplicity.

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

    Parameters3/5

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

    Schema description coverage is 100% (the only parameter is described in the schema). The description adds no additional meaning beyond the schema's explicit examples and uppercase instruction. The baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool gets HDB resale median prices by town, specifying the exact metrics (median prices by flat type, transaction counts). This is specific and distinguishes from sibling 'hdb_resale_search' which likely handles individual transactions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'hdb_resale_search'. It mentions payment but no explicit when/when-not context. Usage context must be inferred from the tool name and sibling names alone.

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

  • Behavior3/5

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

    No annotations are provided, so the description must convey behavioral traits. It mentions 'Rates verified against IRAS' and 'FREE', which add some transparency about data source and cost. However, it does not disclose if the tool makes external calls, has rate limits, or returns cached data. The output format is not described, leaving some uncertainty.

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

    Conciseness4/5

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

    The description is concise with four short sentences covering purpose, return values, profiles, and source verification. It is front-loaded and avoids unnecessary details. Slight improvement could group related info more structurally.

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

    Completeness3/5

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

    Given the tool has 4 parameters and no output schema, the description is moderately complete. It covers the core purpose and key profiles, but lacks explanation of property type differentiation, how property_count affects ABSD, and examples of return data. Sibling tools are diverse, so no direct conflict, but more context on output would help.

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

    Parameters3/5

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

    Schema description coverage is 50%, with descriptions only for 'price' and 'property_count'. The description adds value by defining the buyer_profile acronyms (SC, SPR, FR), but does not explain 'property_type' or the effect of 'property_count' beyond the schema's description. Overall, it compensates partially for the missing schema descriptions.

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

    Purpose5/5

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

    The description clearly specifies the tool calculates Singapore property stamp duty (BSD + ABSD) and returns total, effective rate, and breakdown. It names the resource and action precisely, distinguishing it from sibling tools like sg_income_tax 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.

    Usage Guidelines3/5

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

    The description implies usage by stating it calculates stamp duty, but does not explicitly state when to use vs alternatives or provide exclusions. There is no guidance on when not to use this tool, which leaves room for misinterpretation.

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

  • Behavior4/5

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

    With no annotations, the description fully bears the burden of transparency. It details the return data comprehensively (district, planning area, etc., plus 140+ MRT stations covering all lines). This provides good insight into tool behavior. Minor lacking: no mention of error handling for invalid postal codes, but acceptable.

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

    Conciseness5/5

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

    The description is extremely concise: one main sentence listing returns, plus two short clarifications. It is front-loaded with the core purpose. No unnecessary words.

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

    Completeness4/5

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

    Given no output schema, the description adequately lists what the tool returns. It covers the key aspects of address intelligence. However, it could clarify the format of coordinates or MRT distance/time, but the description is sufficiently complete for an agent to understand the tool's output.

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

    Parameters3/5

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

    The schema already describes the single 'postal_code' parameter with format and example. The tool description adds context about what the parameter's value will yield (the full intelligence), but it does not add new semantic detail about the parameter itself beyond the schema. Baseline 3 applies.

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

    Purpose5/5

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

    The tool name 'sg_address_intel' combined with the description clearly states it provides full address intelligence for a Singapore postal code. The list of returned items (district, planning area, market region, HDB town, coordinates, nearest MRT stations) is specific and distinguishes it from siblings like 'sg_mrt_near' which focus only on MRT stations.

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

    Usage Guidelines2/5

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

    The description does not specify when to use this tool versus alternative tools in the sibling list. For example, it doesn't explain differences from 'sg_postal_lookup' or 'sg_mrt_near'. The only contextual hint is '(FREE)' indicating no cost, but no usage guidance.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It clearly states the tool is paid ('PAID — auto-pay if wallet configured') and outlines the regulatory framework used. However, it does not disclose other behavioral traits like idempotency, caching, or rate limits.

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

    Conciseness4/5

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

    The description is concise with two sentences and a parenthetical. It front-loads the core purpose. However, it could be slightly more structured by separating the output description ('Returns max affordable loan and property price') into a clearer format.

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

    Completeness3/5

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

    Given the complexity (7 parameters, no output schema), the description provides adequate but not complete context. It explains the calculation framework but does not describe the output format, error scenarios, or edge cases (e.g., invalid loan_type, age limits). A more complete description would help an agent use this tool effectively.

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

    Parameters3/5

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

    Schema coverage is 100%, so baseline is 3. The description adds context about the TDSR and MSR ratios, which relate to the 'loan_type' parameter. However, it does not explain individual parameters beyond the schema, such as the meaning of 'housing_loan_count' or 'existing_monthly_debt' in the context of the calculation.

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

    Purpose5/5

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

    The description clearly states the tool calculates Singapore property loan affordability under MAS TDSR/MSR framework, specifying the key ratios (TDSR 55%, MSR 30% for HDB), LTV limits, and stress-tested interest rates. It distinguishes itself from sibling tools which focus on other property aspects like stamp duty, rental yield, or HDB resale prices.

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

    Usage Guidelines3/5

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

    The description implies the tool is for calculating affordability but does not explicitly state when to use it versus alternatives. It does not mention when not to use it, prerequisites, or context that would help an agent select it among siblings like sg_property_analyze or sg_cpf_housing.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses the tool is paid and auto-payment behavior, which is helpful. But it does not mention whether the tool is read-only, has side effects, or any other behavioral traits.

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

    Conciseness5/5

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

    Two concise sentences convey the purpose and payment requirement without fluff. Every word earns its place.

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

    Completeness4/5

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

    The description covers the main actions and outputs, and the payment disclosure is critical for agent decision-making. It lacks assumptions or examples, but given the tool's simplicity, it is fairly complete.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are already well-described. The description adds the computed metrics, which provides context but does not enhance parameter meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states it calculates rental investment metrics for Singapore property and lists specific outputs (gross yield, net yield, cap rate, etc.). This distinguishes it from sibling tools like hdb_resale_median or sg_property_analyze, which focus on other aspects.

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

    Usage Guidelines3/5

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

    The description mentions it's a paid tool with auto-pay if wallet configured, giving context on when it can be used. However, it does not explicitly state when to use this tool versus alternatives or provide any usage restrictions.

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

  • Behavior3/5

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

    No annotations are provided, so the description must convey behavioral traits. It states the tool is free and covers all districts, which adds context, but it does not disclose any limitations, rate limits, authentication needs, or potential errors. For a simple lookup, this is adequate 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.

    Conciseness5/5

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

    The description is extremely concise: two sentences that front-load the core action and outputs. Every word contributes to understanding, with no redundancy. It efficiently conveys purpose, scope, and cost.

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

    Completeness5/5

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

    Given the tool's simplicity (one parameter, no output schema) and the context signals (100% schema coverage, no nested objects), the description is complete. It specifies what information is returned (district number, name, area names) and that it covers all 28 districts. No additional details are necessary for correct usage.

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

    Parameters3/5

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

    The input schema already describes the parameter 'postal_code' with format details (6 digits, example). The description does not add additional meaning beyond what the schema provides. With 100% schema coverage, a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Look up Singapore postal code to find the district number, district name, and area names.' It uses a specific verb ('look up') and resource ('postal code'), and the mention of covering all 28 districts distinguishes it from sibling tools that focus on HDB, property, or MRT data.

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

    Usage Guidelines3/5

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

    The description explains the tool's scope ('Covers all 28 postal districts') and notes it is free, but does not explicitly state when to use this tool over alternatives or provide exclusion criteria. While the sibling tools are distinctly different, the lack of direct usage guidance makes this dimension adequate but not strong.

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

  • Behavior3/5

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

    No annotations are provided, so the description must cover behavioral traits. It states the tool is free and returns marginal breakdown, effective rate, and tax payable, but does not disclose any side effects, rate limits, or prerequisites (e.g., valid income range). For a simple calculator, this is adequate but not comprehensive.

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

    Conciseness5/5

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

    The description is two sentences, front-loading the purpose and concisely summarizing rates and outputs with no extraneous information.

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

    Completeness4/5

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

    Given no output schema, the description explains return values (marginal breakdown, effective rate, tax payable). It covers all four parameters implicitly through rate context, but lacks explicit mention of income limits or error handling. Overall, it is sufficiently complete for a straightforward calculation tool.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already describes each parameter. The description adds context about tax rates and residency, but does not provide additional semantics beyond the schema. Baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool calculates Singapore individual income tax, specifies rates for residents and non-residents, and lists return values. It distinguishes from sibling tools like sg_gst and sg_stamp_duty, which cover different tax types.

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

    Usage Guidelines4/5

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

    The description indicates the tool is for Singapore income tax calculations, with rate details for residents and non-residents. While it doesn't explicitly state when not to use or list alternatives, the sibling context (e.g., sg_gst) makes the usage clear.

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

  • Behavior4/5

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

    Without annotations, description carries full burden. It discloses free access and return fields, but omits rate limits, authentication needs, or read-only nature. 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.

    Conciseness5/5

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

    Two sentences, front-loaded with primary purpose, no wasted words. Efficient and clear.

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

    Completeness4/5

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

    Given low complexity and complete schema coverage, description adequately covers inputs and outputs. Could mention error handling or result limits, but sufficient for typical use.

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

    Parameters3/5

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

    Schema coverage is 100% with descriptions for both parameters. Description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states it finds nearest MRT/LRT stations to a Singapore postal code, specifies return fields, and distinguishes from sibling sg_mrt_search which likely searches by station name.

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

    Usage Guidelines3/5

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

    The description implies use when you have a postal code and need stations, but lacks explicit when-not-to-use or alternative tool guidance. The 'FREE' note is helpful but not comprehensive.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It details enrichment with stamp duty, transaction comps, rental yield, affordability, location data, and returns ranked scores across 4 dimensions. It also flags PAID status. No contradictions.

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

    Conciseness4/5

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

    The description is concise (4 sentences) and front-loaded with the main purpose. It efficiently covers enrichment, scoring dimensions, and use case. The PAID note is relevant but could be slightly integrated.

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

    Completeness3/5

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

    With 5 parameters, nested input, and no output schema, the description explains the return value (ranked list with scores) but lacks details on output structure or data format. It is adequate for a ranking tool but not fully complete given the complexity.

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

    Parameters3/5

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

    Schema description coverage is 80%. The description adds context to some parameters like region (SG supported now, others planned) and candidates (max 50, min 1). However, it doesn't elaborate on parameter details beyond what the schema already provides, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool ranks multiple candidate properties by investment value, accepts properties from any source, and enriches with multiple data dimensions. It distinguishes itself as the 'decision layer' versus sibling tools like sg_property_analyze which likely analyze a single property.

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

    Usage Guidelines4/5

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

    It explicitly says this is the decision layer after gathering listings, and mentions PAID/auto-pay. It doesn't explicitly exclude use cases, but the context and sibling names imply when to use (after gathering) and not to use (before or for single property analysis).

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

  • Behavior3/5

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

    No annotations provided. Description mentions coverage (140+ stations, 6 lines) and 'FREE' cost hint. Lacks details on auth, read-only nature, pagination, or response structure.

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

    Conciseness5/5

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

    Two concise sentences, 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.

    Completeness5/5

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

    For a simple search tool with 2 parameters and no output schema, description adequately explains return values (name, line codes, coordinates) and coverage. Sufficient for agent to invoke correctly.

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

    Parameters4/5

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

    Schema covers both parameters with descriptions. Description adds value with partial match clarification, example values, and default limit. More helpful than schema alone.

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

    Purpose5/5

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

    Clearly states 'Search MRT stations by name' with specific verb and resource. Returns station name, line codes, coordinates. Distinguishes from sibling sg_mrt_near which likely does proximity search.

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

    Usage Guidelines3/5

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

    Implied usage for searching by name, but no explicit when/not to use or alternatives. No guidance on when to use sg_mrt_near instead.

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

  • Behavior4/5

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

    No annotations provided, but description discloses paid nature ('PAID — auto-pay if wallet configured'), data sources, and output (verdict with risk flags). This provides critical behavioral context beyond what the schema gives.

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

    Conciseness4/5

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

    The description is dense and front-loaded with key value proposition. Minimal fluff, though the mention of future region expansion could be seen as slightly extraneous.

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

    Completeness4/5

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

    Given 13 parameters, no output schema, and no annotations, the description covers scope, data sources, paid status, and output nature. Lacks specifics on response format but is adequate for a comprehensive analysis tool.

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

    Parameters3/5

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

    Schema coverage is 85%, so parameters are already well-documented. The description adds overview context but doesn't provide additional semantics for individual parameters beyond the schema's existing descriptions.

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

    Purpose5/5

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

    Description states 'COMPLETE property investment analysis in one call' and lists specific components (stamp duty, HDB comparables, rental yield, etc.), clearly distinguishing it from sibling tools like sg_stamp_duty, sg_affordability, which are more focused.

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

    Usage Guidelines4/5

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

    The description implies use for comprehensive analysis and notes it's the most comprehensive endpoint, but does not explicitly state when to use sibling tools instead or exclude scenarios. However, the context is clear enough.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses data source (MyCareersFuture, live, not self-reported), nature (real employer-posted), and cost (FREE). Missing details like rate limits or update frequency, but overall transparent.

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

    Conciseness5/5

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

    Two sentences, no fluff. Action verb 'Benchmark' is front-loaded. Every word adds value.

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

    Completeness3/5

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

    Description is adequate for a simple lookup tool, but lacks details about output format (e.g., JSON structure, exact percentile fields). With no output schema, more explicit expectations would improve completeness.

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

    Parameters3/5

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

    Schema coverage is 100%, so parameters are already described. Description does not add extra meaning beyond schema (e.g., role as job title, limit as max listings). Baseline 3 is appropriate.

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

    Purpose5/5

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

    Description clearly states the tool benchmarks salary for a Singapore role using live government job portal data. It specifies outputs (median, percentile ranges, annual equivalents) and highlights differentiation from self-reported data. No sibling tools overlap, making it distinct.

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

    Usage Guidelines4/5

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

    Context is clear: use for Singapore salary benchmarking. No explicit when-not or alternatives given, but no sibling salary tools exist. Guidance is adequate for the tool's unique function.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses that the tool is paid and auto-pays if a wallet is configured, which is critical for an AI agent to understand before invocation. It also describes the broad behavioral output (a pitch combining multiple analyses). It does not explicitly state it is read-only or list rate limits, but the paid nature implies no destructive action. The transparency is good given the complexity.

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

    Conciseness5/5

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

    The description is extremely concise: three sentences that front-load the core purpose, list key components, and note the paid nature. Every sentence adds value with no redundancy.

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

    Completeness3/5

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

    Given the complexity (15 parameters, no output schema), the description adequately outlines the tool's purpose and inputs. However, it does not describe the output format or structure beyond 'one-page analysis' and 'plain-English verdict'. With no output schema, more detail on the return value would improve completeness. The paid aspect is noted, but prerequisites (wallet configuration) are only implied.

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

    Parameters4/5

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

    Schema description coverage is high (80%), so baseline is 3. The description adds meaning by explaining how the parameters are used together ('Combines price fairness... stamp duty breakdown, MAS affordability check...'), beyond the individual field descriptions. This helps an agent understand which parameters are relevant for the pitch output.

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

    Purpose5/5

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

    The description clearly states the tool's purpose ('Generate a complete property investment pitch') and specifies what it combines (price fairness, stamp duty, MAS affordability, rental yield, location intelligence, tenure risk, verdict). It also distinguishes itself from siblings by claiming to be the 'highest-value output for property agents and investors'.

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

    Usage Guidelines4/5

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

    The description implies use when a comprehensive property pitch is needed, calling it a 'one-page analysis' and 'highest-value output'. It mentions a paid model, but does not explicitly list when to use alternatives like sg_property_analyze or sg_affordability. However, the context is clear enough for an agent to infer this is the go-to for a full pitch.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses the mode behavior and GST rate (9% from 1 Jan 2024). Adequate for a stateless 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.

    Conciseness5/5

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

    Two sentences with no waste. First sentence states action and rate, second explains modes. The 'FREE' tag is minor but does not detract.

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

    Completeness4/5

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

    Simple tool with no output schema; description covers purpose and parameters sufficiently. Could mention output format but not necessary for clarity.

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

    Parameters4/5

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

    Schema coverage is 100% with descriptions for both parameters. Description adds value by specifying the GST rate and date context beyond schema.

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

    Purpose5/5

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

    The description clearly states the tool adds or removes Singapore GST with specific rate and date. It distinguishes itself from sibling tools which are about property, HDB, salary, etc.

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

    Usage Guidelines4/5

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

    The description explicitly explains when to use 'add' vs 'remove' mode with clear behavior. It does not include explicit exclusions but is sufficient for a simple calculator.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

bounty-api MCP server

Copy to your README.md:

Score Badge

bounty-api MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vncent786/bounty-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server