Skip to main content
Glama
ai-engineers-guild

Apartment Hunter MCP Server

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools have distinct purposes, but `semantic_search` and `search_apartments` could be confused without reading descriptions. Also `analyze_apartment` and `get_apartment_details` overlap slightly.

    Naming Consistency4/5

    The majority follow a clear verb_noun pattern in snake_case. `semantic_search` is the main deviation, being adjective_noun, but it still reads naturally.

    Tool Count5/5

    With 15 tools, the server covers all major apartment hunting workflows (discovery, analysis, monitoring, comparison) without being overwhelming.

    Completeness4/5

    Core operations like search, details, analysis, and profile management are covered. Missing an update search profile tool is a minor gap, but the set handles the primary use cases.

  • Average 3.6/5 across 15 of 15 tools scored. Lowest: 2.4/5.

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

    • No community issues in the last 6 months
    • 15 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
  • This repository is licensed under MIT License.

  • 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?

    No annotations are present, so the description carries full burden for behavioral disclosure. It does not mention that the operation is read-only, nor any side effects, rate limits, or auth requirements. The description is too minimal.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise but lacks necessary detail. It is not optimally structured to convey key information upfront.

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

    Completeness2/5

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

    Given the tool has one parameter and no annotations, the description is incomplete. Even though an output schema exists, the description does not hint at the return format. The tool needs more context for an agent to use it correctly.

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

    Parameters1/5

    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 the single parameter 'source_id'. The schema only shows it is a required string, leaving the agent guessing its meaning (e.g., apartment ID vs external ID).

    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 retrieves price change history for an apartment, using a specific verb and resource. However, it does not elaborate on what the history includes, but it is sufficient to distinguish from siblings like get_apartment_details.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like compare_apartments or get_apartment_details. There is no mention of prerequisites or context for usage.

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

  • Behavior2/5

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

    No annotations provided; description does not disclose destructive nature, permanence, or required permissions for deletion.

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

    Conciseness3/5

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

    Single sentence is concise and front-loaded, but may be too terse for a deletion operation.

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

    Completeness2/5

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

    Despite simplicity, description lacks information on return value or confirmation, and missing behavioral details for a destructive action.

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

    Parameters1/5

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

    Schema coverage is 0%; description only says 'by ID' without explaining what profile_id is (e.g., format, source), adding no meaningful semantics 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?

    Description clearly states verb 'Delete', resource 'search profile', and method 'by ID', differentiating from siblings like create_search_profile and list_search_profiles.

    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 tool vs alternatives, no when-not or prerequisites mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully communicate behavioral traits. It only states creation and purpose but omits details like idempotency, permissions, rate limits, or side effects (e.g., whether existing profiles are overwritten). The agent lacks key safety information.

    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 and front-loads the purpose. However, given 16 parameters, it could be more structured to highlight key parameters or defaults. Still, it is efficient and avoids unnecessary detail.

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

    Completeness2/5

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

    Despite high parameter count and an output schema (not detailed), the description does not explain the output (e.g., profile ID), required parameters, or defaults. For a creation tool with many options, this insufficiently prepares the agent 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?

    Schema coverage is 75%, so baseline is 3. The description mentions 'filters and preferences' but does not elaborate on any specific parameters beyond what the schema provides. It adds no additional meaning to the parameter definitions.

    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 creates a search profile for ongoing apartment monitoring, specifying that it defines filters and preferences for the ingestion pipeline to fetch apartments and send notifications. This distinctly sets it apart from sibling tools like list_search_profiles or delete_search_profile.

    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 for setting up ongoing monitoring but does not explicitly mention when to use it over alternatives like search_by_profile or when not to use it. No exclusions or alternative guidance is provided, leaving the agent to infer context.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states the use of semantic/vector search but does not disclose key behaviors such as result ranking, pagination, error handling, or whether queries are case-sensitive. The description is minimal and leaves behavior largely inferred.

    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 short and front-loaded with purpose, followed by examples and available filters. It avoids redundancy but could be slightly more structured (e.g., separate sections). No wasted words.

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

    Completeness2/5

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

    Given 5 parameters, 0% schema coverage, no annotations, and an output schema (not shown), the description is too brief. It does not clarify what the output contains or how results are returned. For a semantic search tool, missing details like relevance scores or result format limit 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 0%, so description must compensate. It mentions optional filters (city, max price, room count) and provides examples, but does not explain the 'n_results' parameter or the exact format of filter values. The examples add some value beyond the schema, but for 5 parameters, more detail is needed.

    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 verb ('search') and resource ('apartments'), specifies the method ('semantic/vector search'), and distinguishes from sibling tools like 'search_apartments' (likely keyword-based) and 'search_by_profile'. Examples illustrate the type of queries supported, making the purpose unambiguous.

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

    Usage Guidelines3/5

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

    The description provides examples and mentions optional filters, but does not explicitly guide when to use this tool versus alternatives (e.g., keyword-based search or profile-based search). It implies use for natural language queries but lacks explicit context or exclusions.

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

  • Behavior3/5

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

    The description discloses that it forces re-analysis, which is a behavioral trait. However, it does not mention potential costs, latency, or rate limits associated with LLM usage, leaving some transparency gaps.

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

    Conciseness4/5

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

    The description is efficient with 4 sentences, front-loaded with the main purpose. Minor redundancy (e.g., 'apartment' repeated).

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

    Completeness3/5

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

    The observation of output schema (not visible but known) covers return values. However, the missing parameter explanation and lack of behavioral details like cost/speed make it slightly incomplete for a tool involving LLM analysis.

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

    Parameters2/5

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

    The parameter source_id is required but not explained in the description. With 0% schema coverage, the description should clarify what the source_id refers to (e.g., an apartment ID or URL), but it only vaguely mentions 'specific apartment'.

    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 runs LLM analysis on a specific apartment, scoring it on several factors and returning structured results. It distinguishes itself from siblings like compare_apartments and get_apartment_details.

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

    Usage Guidelines4/5

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

    The description explicitly mentions that the tool forces re-analysis even if already analyzed, implying it should be used when a fresh analysis is needed. It does not provide explicit when-not-to-use or alternatives, but 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?

    Without annotations, the description fully describes the behavior: downloads photos, returns absolute paths, and implies the photos are saved locally. It doesn't cover permissions or error handling, but the core action is 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, front-loaded with the action, no wasted words. The description is concise and well-structured.

    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 an output schema present (though unknown), the description covers return values adequately. However, it lacks parameter explanations and does not address edge cases like missing photos or errors, making it incomplete for a simple tool.

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

    Parameters1/5

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

    The input schema has 0% coverage and the description does not mention any parameters. The agent receives no guidance on what source_id or limit mean, leaving them to guess.

    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 explicitly states the tool downloads apartment photos locally and returns absolute paths for inspection. It clearly distinguishes from sibling tools like search or analysis because it's about downloading for visual inspection.

    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 tells when to use the tool (when the AI needs to inspect photos) and instructs the next step (use view_file on the returned paths). It doesn't explicitly state when not to use, but the context is clear.

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

  • Behavior2/5

    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 that the tool returns 'LLM analysis, price history, and photos,' but does not specify whether the operation is read-only, any authorization requirements, or potential side effects. This leaves significant ambiguity for a tool with no annotation support.

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

    Conciseness5/5

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

    The description is extremely concise, consisting of two short sentences. The first sentence immediately states the purpose and parameter, and the second sentence lists the key return fields. No superfluous information is present.

    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 (single parameter, output schema exists), the description covers the essential aspects: what it does, the parameter format, and the scope of returned data. It does not mention limitations or error conditions, but these are less critical for a straightforward retrieval tool with a well-defined output schema.

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

    Parameters4/5

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

    The schema provides no description for the 'source_id' parameter (0% coverage), so the description must compensate. It does so effectively by providing a concrete example ('krisha:1013405508'), clarifying the expected format. However, it only gives one example, which may not cover all possible source_id patterns.

    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: get full details for a specific apartment by source_id. It uses a specific verb ('Get') and resource ('apartment details'), and distinguishes itself from sibling tools like get_price_history or search_apartments by focusing on comprehensive retrieval with all available fields.

    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 when you have a source_id and need full details, but does not explicitly state when to avoid this tool or mention alternative tools for more specific queries (e.g., get_price_history for price-only data). The example format aids understanding but lacks exclusionary guidance.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Lacks details on data freshness, performance implications, auth requirements, or any side effects. Only states it shows statistics, which is minimal behavioral disclosure.

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

    Conciseness5/5

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

    Two concise sentences, front-loaded with purpose. No redundant phrasing. Every word adds value.

    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?

    With zero parameters and an output schema expected, the description provides sufficient context for a simple stats retrieval tool. Ends with 'etc.' hinting at more fields, but overall adequate.

    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?

    No parameters exist, so schema coverage is 100%. Description adds value by listing the types of statistics returned, beyond the schema. Baseline for zero parameters is 4.

    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 it retrieves statistics about the apartment database, listing specific metrics like total apartments, new apartments, analyzed count, average prices, and scores. Distinct from sibling tools that focus on individual properties or comparisons.

    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?

    Implies use when needing aggregate database statistics, but does not specify when to use versus other analytical siblings like analyze_apartment or compare_apartments. No explicit when-not or alternative guidance.

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

  • Behavior3/5

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

    With no annotations, the description carries full weight. It discloses that only analyzed apartments are returned and that results are sorted by LLM score. However, it does not mention read-only nature, pagination, or any side effects, leaving gaps for a mutation-free tool.

    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 four sentences, front-loaded with the main action. Each sentence adds value, but the third sentence about filtering is slightly redundant with the second. No wasted words overall.

    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 4 parameters, no annotations, and an output schema present, the description covers most but not all essential aspects. Missing explanation for 'limit' and sorting direction. Adequate for basic use but lacks full detail for confident tool selection.

    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 0%, so description must compensate. It explains three parameters (city, rooms, price_max) but misses the 'limit' parameter, and does not clarify the 'rooms' array's meaning (e.g., number of bedrooms) or price_max semantics. Adds some value but incomplete.

    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 'Get top-rated apartments sorted by LLM score', specifying the verb, resource, and sorting criterion. It distinguishes from siblings like 'get_new_apartments' and 'search_apartments' by focusing on top-rated analyzed apartments.

    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 provides clear context for when to use (to get highest-scored apartments) and mentions optional filters (city, rooms, price). However, it lacks explicit when-not-to-use guidance or direct comparison to sibling tools.

    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 'active' filter, a behavioral trait beyond schema. No annotations provided, so description partially covers transparency but omits read-only guarantee or auth needs.

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

    Conciseness5/5

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

    Single sentence, no waste. Front-loads purpose effectively.

    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?

    Adequate for simple list with no params and existing output schema. Lacks mention of sorting or pagination, but acceptable.

    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?

    No parameters, schema coverage 100%. Description adds nothing but is appropriate for zero-parameter case.

    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 'list' action on 'search profiles' with 'active' filter. Distinct from siblings like create_search_profile and delete_search_profile.

    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 vs alternative tools (e.g., search_by_profile). No prerequisites or conditions mentioned.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It mentions comparing key characteristics but does not specify what those characteristics are, nor any behavioral details like read-only nature or side effects. Adequate but could be more explicit.

    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, no fluff, and front-loads the primary purpose. 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?

    With an output schema present, the description need not detail return values. It covers the core action and constraint (2-5 apartments). Minor gap: no indication of error handling for invalid numbers of source_ids.

    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 0%, so the description adds value by referring to 'source_ids' and explaining they are lists to compare. However, it does not provide format or origin details, missing an opportunity to fully compensate for the schema lacking 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 states the tool compares apartments side by side, with a specific number range (2-5), distinguishing it from sibling tools like 'analyze_apartment' or 'get_apartment_details' which focus on single apartments.

    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 instructs to provide a list of source_ids, making the when-to-use clear (comparing multiple apartments). However, it does not explicitly mention when not to use it or compare with alternatives, but the context is sufficient.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses the time filter and sorting, but omits details like pagination, result limits, or behavior when no new apartments exist. This is adequate but minimal.

    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 that front-load the key behavior. Every word adds value; no redundancy or filler.

    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 existence of an output schema (which explains return values) and the tool's simplicity (one optional parameter), the description covers the main functionality. Minor gaps like pagination details are acceptable since the output schema likely handles them.

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

    Parameters4/5

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

    The schema provides only a parameter name and default. The description adds critical meaning by explaining that 'since_hours' is in hours and that the default is 24. With 0% schema description coverage, the description compensates well.

    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 retrieves apartments discovered within a recent time window (default 24 hours), sorted by score. This distinguishes it from sibling tools like 'get_top_apartments' (likely all-time) and 'search_apartments' (query-based).

    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 for recent discoveries but does not provide explicit when-to-use or when-not-to-use guidance, nor does it name alternative tools. It is clear but lacks exclusions.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses that the operation fetches, analyzes, notifies, and may take several minutes. However, it does not specify side effects like data mutation, permission requirements, or cancellability, which are important for a pipeline run.

    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 with two sentences plus a one-sentence warning. Front-loaded with the primary action, no redundant information, and easy to parse. Every sentence contributes useful 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 the tool has an output schema, return values need not be explained. The description covers the core functionality and behavior (time consumption). However, it could be more complete by mentioning error handling or impact on existing data, but overall sufficient for a pipeline tool.

    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 0%, but the description explains the single parameter profile_id: it specifies the profile to run for, or if null, all active profiles. This adds meaningful context beyond the schema's type definition, though format details are not provided.

    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 runs the data ingestion pipeline, detailing actions: fetches, analyzes, notifies. It uses a specific verb 'run' and resource 'data ingestion pipeline,' effectively distinguishing it from sibling tools like analyze_apartment or search_apartments.

    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: run ingestion to process apartments for a profile or all profiles. It mentions the time-consuming nature but lacks explicit guidance on when to use versus alternatives or when not to use. No exclusions or alternative tool references.

    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 fully convey behavioral traits. It mentions 'structured filters' and returns a list, but lacks details on pagination, ordering, error handling, or required permissions. It 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?

    Three sentences that are front-loaded and efficient: purpose, then return type, then usage guidance. No wasted words.

    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 (9 optional parameters) and presence of an output schema, the description is incomplete. It does not explain default behaviors, parameter interactions, or constraints. Could be more detailed while remaining concise.

    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 0% coverage (no parameter descriptions). The description compensates by listing example filters (price, rooms, area, district), but not all 9 parameters are covered, and no format or constraints are given. Adds some value but not fully compensatory.

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

    Purpose5/5

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

    The description clearly states the tool searches apartments by structured filters and distinguishes it from semantic_search. It uses a specific verb ('Search') and resource ('apartments'), and explicitly contrasts with a sibling tool.

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

    Usage Guidelines5/5

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

    Provides explicit guidance on when to use this tool (precise filtering by price, rooms, etc.) and when to use an alternative ('use semantic_search instead'). This is exemplary 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?

    No annotations are provided, so the description carries the full burden. It discloses the use of hard filters and vector search, and explains the hours=0 behavior. It does not explicitly state if the tool is read-only, but the action 'Show' implies no 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.

    Conciseness5/5

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

    The description is extremely concise with two sentences plus a note, all front-loaded with the main purpose. Every sentence adds value with no redundancy.

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

    Completeness4/5

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

    Given the tool's complexity (semantic search with profile), the description explains the core logic and key parameter behavior. The presence of an output schema covers return values, so completeness is high. A minor gap is the lack of explanation for the limit parameter.

    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 has 3 parameters with 0% description coverage. The description provides meaningful context for hours (explaining the special value 0 disables time filter), but does not explain limit or profile_id beyond their roles as inputs. Baseline is 3 due to lack of schema descriptions, and the description partially compensates.

    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 shows apartments matching a search profile, ranked by semantic similarity. It distinguishes itself from sibling tools like search_apartments and semantic_search by specifying it uses a profile's hard filters and nl_description.

    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 provides clear context on when to use this tool (when you have a profile) and gives a specific tip about hours=0. However, it does not explicitly state when not to use it or mention alternatives, though the sibling list implies differentiation.

    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

apartment-hunter MCP server

Copy to your README.md:

Score Badge

apartment-hunter 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/ai-engineers-guild/apartment-hunter'

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