CleverTech MCP Server
OfficialServer Quality Checklist
Latest release: v0.2.0
- Disambiguation4/5
Most tools are clearly separated by resource and action: property search, roll lookup, permits, zoning, and DLS conversion each have distinct purposes. The only mild overlap is between property_report and the individual permit/zoning lookups, and between reverse_geocode and dls_convert, but the descriptions clarify scope well enough to avoid real confusion.
Naming Consistency4/5Tool names mostly follow a clear [domain]_[action] snake_case pattern like property_search, building_permit_search, and zoning_lookup. A few names like property_by_roll, property_top, and building_permit_recent deviate from the verb-oriented pattern, but the overall convention remains predictable and readable.
Tool Count5/5Twelve tools is well-scoped for a real-estate and land-data server: property data, permits, zoning, DLS conversion, geocoding, and business registry search are each represented without redundant tools. Each tool serves a distinct workflow, and the count feels proportional to the domain.
Completeness5/5The tool surface covers the advertised domain thoroughly: property discovery, detailed reports, roll-based lookup, top listings, DLS conversion in single and batch modes, permit search and recent activity, zoning lookup, reverse geocoding, and city discovery. No obvious dead ends or missing core operations are apparent for a read-only data API.
Average 3.8/5 across 12 of 12 tools scored. Lowest: 2.8/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 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.jsonto 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 carries the full burden of behavioral disclosure. It only states that conversion is bidirectional, omitting coordinate datum, DLS string format, supported provinces, validation behavior, or error handling. The description is not misleading, but it is far too minimal for a geo-conversion 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler, front-loading the primary action and scope. The second sentence adds directional capability without repeating the first. It is an appropriately sized definition, even though it lacks operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a two-way converter with conditional inputs, province qualifiers, and five parameters, yet the description does not explain how to construct a valid call. Critical information such as required parameters per direction and supported DLS formats is missing. The presence of an output schema does not fill these invocation gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 how direction maps to lat/lon versus dls_string, nor does it clarify the role of province. The phrase 'GPS→DLS and DLS→GPS' implies the two modes, but the exact required parameters and accepted direction values remain undocumented. With five parameters, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts between GPS coordinates and the DLS grid system and names both supported directions. The Western Canada scope adds useful precision. However, it does not explicitly distinguish itself from the sibling dls_batch tool, so it stops just short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus dls_batch or reverse_geocode, and no exclusions are mentioned. The direction support is helpful but does not tell the agent how to choose between modes or which inputs are needed for each direction. This is a capability statement, not usage 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 the behavioral disclosure burden. It discloses the dual conversion direction and the 'Up to 100 items per batch' limit. But it does not explain behavior for invalid items, mixed input, province handling, or failure modes, leaving important behavior undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence followed by the key batch constraint. Every clause earns its place, and the most important scoping information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and return-value documentation is not needed, the input side is under-specified for a 3-parameter tool. An agent cannot reliably know what string to pass for 'direction' or what each item object should contain. The 100-item limit and batch intent help, but the missing semantic details leave the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 offers a general sense that 'items' hold coordinates or DLS strings and that direction selects the conversion mode, but it never defines accepted direction values, the item object shape, or the role of 'province'. The description only partially compensates for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Convert'), a clear resource (GPS coordinates / DLS strings), and a well-defined scope: multiple conversions in a single batch. It implicitly differentiates from the sibling dls_convert by emphasizing batch and up-to-100-items behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for batch conversions rather than single conversions, and it states the 100-item batch ceiling. However, it does not explicitly say when to prefer this over dls_convert or other sibling tools, nor does it mention any exclusions or fallback conditions.
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 must carry the behavioral disclosure burden. It does indicate the core behavior: returning recently issued permits, implying recency-based ordering and city scoping. However, it does not clarify what 'recent' means, how limit interacts with results, or whether there is pagination, so behavioral transparency is only partially addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core action and resource are front-loaded, and the use case is stated in a single efficient phrase. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, single-required-parameter tool with an output schema, the description covers the essential operation and purpose. However, it omits limit semantics, does not differentiate from building_permit_search beyond 'recent,' and lacks any guidance about valid city values. These are notable but not critical gaps for a straightforward list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to compensate by explaining both parameters. It loosely ties 'city' to the 'for a city' scope, but it says nothing about the 'limit' parameter, its default of 20, or its effect on the returned list. This leaves a meaningful semantic gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Get the most recently issued building permits for a city.' The 'recent' qualifier distinguishes it from the sibling building_permit_search, making its unique role immediately clear without needing to inspect the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful for monitoring new construction activity' gives a clear intended-use context. However, it does not explicitly mention building_permit_search as an alternative or state when this tool should not be used, leaving some routing nuance to the agent.
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. It reveals that the tool returns permit details (type, value, status, dates) and that coverage spans multiple Canadian cities, but it does not mention read-only nature, pagination, rate limits, or error behavior. This is acceptable for a low-risk search but leaves some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences front-load the purpose and follow with output contents. Every word earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with the input schema (required params, defaults) and an output schema, the description is sufficient for an agent to invoke the tool correctly for its core use case. It lacks guidance on how to choose between this and building_permit_recent, but that does not block invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must illuminate the parameters. It clarifies that q can contain an address, contractor, applicant, or permit number and that city is one of 13+ Canadian cities, but it says nothing about limit or permit_type. This adds partial value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Search') and identifies the resource ('building permits'), the search dimensions (address, contractor, applicant, permit number), and scope ('13+ Canadian cities'). It is clear about what the tool does, though it does not explicitly contrast itself with sibling tools like building_permit_recent, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The search criteria provide a clear context: use this when you need to find permits by address, contractor, applicant, or permit number. There are no exclusions or mention of alternatives such as building_permit_recent for browsing recent permits, so the guidance is context-level rather than explicit.
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 is the only source of behavioral context; it discloses that the result is a single record and makes a performance claim ('faster than search'). It doesn't address error/not-found behavior or authentication, though the output schema covers the success shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, no filler, and the main purpose is front-loaded. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with an output schema, the essentials are present, but the role of the required city parameter is unexplained and could mislead an agent into thinking roll numbers are globally unique. The sibling landscape reinforces search-vs-lookup, which helps, but the city gap keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description needed to clarify both city and roll_number. It only says roll number, implying the lookup is purely by roll number while city is also required, leaving the agent with an incomplete mental model.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Get') on a specific resource ('a single property assessment record') keyed by roll number. Distinguishes itself from property_search by noting it's faster when the roll number is already known.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent to use this when the roll number is already known and pitches it as faster than search. It doesn't list exclusions or compare against property_report/property_top, but the main alternative is clear.
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 present, the description carries the entire behavioral burden. It discloses the content returned, which is helpful, but it does not state whether the tool is strictly read-only, how it behaves if data is missing for a section, or any latency or error traits. The description is adequate but not richly 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact, front-loaded sentence that uses an em-dash list to communicate the tool's scope efficiently. Every phrase earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and a moderate parameter set, so the description does not need to explain return structure. However, it leaves parameter semantics and usage boundaries to inference, and with no annotations the overall context is a bit thin for a tool that aggregates multiple data sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its two required parameters, and the tool description does not compensate. It mentions 'this address' and 'DLS coordinates,' which implies city and roll_number identify the property, but it never defines what a roll_number is, its expected format, or how city relates to it. An agent would need external knowledge to invoke it correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Get'), a resource ('consolidated property report'), and lists the distinct data domains it combines: assessment data, building permits, zoning information, and DLS coordinates. This clearly differentiates it from narrower siblings like building_permit_search or zoning_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'consolidated property report' and 'in a single response' signals when this tool should be chosen instead of making separate calls. It does not explicitly name alternative tools or state when not to use it, so it stops just short of full 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?
There are no annotations, so the description carries the burden. It discloses return behavior ('Returns full assessment details for each result') and ranking semantics, but it does not explicitly state read-only safety, how min/max_value affect results, or edge-case behavior. Core behavior is transparent, but operational nuance is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two brief sentences with no filler. The first sentence front-loads the action and scope, the second provides the use case and return value. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for the basic query case, and the output schema covers return details. However, with no annotations and six parameters, the meaning of min_value, max_value, and order is left to inference, so the description is not fully complete for correct invocation in all intended uses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 explains sort_by options ('assessed value, year built, or lot size') and implies city and n through 'top-N in a city,' but it leaves order, min_value, and max_value undefined. With six parameters and no schema descriptions, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get'), a specific resource ('top-N properties in a city'), and explicit sort dimensions ('assessed value, year built, or lot size'). It clearly reads as a ranking/list tool and is easily distinguished from the sibling search and report tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear use-case context: 'Perfect for finding the most expensive, oldest, or largest properties.' It does not explicitly name alternatives or say when not to use this tool, but the purpose is concrete enough for an agent to route correctly.
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 bears the behavioral disclosure burden. 'Search' and 'Find' imply a read-only lookup, and the resource is clearly scoped to the Canadian federal business registry. However, it does not mention pagination, result limits, matching behavior, or federal-versus-provincial coverage limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, purposeful sentences. The first front-loads the searchable resource, and the second enumerates the relevant filters without any unnecessary wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a moderately simple search with an output schema, so return values are likely covered. The main gap is the meaning and formatting of the required 'q' parameter, plus expectations around 'limit'. The description is adequate for tool selection but not fully complete for reliable invocation without further inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 name useful filter dimensions: name, province, city, status, and industry act. Still, the required 'q' parameter is not explicitly defined, and 'limit' is not mentioned, leaving some ambiguity about how to construct queries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Search the Canadian federal business registry.' The second sentence adds the entity type and filter dimensions (name, province, city, status, industry act), which clearly distinguishes it from sibling property, permit, and zoning tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear this is for searching Canadian federal corporate/business records, and the sibling tools are all in different domains (property, permits, zoning). It does not explicitly state when not to use it, but the context is clear enough that an agent can select correctly.
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 full burden for behavioral disclosure. It does state that the tool returns zone code, description, and district boundaries, which is helpful. However, it does not clarify that the caller must provide either coordinates or an address, or explain behavior when both or neither are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the essential information without filler: what the tool does, the input options, the geographic scope, and the return content. Every clause earns its place and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple four-parameter lookup with an output schema, the description is fairly complete — it covers purpose, inputs, scope, and returns. The main gap is that it does not explicitly state the operational requirement to provide either a GPS point (lat/lon) or an address, which is important for correct invocation and not obvious from the schema since only city is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, and it does add some meaning by mapping 'GPS point' to lat/lon, 'address' to the address parameter, and 'Canadian city' to city. Still, it does not explain the relationship between parameters — such as whether city is required alongside coordinates or whether lat/lon must be provided together — leaving meaningful ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Look up zoning district information'), the resource ('zoning district'), the input type ('GPS point or address'), and the geographic scope ('Canadian city'). It also lists concrete return values, making it easy to distinguish from sibling tools like property_search or reverse_geocode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates clear usage context: use this when you need zoning district information for a geographic point or address in a Canadian city. However, it does not explicitly mention when not to use the tool or name alternative tools for related but different lookups, so it stops short of a full 5.
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 of behavioral disclosure. It does an unusually good job by revealing the fallback to Nominatim/OpenStreetMap and the helpful message returned instead of a bare '0 of 0'. It also communicates the non-obvious response behavior for missing assessment results, which goes beyond what the schema or annotations would convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then adds capability details, then the important fallback behavior. Every sentence earns its place, and the information is dense without being bloated. It is appropriately sized for an 8-parameter search tool with no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no parameter descriptions in the schema, the description covers the main call path, supported sort fields, filtering, and fallback behavior. An output schema exists, so return value details are not the description's job. The only meaningful gaps are conventional pagination parameters (limit, offset, order) and city semantics, which are mostly inferable from names and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 adds meaning for sort_by by listing allowed values (assessed_value, address, year_built, community) and explains min_value/max_value as value range filtering. However, it does not explain limit, offset, order, or city beyond their schema names, leaving several parameters underdocumented for a tool with zero schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search for properties by address across 13+ Canadian cities.' It clearly identifies what the tool does and what it returns (assessment data, value, lot size, year built, DLS coordinates). It is easy to distinguish from siblings like property_by_roll or property_report because the search key is explicitly an address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when searching properties by address) and describes supported sorting/filtering, but it does not explicitly state when to prefer an alternative sibling such as property_by_roll for roll-based lookups or property_report for detailed reports. There is no direct comparison or exclusion, leaving some routing decision to the agent.
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 bears the full burden of behavioral disclosure. It transparently notes that property data is returned 'when available' and lists the categories of output, but it does not explain what happens when coordinates fall outside the database, how missing values are represented, or any precision/coordinate-system assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed sentence that front-loads the main action and output types. Every clause adds useful information—scope, fallback caveat, and specific returned data—with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter geocoding tool with an output schema available, the description covers the essential behavior, outputs, geographic scope, and the conditional property data. It falls just short of complete because it omits handling of out-of-scope coordinates and coordinate-system assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter detail. It adds the meaning 'GPS coordinates' to the two numeric fields, but it does not clarify units, order, valid ranges, or coordinate system beyond what the bare field names 'lat' and 'lon' already imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Convert') and names a clear resource: GPS coordinates to a human-readable address plus specific extras like DLS grid reference and property roll number. It also defines geographic scope ('all Canadian cities'), which distinguishes it from sibling tools like property_search or dls_convert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Convert GPS coordinates to...' establishes the primary use case, and 'Works across all Canadian cities in the CleverTech database' gives a clear geographic context. It does not explicitly name alternative tools or exclusions, so it stops just short of a 5.
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 burden of behavioral disclosure. It clearly conveys that the tool lists all cities and describes the returned data categories. Since the tool has no parameters and is inherently read-only, this level of transparency is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero redundancy. The primary purpose is stated first, followed by the intended usage, making it easy for an agent to scan and act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery endpoint with an output schema, the description fully covers what the agent needs: what will be returned, why to call it, and when to call it. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so no parameter documentation is needed. The baseline of 4 applies because there is nothing for the description to add beyond the schema, and the description appropriately focuses on the output semantics instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a clear resource ('all available cities'), and the key output fields ('slugs, API capabilities, and property counts'). This makes the tool's purpose immediately distinguishable from the sibling property and permit search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use this tool first to discover available cities and their supported services. It clearly communicates the discovery-oriented context, though it does not enumerate exclusion scenarios or name specific alternative tools.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/clevertechca/Clevertech-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server