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 4.3/5 across 6 of 6 tools scored.
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.
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.
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.
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 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 | |
| text | Yes | |
| title | Yes |
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. 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.
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.
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.
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.
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.
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 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 | |
| image_url | Yes | |
| countryName | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 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 for EPK public knowledge searches and always when one request combines property listings with guides, regulations, taxes, residency, relocation, or due diligence. It returns both result types in one response and remains 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context about the combined response type and compatibility with company knowledge/deep research, which goes beyond annotations without contradicting them.
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 two sentences, front-loaded with the primary purpose, and every sentence serves a distinct function: usage guidance and behavior/benefit. No redundancy or unnecessary detail.
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 output schema exists and annotations are rich, the description adequately covers usage, combined result behavior, and compatibility. For a simple one-parameter search tool, it is 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?
Schema coverage is 100% with the query parameter described as 'Natural-language search query'. The description does not add parameter-specific details, so the baseline 3 applies.
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 purpose: 'Use this for EPK public knowledge searches' and specifies it returns 'both result types in one response', distinguishing it from siblings like search_guides and 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?
It provides explicit usage guidance: 'always when one request combines property listings with guides, regulations, taxes, residency, relocation, or due diligence' and implies alternatives for non-combined queries via the sibling tools.
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 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.
| 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, 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.
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.
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.
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.
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.
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 propertiesARead-onlyIdempotentInspect
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.
| 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 | ||
| max_bedrooms | No | Maximum bedrooms; set equal to min_bedrooms for an exact bedroom count. | |
| min_bedrooms | No | Minimum number of bedrooms. | |
| max_bathrooms | No | Maximum bathrooms; set equal to min_bathrooms for an exact bathroom count. | |
| min_bathrooms | No | Minimum number of bathrooms. | |
| 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?
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.
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.
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.
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.
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.
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.
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.644MIT
- AlicenseNot gradedqualityAmaintenanceRemote 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

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.18MIT- 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.136392Apache 2.0