Skip to main content
Glama

EPK Properties Public Knowledge MCP

Server Details

Public EPK real estate listings and multilingual guides for Panama and the Dominican Republic.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation4/5

The search tools are clearly separated by scope (combined, guides-only, properties-only), and retrieval tools are differentiated by type (full document, guide section, property details). There is minor overlap between 'fetch' and the specific getters, but the descriptions provide enough guidance.

Naming Consistency3/5

Tool names use a mix of verb styles: 'fetch' stands alone, while others use 'search_' or 'get_' prefixes. This is readable but not fully consistent, as a uniform verb_noun pattern would improve predictability.

Tool Count5/5

Six tools is well-scoped for a knowledge server covering property and guide search and retrieval. Each tool serves a distinct purpose without unnecessary bloat, and the count feels appropriate for the domain.

Completeness5/5

The server covers the full lifecycle of search and retrieval for both properties and guides, including a combined search for mixed queries. There are no obvious gaps for its stated public knowledge purpose.

Available Tools

6 tools
fetchFetch EPK public documentA
Read-onlyIdempotent
Inspect

Use this when the user wants the full public property or guide document identified by a prior search result.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDocument ID returned by search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context: the document is 'public' and 'full', and it requires an ID from a prior search result. This goes beyond the annotations by clarifying the data scope and source of the ID, though it does not describe error behavior or response format (output schema 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?

The description is a single, front-loaded sentence that directly states when and how to use the tool. Every word earns its place, with no excessive detail or repetition of schema/annotation information.

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?

The tool is simple (1 parameter), has a complete input schema, and an output schema is present. Annotations cover safety and idempotency. The description provides the missing usage context (prior search result) and the document scope, making the description complete for the tool's complexity.

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

Parameters3/5

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

The schema covers 100% of the parameter semantics with 'id' defined as 'Document ID returned by search.' The description reinforces this by saying 'identified by a prior search result,' but it does not add additional meaning beyond the schema. Baseline 3 is appropriate given full schema coverage.

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 retrieves the full public property or guide document identified by a prior search result. The verb 'fetch' is implied and the resource is specific ('full public property or guide document'), which distinguishes it from siblings like get_guide_section (section-level) and search (returns results, not full documents).

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 a clear usage context: 'Use this when the user wants the full public property or guide document identified by a prior search result.' It implies the tool is for post-search retrieval but does not explicitly exclude alternatives like get_guide_section or get_property. This gives clear context without formal exclusions.

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

get_guide_sectionGet public guide sectionA
Read-onlyIdempotent
Inspect

Use this when the user wants the complete public EPK guide section identified by search_guides.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGuide section ID returned by search_guides.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
kindYes
textYes
titleYes
countryYes
sectionYes
sourcesYes
summaryYes
languageYes
metadataNo
image_urlYes
countryNameYes
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is well covered. The description adds useful context that the section is complete and public, but does not disclose additional behavioral details like error cases, auth requirements, or return format. This is adequate but not rich 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 one short, front-loaded sentence that fully conveys the tool's purpose and usage context. Every word earns its place, with no redundancy or filler.

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

Completeness5/5

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

For a simple, single-parameter read tool with rich annotations and an output schema, the description is complete. It explains what the tool returns (complete public guide section), how the ID is obtained (from search_guides), and the annotations cover safety. No significant missing context.

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

Parameters3/5

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

Schema description coverage is 100%, and the single 'id' parameter already has a clear description ('Guide section ID returned by search_guides'). The tool description does not add any new parameter-level meaning beyond what the schema provides, so the baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states this tool retrieves the complete public EPK guide section, using a specific resource type and scope. It distinguishes itself from sibling tools like search_guides by framing search_guides as the source of the section identifier, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this when the user wants the complete public EPK guide section identified by search_guides,' providing clear guidance on when to invoke this tool. It references search_guides as the related lookup step, though it does not formally state when-not to use the tool or name explicit alternatives beyond that implied workflow.

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

get_propertyGet public propertyA
Read-onlyIdempotent
Inspect

Use this when the user wants full public details for a property UUID returned by search_properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoes
property_idYesPublic property UUID returned by search_properties.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about returning 'full public details' and the UUID source, but does not disclose additional behavioral traits beyond that.

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 sentence that front-loads the usage condition and is free of any filler. Every word adds value.

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

Completeness4/5

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

The tool is simple (2 parameters, output schema present), and the description adequately covers purpose and usage. However, the lack of parameter semantics for 'language' is a minor gap, so it is not a 5.

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 coverage is only 50% (property_id is described, language is not). The tool description does not compensate for the missing language parameter semantics—it only reinforces property_id via 'property UUID returned by search_properties'. This leaves the language parameter's purpose and default behavior unexplained.

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

Purpose5/5

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

The description clearly states the tool's function: 'get full public details for a property UUID'. It uses a specific verb ('get') and resource ('property UUID'), and distinguishes it from siblings by noting the UUID comes from search_properties.

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

Usage Guidelines4/5

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

The description explicitly tells when to use the tool: when the user wants full public details for a property UUID returned by search_properties. It provides clear context but does not explicitly mention when not to use it or alternatives.

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

search_guidesSearch public real estate guidesA
Read-onlyIdempotent
Inspect

Use this when the user asks only for EPK public guidance about buying, taxation, regulations, residency, locations, rental management, relocation, or due diligence in Panama or the Dominican Republic. If the same request also asks for properties, use search instead so both kinds appear together.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesTopic, regulation, tax, residency, location, or buying-process query.
offsetNo
countryNo
languageNoOmit to infer the language from the query.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
offsetYes
resultsYes
has_moreYes
Behavior4/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety traits. The description adds behavioral context by specifying the content scope (guides only, not properties) and that using 'search' merges both kinds, which is useful beyond 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, front-loaded with the purpose and alternative usage. Every word earns its place; it is concise and immediately actionable.

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

Completeness4/5

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

With an output schema present, return values need no explanation. The description covers use cases, distinctions, and topical scope. It is slightly incomplete in not mentioning language handling, but that is already covered in the schema. Overall, it is well-rounded for the tool's complexity.

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 description coverage is 40%, so the description must compensate. It does so by enumerating query topics (buying, taxation, regulations, etc.) and geographic scope (Panama/Dominican Republic), giving meaning to the 'query' and 'country' parameters. It doesn't elaborate on limit/offset, but those are self-evident, and the schema provides defaults.

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

Purpose5/5

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

The description explicitly states the tool searches for public real estate guides on specific topics in Panama or the Dominican Republic. It uses a clear verb+resource combination and distinguishes itself from the sibling tool 'search' by clarifying that properties are excluded unless requested together.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: 'Use this when the user asks only for EPK public guidance...' and an alternative: 'If the same request also asks for properties, use search instead'. This clearly delineates the boundary between search_guides and search.

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

search_propertiesSearch public propertiesA
Read-onlyIdempotent
Inspect

Use this when the user wants only public EPK Properties listings with explicit country, sale/rent, property type, price, bedroom, bathroom, or area filters. If the same request also asks for guides or regulations, use search instead so both kinds appear together.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoLocation, property name, address, or descriptive keywords.
offsetNo
countryNoPTY for Panama or DOM for the Dominican Republic.
languageNoLanguage for descriptions and canonical listing URLs.es
max_areaNoMaximum area in square metres.
min_areaNoMinimum area in square metres.
max_priceNo
min_priceNo
max_bedroomsNoMaximum bedrooms; set equal to min_bedrooms for an exact bedroom count.
min_bedroomsNoMinimum number of bedrooms.
max_bathroomsNoMaximum bathrooms; set equal to min_bathrooms for an exact bathroom count.
min_bathroomsNoMinimum number of bathrooms.
property_typeNo
operation_typeNoSearch properties for sale or rent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
offsetYes
resultsYes
has_moreYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds behavioral scope: it only returns public listings with explicit filters, and clarifies the difference from search regarding guides/regulations. There's no contradiction. It doesn't disclose pagination or ordering, but output schema covers those.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and scope, ending with the alternative. Every word earns its place; no filler.

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?

The description fully orients the agent: when to use, what filters to apply, and when to defer to search. With 15 params and an output schema, the description is complete for selection and invocation; any missing details like defaults are in 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 67%, so the schema does most of the work. The description mentions the filter categories (country, sale/rent, property type, price, bedroom, bathroom, area) which map to parameters, but doesn't add semantics beyond what parameter descriptions already provide. It reinforces the filtering behavior but isn't strictly necessary.

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

Purpose5/5

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

The description clearly states the tool's function: retrieving public EPK Properties listings with specific filters. It uses a directive 'Use this when...' and specifies the resource (public EPK Properties) and action (search with filters), distinguishing it from siblings like search and search_guides.

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

Usage Guidelines5/5

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

Explicitly provides usage guidance: 'Use this when the user wants only public EPK Properties listings...' and gives a direct alternative: 'If the same request also asks for guides or regulations, use search instead...' This is textbook when-to-use and when-not-to-use guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Philippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.
    6
    44
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote Model Context Protocol server for finding authorized real-estate listings in Mexico. It provides public property search, details and contact options, plus OAuth-protected favorites and publishing tools.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    AI-native property MCP for Northern Cyprus (KKTC). Search live listings, get the price index, compare cities and districts, estimate rental yield, and look up KKTC title-deed (koçan) procedures — all sourced live from evlek.app.
    18
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Search vacation rental properties, check real-time availability, get canonical pricing quotes, and create direct bookings. Each property is its own node with live data. Supports staircase pricing, seasonal rates, and 11 languages.
    13
    639
    2
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources