Skip to main content
Glama
lonewolfmasanaga

zameen-mcp

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct action: searching, fetching details, listing cities, managing watches (add/check/remove/list), drafting messages, and checking account status. There is no overlap or ambiguity between any two tools.

    Naming Consistency5/5

    Tool names consistently use snake_case with a verb-noun pattern (search_properties, get_listing_details, add_watch, check_watch, remove_watch, list_watches, draft_agent_message). The only exception is account_status, but it still follows the same clear, predictable structure.

    Tool Count5/5

    Nine tools is well within the ideal 3–15 range and matches the server's scope of property search and watchlist management. Each tool serves a clear purpose without unnecessary bloat.

    Completeness4/5

    The tool surface covers all core workflows: searching, viewing details, city metadata, full watch lifecycle (create, check, remove, list), message drafting, and auth status. Minor gap: no update/edit operation for watches, but users can remove and recreate, so it's not a blocking omission.

  • Average 4/5 across 9 of 9 tools scored. Lowest: 3.3/5.

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

    • No community issues in the last 6 months
    • 7 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 failing
  • 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?

    With no annotations, the description must disclose behavioral traits. It only says 'Delete' without mentioning whether deletion is permanent, what happens if the name is not found, whether any confirmation or side effects occur, or the scope of 'local'. The term 'local' is ambiguous and not elaborated.

    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?

    A single sentence with no filler, front-loaded with the action verb. It conveys the essential purpose without unnecessary words, making it efficient and easy to parse.

    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?

    While an output schema exists, the description lacks any mention of error handling, behavior on nonexistent watchlists, or confirmation requirements. Given the simplicity of the operation and the presence of an output schema, it is partially complete but leaves important behavioral questions unanswered.

    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 must clarify the parameter's purpose. It states 'by name', which identifies the parameter as the watchlist identifier. However, it does not add detail about format, length, or case sensitivity, though for a single simple string parameter this is likely sufficient.

    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 a specific verb 'Delete' and resource 'local watchlist by name', making it distinct from siblings like add_watch, check_watch, and list_watches. The description unambiguously identifies the action without ambiguity.

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

    Usage Guidelines2/5

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

    Provides no guidance on when to use this tool versus alternatives, such as add_watch or check_watch. It implies deletion by name but does not specify any prerequisites, contexts, or exclusions. An agent must infer usage solely from the verb.

    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?

    Since no annotations are present, the description carries the full behavioral burden. It discloses that the watchlist is stored on disk and is local, explicitly stating 'Nothing is saved to your Zameen account.' It also explains the seed_with_current parameter behavior. However, it does not mention potential side effects like name conflicts or file overwriting, a minor gap.

    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 compact—three sentences—and the core action is front-loaded in the first sentence. Each subsequent sentence adds relevant context (relationship to check_watch, seed behavior, local nature) without redundancy. It is appropriately terse, though it could be structured more to highlight parameter usage.

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

    Completeness2/5

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

    With 12 parameters, 0% schema coverage, and no annotations, the description is not complete enough. It explains the general concept and one parameter, but omits definitions for the remaining parameters and how the search criteria are composed. While an output schema is present, the tool's input semantics are underexplained, forcing an agent to guess during invocation.

    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?

    Schema description coverage is 0%, so the description must compensate but fails to. It only briefly explains 'seed_with_current' and does not define any of the other 11 parameters (purpose, agent_tier, min_area_marla, etc.). Agents are left to guess meanings of parameters like 'purpose' and 'exclude_promoted', making the description inadequate for a 12-parameter tool.

    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 starts with a clear action: 'Create a named local watchlist from search criteria (stored on disk).' It specifies the resource (watchlist), the basis (search criteria), and immediately contrasts with account-level operations by noting 'Nothing is saved to your Zameen account — this is a local file.' This effectively distinguishes the tool from siblings like search_properties and account_status.

    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 the companion tool check_watch ('Watches are re-checked later with check_watch') which implies a monitoring workflow, but it does not explicitly state when to use add_watch instead of search_properties or when to avoid it. There is no explicit 'use this when' or 'use search_properties for one-time searches' guidance, leaving some decision-making to inference.

    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 provided, the description carries the full burden of behavioral disclosure. It clearly states it NEVER sends anything, fetches listing details, and produces text for manual use. This covers the most critical behavior (non-sending) and gives context about the fetch operation. It does not mention potential failure modes or permissions, but for a draft tool this is reasonably 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 two sentences with zero waste. The main purpose is front-loaded, followed by a concise explanation and a crucial non-sending clarification. Every sentence adds value and there is 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?

    The description explains what the tool does and its non-sending nature, which is sufficient for understanding the high-level action. However, it gives no guidance on parameter usage (which is partially addressed in the parameter_semantics score) and does not mention any prerequisites (e.g., needing a valid listing ID). Given the tool has 4 parameters and an output schema, more details on how to structure the request would improve completeness.

    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%, so the description must compensate, but it provides no explanation of any parameter (listing, tone, questions, sender_name). The tool name hints at some semantics, but without any detail an agent cannot know what values to supply, especially for 'tone' or 'questions'. This is a significant gap.

    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 states a specific verb ('Draft'), a resource ('a polite inquiry message to a listing's agent'), and explicitly clarifies it does NOT send. This clearly distinguishes it from sibling tools like get_listing_details or account_status, so an agent can immediately understand its unique purpose.

    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 when to use it (when you need a drafted message, not a sent one) and the emphasis on 'human action' suggests this is for manual follow-up, but it does not explicitly name alternatives or state 'use X instead when you want to send'. There's no explicit when-not guidance, leaving some inference required.

    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 provided, the description carries the full burden and it delivers: 'Read-only against Zameen' explicitly disclaims mutation, and 'the only state kept is the local id list' preempts the natural worry about persistent side effects from re-running a watch. This is exactly the transparency an agent needs when annotations are absent. Minor gap: no disclosure of error behavior for a nonexistent watch name.

    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, zero filler. The core action and differentiator are front-loaded in sentence one, and sentence two adds the single most valuable behavioral fact (read-only). Every word contributes.

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

    Completeness3/5

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

    For a two-parameter tool with an output schema covering return values, the description is largely adequate: purpose, read-only nature, and state semantics are all stated. The gap is that both parameters — especially the required 'name' — remain semantically unexplained, and error conditions for an unknown watch are unaddressed.

    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?

    Schema description coverage is 0%, so the description bears full responsibility for explaining parameters, yet it explains neither. 'name' (required) is only inferable as the watch identifier from the phrase 'saved watch', and 'limit' is never described as capping the number of reported NEW listings. The output schema covers return shape but not how these inputs steer it.

    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?

    States a precise verb-resource pairing: re-run a saved watch's search. The 'report NEW listings since last check' clause is the decisive differentiator, cleanly separating it from search_properties (ad-hoc search), add_watch/remove_watch/list_watches (watch lifecycle), and get_listing_details (per-listing detail).

    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 'NEW listings since last check' phrasing clearly implies the incremental-monitoring use case, and 'Re-run a saved watch's search' situates it against a previously created watch. However, no sibling is named and there are no explicit exclusions (e.g., 'for a fresh ad-hoc search use search_properties') — usage is conveyed by implication, not instruction.

    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 of behavioral disclosure. It indicates the return payload (criteria and last-check times), but does not explicitly state that this is a read-only operation, whether it requires authentication, or any ordering/pagination behavior. The verb 'list' implies no side effects, but it is not 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 a single, information-dense sentence with no fluff. It is front-loaded with the action and resource, and 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?

    Given that there are no parameters and an output schema exists (which likely documents the return structure), the description is adequate for a simple listing operation. The only minor gap is the lack of explicit read-only or authentication notes, but for a simple list tool this is 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?

    The tool has zero parameters, so the description does not need to explain parameter meaning. The baseline for 0-parameter tools is 4, and there is nothing to compensate for.

    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 states a specific verb ('list') and resource ('local watchlists'), and clarifies what is included ('criteria and last-check times'). This clearly distinguishes it from sibling tools like add_watch, check_watch, and remove_watch.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or when another watch-related tool would be more appropriate. The user must infer usage from the name and siblings.

    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 the full disclosure burden. The 'verified' qualifier adds a curation trait, but the description doesn't disclose whether the list is exhaustive, ordered, or paginated, nor potential size. For a zero-parameter read-only listing tool this is a modest but acceptable contribution.

    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?

    One sentence with zero filler; the verb and resource are front-loaded and the search_properties linkage is a single efficient clause. Every word contributes.

    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 zero-param tool with an output schema, the return format needn't be spelled out, and the description states what is returned (city slugs and property types) and how it relates to a sibling. The only minor gap is not explicitly naming that slugs feed search_properties' city parameter, though 'usable by' conveys it.

    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 has zero parameters and trivially 100% coverage, so the baseline applies. There are no inputs for the description to explain, and none are missing; the description correctly focuses on what the tool returns rather than nonexistent parameters.

    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 a specific verb ('List') paired with a distinct resource ('verified city slugs and property types') and anchors it to a sibling tool ('usable by search_properties'). It's immediately distinguishable from get_listing_details, watch-management, and account_status tools.

    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 phrase 'usable by search_properties' implies the agent should call this before search_properties to obtain valid filter values, which is a useful context clue. However, it never states an explicit when-to-use or when-not-to-use, nor does it reference alternatives, leaving invocation timing to inference.

    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?

    Annotations are absent, so the description carries the full burden, and it delivers: it discloses read-only semantics, that auth is optional, how sessions are established, and the security-relevant fact that no password is stored. With zero parameters and an output schema present, this is strong behavioral disclosure for a status 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?

    Three sentences, each earning its place: the purpose statement is front-loaded, the second gives auth context, the third adds a security guarantee. Zero filler or redundancy; tightly packed and readable.

    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 zero-parameter status check with an output schema and no annotations, the description is complete: it covers what the tool verifies, the anonymous-vs-authenticated distinction, session creation path, and privacy behavior. Nothing an agent needs to call and interpret it is missing.

    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 tool takes zero parameters, so the baseline of 4 applies — there is nothing the description needs to disambiguate. It correctly spends no space on parameters, and the 100% schema coverage (empty schema) leaves nothing undocumented.

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

    Purpose5/5

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

    Opens with a specific verb-resource statement ('Report whether an authenticated Zameen session is loaded') that unambiguously identifies the tool. It is clearly distinguishable from all siblings, none of which deal with session or auth state, so no confusion is possible.

    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?

    No explicit when/when-not guidance against a specific sibling, but that is unnecessary since no sibling overlaps. It supplies useful context on when sessions matter (personalized pages) and how one is created, giving the agent a coherent usage frame. Lacks an explicit exclusion statement 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.

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only; never contacts the agent or modifies anything,' which covers safety and side-effect concerns. It does not detail error handling, authentication requirements, or rate limits, but for a simple read operation, these are less critical. The disclosure of read-only behavior is a strong positive.

    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-loaded with the primary action. It wastes no words, delivering the key purpose and relevant constraints in a compact, scannable format. Every sentence 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?

    Given the tool's simplicity (one parameter) and the presence of an output schema, the description is largely complete. It covers input formats and behavior. It could mention error cases (e.g., invalid ID) or prerequisites like authentication, but these are not essential for a basic read-only lookup. The presence of an output schema removes the need to explain return values, so the description suffices for successful invocation.

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

    Parameters5/5

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

    The input schema only shows a 'listing' string with no description. The description adds crucial meaning by clarifying the accepted formats: 'a full Property URL or a bare numeric listing id such as "54646556".' This goes beyond the schema and provides concrete examples, making the parameter self-explanatory.

    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 a specific verb and resource: 'Fetch full details for ONE Zameen.com property listing.' It distinguishes itself from siblings by emphasizing 'ONE' (vs. search-based tools) and by noting it is read-only, separating it from messaging or mutation tools. This is a precise, unambiguous purpose.

    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 gives clear context on what inputs are valid (full URL or numeric listing ID) and explicitly states it is read-only and never contacts the agent. However, it does not explicitly name alternatives or provide explicit when-not-to-use guidance (e.g., 'for multiple listings use search_properties'). The context implies these boundaries but does not spell them out.

    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 a key behavioral trait: badge filters apply 'AFTER parsing over up to 3 result pages,' and that these filters 'can express things Zameen's own UI cannot.' It also mentions the return format ('normalized JSON cards'). This gives an agent useful insight into pagination and post-processing behavior. It does not explicitly state read-only nature, but for a search tool that is implied. The disclosure is solid but not exhaustive, so a 4 is appropriate.

    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 well-structured, front-loading the core purpose in the first sentence. It uses line breaks to separate parameter groups (cities, purpose, property_type, badge filters, native filters) and includes a concrete example. Every sentence adds value; there is no fluff or redundancy. It is long enough to be informative but stays efficient.

    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 complexity (12 parameters, complex filtering logic, and a multi-page parse behavior), the description is remarkably complete. It explains the exact semantics of most parameters, distinguishes between filter types, notes the pagination limit, and provides an example. The output schema exists, so detailed return formatting is not required. There are no obvious gaps that would prevent an agent from calling this tool correctly.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must compensate. It does so thoroughly: it lists example city names, states allowed values for purpose ('sale|rent') and property_type ('homes|houses|flats|plots|commercial|rooms'), distinguishes badge filters (verified_only, agent_tier, exclude_promoted, max_price_pkr) from native filters (min_beds, min_area_marla, keywords, sort), and provides an example with all parameters. This is exceptional parameter documentation given the schema provides no 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 begins with a clear verb+resource: 'Search Zameen.com property listings and return normalized JSON cards.' It distinguishes itself from sibling tools like get_listing_details and list_supported_cities by specifying it is a search operation. The description also provides detailed search parameters and an example, leaving no ambiguity about what the tool does.

    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 usage context by explaining which filters are 'native site filters' versus 'badge filters' that apply after parsing, and gives a concrete example call. However, it does not explicitly state when to use this tool instead of its siblings (e.g., 'use this to search, use get_listing_details for a specific listing'). The context is implied but not explicitly spelled out, so it earns a 4 rather than a 5.

    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

zameen.com-mcp MCP server

Copy to your README.md:

Score Badge

zameen.com-mcp 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/lonewolfmasanaga/zameen.com-mcp'

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