Skip to main content
Glama

Server Details

Read-only MCP tools for public works, builders, ratings, timelines and nearby services in Brazil.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target a distinct resource and access pattern, with clear separation between builders, projects, ratings, timeline, nearby services, and sources. The main ambiguity is that get_project includes summarized timeline and ratings, overlapping somewhat with get_project_timeline and get_project_ratings, but the descriptions clarify the granularity difference.

Naming Consistency4/5

The naming is mostly consistent: get_ for singular resources, list/search/find for collections, and health as a clear health-check exception. find_projects_nearby and search_projects use different verbs for similar collection queries, but the overall snake_case pattern is readable and predictable.

Tool Count5/5

With 11 tools, the server is well-scoped for a read-only public data directory covering projects, builders, ratings, timelines, nearby services, and metadata. Each tool has a clear role and none feel redundant or excessive.

Completeness5/5

The tool surface covers the full read-only lifecycle of the domain: builder listing and detail, project search and detail, timeline, ratings, nearby services, public sources, and API health. No obvious missing operations exist for the stated public-information purpose.

Available Tools

11 tools
find_projects_nearbyEmpreendimentos por raioA
Read-onlyIdempotent
Inspect

Lista empreendimentos publicados dentro de um raio a partir de uma latitude e longitude. Somente obras com coordenada registrada.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
pageNo
limitNo
stateNo
statusNo
latitudeYes
longitudeYes
radius_kmNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds a useful behavioral filter ('only projects with registered coordinates') but does not disclose pagination, default radius behavior, or output shape. No contradiction exists.

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 short sentences with no filler. The main action and key constraint are front-loaded, making the description easy to parse quickly.

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 8 parameters, no output schema, and no parameter descriptions in the schema, the description is too thin to fully equip an agent. It does not mention pagination behavior, optional filter semantics, or what the response contains.

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. It conceptually covers latitude, longitude, and radius, but leaves city, state, status, page, and limit unexplained, including defaults and allowed values.

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: it lists published developments within a radius of a latitude/longitude. The added constraint that only projects with a registered coordinate are returned further clarifies the scope and helps distinguish it from text-based 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 Guidelines3/5

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

The intended use is implied: find projects by geographic proximity to a coordinate. However, the description does not explicitly explain when to choose this tool over siblings like search_projects, nor does it state exclusions or alternatives.

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

get_builderFicha pública da construtoraB
Read-onlyIdempotent
Inspect

Consulta a ficha pública de uma construtora e os indicadores públicos disponíveis, por slug ou UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID da construtora.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description is consistent with them, describing a read operation. The description adds that the data is public and includes indicators, but it does not disclose return format, pagination, or any access constraints; this is acceptable given the annotations but not especially rich.

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, direct sentence that front-loads the operation and scope. There is no redundant or filler content; every part of the 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?

For a simple one-parameter read-only tool with annotations covering safety, the description is largely complete: it names the resource, the lookup key, and the content returned (public indicators). It could be improved with a note on output structure or when to prefer siblings, but these are not critical gaps for this simple tool.

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

Parameters3/5

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

The input schema already provides 100% coverage for the single parameter 'id' with the description 'Slug ou UUID da construtora.' The tool description reinforces this by saying 'por slug ou UUID' but adds no new semantic detail beyond the schema.

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 a specific action ('consulta a ficha pública de uma construtora') and the resource (builder public record and public indicators), with the identifier format (slug or UUID). It is unambiguous, though it does not explicitly differentiate itself from sibling tools like list_builders or get_builder_projects.

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?

There is no guidance about when to use this tool versus alternatives such as list_builders or get_builder_projects. The phrase 'pública' implies a use case for public data, but no explicit conditions, exclusions, or alternative routing are provided.

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

get_builder_projectsEmpreendimentos de uma construtoraB
Read-onlyIdempotent
Inspect

Lista os empreendimentos publicados vinculados a uma construtora do diretório público da ObraAberta.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID da construtora.
cityNo
pageNo
limitNo
stateNo
statusNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds that only 'publicados' (published) developments are listed, which is a useful behavioral constraint. However, it doesn't disclose pagination behavior, filtering semantics, or what happens when no results are found. With annotations covering the read-only/idempotent nature, a 3 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.

Conciseness4/5

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

The description is a single, concise sentence that front-loads the core purpose. It is appropriately sized and doesn't waste words. It could add a bit more guidance, but for what it is, it's efficient.

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 6 parameters, 17% schema coverage, no output schema, and no parameter enums, the description is insufficient for an agent to call this tool correctly in all cases. The agent knows it lists published developments for a builder, but doesn't know the meaning of city, state, status, or pagination parameters, nor what the response looks like. The description needs to compensate for the sparse schema, and it doesn't.

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 only 17%, meaning most parameters (city, page, limit, state, status) have no description in the schema. The description only mentions the builder link and 'publicados', which partially explains the 'status' parameter but doesn't clarify the meaning of city, state, page, limit, or status values. The description does not compensate for the low schema coverage, leaving agents to guess at parameter semantics.

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 states a specific verb ('Lista') and resource ('empreendimentos publicados vinculados a uma construtora do diretório público da ObraAberta'). It clearly identifies what the tool does and the scope (published developments linked to a builder). It doesn't explicitly differentiate from siblings like search_projects or list_builders, but the resource and scope are clear enough to distinguish it from most siblings.

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

Usage Guidelines3/5

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

The description implies the tool is for listing published developments by a specific builder, which gives some context. However, it doesn't explicitly state when to use this tool versus alternatives like search_projects or list_builders, nor does it mention exclusions or prerequisites beyond the required id. The usage context is implied but not fully articulated.

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

get_projectFicha pública do empreendimentoA
Read-onlyIdempotent
Inspect

Consulta a ficha pública de um empreendimento da ObraAberta por slug ou UUID, com linha do tempo resumida e avaliações moderadas.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID do empreendimento.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description's 'Consulta' reinforces that this is a safe read operation. The description adds meaningful context beyond annotations by specifying that the record is public, includes a summarized timeline, and contains moderated ratings.

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 one concise, front-loaded sentence with no filler. It states the verb and resource first, then covers the identifier method and the two key content aspects, making every phrase informative.

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 read-only, single-parameter tool with no output schema, the description provides what an agent needs: how to address the resource and what the response contains. The low complexity and strong annotations mean no critical guidance is missing.

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 single parameter id is already fully described in the schema as 'Slug ou UUID do empreendimento.' The description repeats that identifier format but adds no new constraints, examples, or behavioral details, so schema coverage is doing the heavy lifting.

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

Purpose5/5

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

The description opens with a specific verb ('Consulta') and names the exact resource ('ficha pública de um empreendimento') plus the accepted identifiers (slug or UUID). It also distinguishes itself from sibling tools by noting it bundles a summarized timeline and moderated ratings, which otherwise appear split across get_project_timeline and get_project_ratings.

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 intended use is clear: fetch the public record for a project by slug or UUID. However, it does not explicitly state when to prefer this over get_project_timeline or get_project_ratings, so exclusion guidance is implied rather than directly stated.

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

get_project_nearby_servicesServiços próximos (OpenStreetMap)A
Read-onlyIdempotent
Inspect

Lista escolas, hospitais, transporte e comércio próximos a um empreendimento, a partir do OpenStreetMap. Exige atribuição ODbL na exibição.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID do empreendimento.
typesNoTipos desejados, ex.: schools, health, transport, commerce.
radius_kmNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the read-only and idempotent nature is covered. The description adds the ODbL attribution requirement, which is a critical behavioral constraint for display and not covered by annotations. It also mentions the data source (OpenStreetMap), adding useful context beyond the annotations.

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

Conciseness5/5

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

The description is two sentences with no fluff, front-loading the core function (lists nearby services) and then stating the attribution requirement. It is efficiently structured and every word contributes to understanding the tool.

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 read-only list tool with no output schema, the description covers the essential purpose, data source, and legal attribution. It does not mention pagination or error behavior, but those are not critical for basic understanding. The attribution requirement is a notable addition that fills a gap beyond the annotations.

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

Parameters3/5

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

Schema description coverage is 67% (id and types have descriptions; radius_km lacks a description but has constraints). The description lists example types (schools, hospitals, transport, commerce) that overlap with the schema's examples, providing no additional meaning. For radius_km, neither the description nor the schema explains it beyond numeric constraints, but the baseline of 3 applies since schema covers most 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 clearly states the tool lists nearby services (schools, hospitals, transport, commerce) for a given development, sourced from OpenStreetMap. This is a specific verb+resource combination that distinguishes it from siblings like get_project_ratings or get_project_timeline, which focus on other aspects. The examples of service types further clarify the scope.

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 does not explicitly state when to use this tool versus alternatives or mention any exclusions. Usage is implied by the purpose: an agent would infer to use it when needing nearby amenities for a project. However, no explicit guidance on context or alternatives is provided, so it remains at the implied level.

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

get_project_ratingsAvaliações públicasB
Read-onlyIdempotent
Inspect

Consulta o resumo e as avaliações públicas já moderadas de um empreendimento. Nenhum dado pessoal do autor é retornado.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID do empreendimento.
pageNo
limitNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, covering the safety profile. The description adds useful context by restricting to moderated public ratings and stating no personal author data is returned, but it does not disclose pagination behavior or response details.

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 short sentences, front-loaded with the core purpose and followed by a relevant privacy guarantee. 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?

For a simple read-only paginated tool with annotations covering safety, the description conveys what the agent gets (summary and public ratings) and a key constraint (no personal data). It does not describe pagination or error behavior, but those are minor given the schema defaults and absence of an output schema.

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 only 33%: page and limit have no descriptions. The tool description does not compensate by explaining these parameters, though id is already described as slug or UUID in the schema. Page/limit are self-explanatory from their names, but the description adds no semantic value for them.

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 uses a specific verb ('Consulta') and resource ('resumo e avaliações públicas já moderadas de um empreendimento'), clearly indicating the tool returns public moderated ratings for a project. It is clear but does not name or contrast sibling tools like get_project or get_project_timeline, so it misses the top score.

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 explicit guidance states when to use this tool instead of get_project or other project-related tools. The description implies it is for public rating summaries, but gives no conditions, exclusions, or alternatives.

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

get_project_timelineLinha do tempo públicaA
Read-onlyIdempotent
Inspect

Consulta a linha do tempo pública de um empreendimento: etapas, percentuais e evidências já aprovadas na moderação.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSlug ou UUID do empreendimento.
orderNodesc

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to restate those. It adds the valuable behavioral detail that only evidence approved in moderation appears in the timeline, and that it is public. This goes beyond the structured annotations and helps the agent understand the data scope.

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, front-loaded sentence that immediately states the action and resource, followed by a compact list of returned data. Every word earns its place; no filler or repetition of schema details.

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

Completeness4/5

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

For a simple tool with two parameters, one required, and no output schema, the description sufficiently communicates the returned content (stages, percentages, moderated evidence). It does not mention sorting behavior, but that is already covered by the order parameter in the schema. Overall, an agent can call this correctly with the given information.

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

Parameters3/5

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

Schema description coverage is 50%: the id parameter has a clear description, and order has an enum (asc/desc) with a default, making it self-explanatory. The tool description adds no additional parameter context, but the schema itself is adequate. With coverage at 50% (not high, not low), a neutral 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb (consulta) and resource (linha do tempo pública de um empreendimento), and enumerates the contents (etapas, percentuais e evidências aprovadas na moderação). It clearly differentiates from siblings like get_project, which returns broader project data, by specifying the timeline scope.

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: if you need the public timeline of a project, this tool is the one. However, it does not explicitly state when not to use it or mention alternatives (e.g., get_project for general details). The context is clear but lacks exclusions or direct comparisons.

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

get_public_sourcesFontes públicas e limitaçõesA
Read-onlyIdempotent
Inspect

Lista as fontes públicas usadas pela ObraAberta, com a natureza de cada uma (oficial, pública, colaborativa, OpenStreetMap) e suas limitações.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds useful content-level context (each source's nature and limitations) but does not disclose additional behavioral traits such as authentication, caching, or update behavior. No contradiction with annotations.

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 compact sentence with no wasted words. It front-loads the verb and resource, then appends the relevant details about nature and limitations.

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 no-parameter, read-only, idempotent listing tool, the description is complete: it states what is listed, for which system, and what the output contains. With no output schema present, the description's mention of 'nature' and 'limitations' adequately communicates the return content.

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 schema is trivially complete at 100% coverage. The description does not need to explain parameter semantics, and it does not add misleading parameter information.

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 ('Lista') and a specific resource ('as fontes públicas usadas pela ObraAberta'), and it defines the content by naming the nature categories and limitations. The sibling tools are all about projects, builders, or health, so this listing tool is clearly distinct.

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?

There is no explicit 'when to use this vs alternatives' guidance. However, the zero-parameter, unique listing purpose makes it reasonably inferable that this tool is for consulting public source metadata. The description implies usage but does not state exclusions or alternatives.

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

healthDisponibilidade da API públicaA
Read-onlyIdempotent
Inspect

Verifica se a API pública da ObraAberta está disponível e qual versão responde.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds useful context that the check targets the public API and reports which version is responding, going slightly beyond the structural annotations.

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, complete sentence conveys the tool's purpose and output focus with no filler. The key information—availability and version—is immediately accessible.

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, read-only health check, the description is fully sufficient. It explains what is verified and what information the response conveys, and the annotations cover the operational safety profile.

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 per baseline this dimension is well-served; there is no parameter information the description needs to compensate for. The description correctly focuses on behavior rather than inputs.

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 names a specific action ('Verifica') and resource ('API pública da ObraAberta'), and specifies what is checked: availability and responding version. This clearly distinguishes it from the data-retrieval siblings like get_project and search_projects.

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 intended use case is clear: a health/status check for the public API, distinct from all sibling tools that fetch or search data. It does not explicitly state when-not-to-use or name alternatives, but the zero-parameter health-check nature makes the context self-evident.

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

list_buildersListar construtorasA
Read-onlyIdempotent
Inspect

Lista construtoras e incorporadoras do diretório público da ObraAberta. Não retorna dados cadastrais internos nem contatos pessoais.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoTexto livre (nome ou nome anterior).
pageNo
sortNo
limitNo
orderNo
stateNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to restate safety. It adds useful behavioral boundary: it only returns public directory data and excludes cadastral records and personal contacts, which annotations do not 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/5

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

The description is two short, purposeful sentences with no filler. It front-loads the verb and resource, then adds a single clarifying exclusion.

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?

The description clarifies the data scope but does not mention response shape, pagination behavior, or how the six parameters affect results. With no output schema and sparse parameter documentation, the description leaves too much unspecified for confident invocation.

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 only 17% (only q has a description), and the tool description adds no information about page, sort, limit, order, or state. An agent cannot learn filter, sorting, or pagination semantics from the description, and the schema itself is largely silent.

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 action ('Lista') and the resource ('construtoras e incorporadoras'), and scopes it to the ObraAberta public directory. The explicit exclusion of internal registration data and personal contacts helps distinguish it from related tools like get_builder.

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 this is for listing public directory entries and not for retrieving internal or personal data, but it does not explicitly say when to choose this over siblings like get_builder or search_projects. There is no alternative routing or exclusion statement naming another tool.

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

search_projectsBuscar empreendimentosA
Read-onlyIdempotent
Inspect

Busca empreendimentos publicados na ObraAberta por texto, cidade, estado, status, faixa de preço, dormitórios e amenidades. Somente dados públicos.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoTexto livre (nome, bairro, construtora).
cityNoCidade.
pageNo
sortNo
limitNo
orderNo
stateNoUF com duas letras, ex.: SP.
statusNoEstágio da obra, ex.: lancamento, em_construcao, entregue.
bedroomsNoNúmero de dormitórios.
amenitiesNo
max_priceNo
min_priceNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds 'Somente dados públicos', which clarifies scope and access expectations, but does not disclose pagination behavior, ordering defaults, or return format.

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 front-loads the action and resource while efficiently listing the key filter dimensions. The phrase 'Somente dados públicos' adds meaningful scope without unnecessary detail.

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 12-parameter search tool with no output schema, the description covers the primary filter dimensions and public-data scope, making it adequate for tool selection. It does not describe return shape, defaults for pagination/sorting, or how parameters interact, leaving some invocation details to the schema.

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

Parameters3/5

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

Schema description coverage is 42%, and the description adds meaning by naming searchable dimensions like city, price range, bedrooms, and amenities, which partially compensates for undocumented parameters. However, it says nothing about pagination, sort/order semantics, or how filters combine, so it only partially bridges the gap.

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 states a specific action ('Busca') and resource ('empreendimentos publicados na ObraAberta'), and enumerates the main filter dimensions. It does not explicitly name sibling tools, but the broad text/city/state search scope is clear.

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 for when to use the tool: searching public projects by various criteria. It does not explicitly mention alternatives like find_projects_nearby or get_builder_projects, but it implies its role as the general public search tool without exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updates
    • First observedfind_projects_nearby
    • First observedget_builder
    • First observedget_builder_projects
    • First observedget_project
    • First observedget_project_nearby_services
    • First observedget_project_ratings
    • First observedget_project_timeline
    • First observedget_public_sources
    • First observedhealth
    • First observedlist_builders
    • First observedsearch_projects

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides real-time access to Brazilian public data from 6 official sources via 11 read-only tools, including Pix, IBGE, Câmara dos Deputados, Senado Federal, Diário Oficial da União, and Agência Brasil, with no API key required.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only access to official Brazilian real estate registration data (ONR) via a single tool. Works with any MCP client over HTTP, with prepaid pay-per-use billing.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a read-only tool to fetch the simplified second copy of IPTU (property tax) from the official São Paulo city hall source, working with any MCP client.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources