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.
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.
Tool Definition Quality
Average 3.9/5 across 6 of 6 tools scored.
There is clear overlap between generic tools (search, fetch) and specialized ones (search_properties, search_guides, get_property, get_guide_section). Descriptions help but an agent might hesitate between using search vs. search_properties or fetch vs. get_property.
Naming mixes bare verbs (fetch, search) with verb_noun compounds (get_guide_section, get_property, search_guides, search_properties). While readable, the pattern is not uniform across the set.
With 6 tools, the count is within a reasonable range for the domain. The set feels slightly redundant given the overlap between generic and specific tools, but not overly bloated.
The tool surface covers the read-only public knowledge domain: searching and retrieving properties and guide sections. Minor gaps include no dedicated full-guide retrieval (though fetch covers this) and no explicit list-all tools, but agents can work around these.
Available Tools
6 toolsfetchFetch EPK public documentARead-onlyIdempotentInspect
Use this when the user wants the full public property or guide document identified by a prior search result.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Document ID returned by search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| kind | No | |
| text | Yes | |
| title | Yes | |
| country | No | |
| section | No | |
| sources | No | |
| summary | No | |
| language | No | |
| metadata | No | |
| countryName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) already convey the safety profile. The description adds the scoping constraint of requiring a prior search result, which is useful, but it doesn't describe return format or any additional behavioral traits. This meets the bar set by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, front-loaded with the primary use case and no wasted words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter), rich annotations, and presence of an output schema, the description is sufficient. It clearly identifies when to use it and what it returns, without needing to explain return values since the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'id' is fully described in the schema as 'Document ID returned by search.' The description reinforces this by mentioning 'prior search result,' but adds no new semantic detail beyond the schema. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches the full public property or guide document after a prior search. It uses a specific verb ('fetch') and resource ('full public property or guide document'), which somewhat distinguishes it from siblings like get_guide_section or get_property, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 full public property or guide document identified by a prior search result,' giving a clear condition for use. It implies that search should happen first, but it doesn't explicitly mention alternative tools.
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 sectionARead-onlyIdempotentInspect
Use this when the user wants the complete public EPK guide section identified by search_guides.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Guide section ID returned by search_guides. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| kind | Yes | |
| text | Yes | |
| title | Yes | |
| country | Yes | |
| section | Yes | |
| sources | Yes | |
| summary | Yes | |
| language | Yes | |
| metadata | No | |
| countryName | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds useful context beyond annotations: the section is 'public' and 'complete', and the ID must come from search_guides. This gives the agent expectations about dependencies and data scope without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes: 'complete', 'public', 'EPK guide section', and 'identified by search_guides' all earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter with a rich schema, output schema, and full annotations, the description is quite complete. It conveys the main use case, the dependency on search_guides, and the nature of the response ('complete'). It does not explain what EPK stands for, but that is not necessary for the agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the id parameter already includes a pattern and description ('Guide section ID returned by search_guides'). The description reinforces this dependency but adds no new parameter-level meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides the complete public EPK guide section, and the phrase 'identified by search_guides' differentiates it from the search_guides sibling. However, it uses a usage directive ('Use this when...') rather than a direct verb like 'retrieves', so it stops short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use this tool ('when the user wants the complete public EPK guide section') and references search_guides as the identifier source. It does not explicitly name alternatives to avoid, but the context is clear enough for a simple getter with distinct siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_propertyGet public propertyARead-onlyIdempotentInspect
Use this when the user wants full public details for a property UUID returned by search_properties.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | es | |
| property_id | Yes | Public property UUID returned by search_properties. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
searchSearch EPK public knowledgeARead-onlyIdempotentInspect
Use this when the user wants to search EPK Properties public real estate listings or educational guides. This standard search tool is compatible with company knowledge and deep research.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language search query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior, so the agent knows it is a safe read operation. The description adds minimal behavioral context ('standard search tool', compatible with company knowledge) but does not mention return formats, pagination, or limitations. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loading the usage instruction. The second sentence adds some context but is slightly vague; nonetheless, there is no wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, strong annotations, and an output schema present, the description adequately explains its scope and usage context. It does not cover distinctions from sibling tools, but that is more relevant to usage guidelines. Overall, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single query parameter with a clear 'Natural-language search query' description. The tool description adds domain context (listings and guides) but no additional parameter-level detail, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a search over EPK Properties public real estate listings and educational guides, with a specific verb and resource. It does not explicitly differentiate from sibling search tools like search_guides or search_properties, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use this when the user wants to search...' and mentions compatibility with company knowledge and deep research. However, it does not discuss when to use alternatives or when not to use this tool, so it lacks exclusions.
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 guidesARead-onlyIdempotentInspect
Use this when the user asks about EPK public guidance for buying, taxation, regulations, residency, locations, rental management, relocation, or due diligence in Panama or the Dominican Republic.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Topic, regulation, tax, residency, location, or buying-process query. | |
| offset | No | ||
| country | No | ||
| language | No | Omit to infer the language from the query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| limit | Yes | |
| total | Yes | |
| offset | Yes | |
| results | Yes | |
| has_more | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which inform the agent this is a safe read-only operation. The description adds no additional behavioral context such as search execution details, result format, pagination, or language inference behavior, so its contribution beyond annotations is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states when to use the tool and enumerates the relevant topics and countries. There is no redundant information or filler, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, output schema present, annotations available), the description covers the essential use case and domain. The output schema handles return structure details, and annotations cover safety. It lacks any mention of search behavior or limitations, but these are secondary given the schema and simple nature of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 40%, with query and language having descriptions but limit, offset, and country lacking them. The description mentions the topic list and the two countries, which helps interpret the query and country parameters, but it does not address pagination or other parameter details. It partially compensates for the coverage gap but does not fully map all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is phrased as a usage trigger ('Use this when...') but it clearly identifies the resource (EPK public guidance) and the topical scope (buying, taxation, regulations, etc.) in two specific countries. It distinguishes from property search siblings by focusing on guides rather than property records, though it never explicitly states the verb 'search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: when the user asks about EPK public guidance on a specific list of topics in Panama or the Dominican Republic. It does not mention when not to use it or name alternative tools, but the criteria are clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_propertiesSearch public propertiesARead-onlyIdempotentInspect
Use this when the user wants to find public EPK Properties listings with explicit country, sale/rent, property type, price, bedroom, bathroom, or area filters.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Location, property name, address, or descriptive keywords. | |
| offset | No | ||
| country | No | PTY for Panama or DOM for the Dominican Republic. | |
| language | No | Language for descriptions and canonical listing URLs. | es |
| max_area | No | Maximum area in square metres. | |
| min_area | No | Minimum area in square metres. | |
| max_price | No | ||
| min_price | No | ||
| min_bedrooms | No | ||
| min_bathrooms | No | ||
| property_type | No | ||
| operation_type | No | Search properties for sale or rent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| limit | Yes | |
| total | Yes | |
| offset | Yes | |
| results | Yes | |
| has_more | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scope 'public' but does not disclose additional behavioral details like pagination, sorting, or default ordering. This is adequate but not rich, so a mid-range score 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with 'Use this when', and contains no redundant information. It is concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, output schema present), the description is sufficient for guiding the agent on the core use case. The output schema covers return values, and the description captures the essential filter dimensions. It does not mention pagination or language details, but those are documented in the schema, so the description adds adequate contextual value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 46%, requiring some compensation from the description. The description lists the filter categories (country, sale/rent, property type, price, bedrooms, bathrooms, area), which helps map to parameters. However, it does not explain min/max semantics or the available enums, leaving some ambiguity for parameters without schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('find'), resource ('public EPK Properties listings'), and scope ('with explicit ... filters'). It distinguishes itself from the generic 'search' sibling by specifying that this is for public property listings with structured filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear 'when to use' condition: when the user wants to find public properties using specific filters. However, it does not explicitly mention when not to use it or suggest alternatives like 'get_property' for single-listing lookups, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenancePhilippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.Last updated627MIT

Evlek — Northern Cyprusofficial
AlicenseAqualityBmaintenanceAI-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.Last updated18MIT- AlicenseAqualityAmaintenanceSearch 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.Last updated1132541Apache 2.0
- Alicense-qualityAmaintenanceA comprehensive Model Context Protocol server for real estate data management that provides tools and resources for property listings, agent management, market analysis, client relationships, and area intelligence.Last updated50AGPL 3.0