MyPorta
Server Details
Find UK homes for sale and to rent, matched to your wishes, with nearby schools and area guides.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: search_homes finds properties, get_home retrieves details for one, compare_homes compares two to four, and get_area_guide provides town/neighbourhood information. There is no meaningful overlap that would cause an agent to misselect.
All tool names follow a consistent snake_case verb_noun pattern: compare_homes, get_area_guide, get_home, search_homes. The verbs (compare, get, search) are appropriate and the pattern is predictable throughout.
Four tools is well-scoped for a UK property search and area guide server. Each tool covers a distinct core user need without redundancy or excessive granularity.
The set covers the main read-only workflows: search, inspect a single home, compare homes, and get area guides. Minor gaps exist, such as saved searches, alerts, or a way to retrieve agent contact details outside of get_home, but the core surface is solid.
Available Tools
4 toolscompare_homesCompare homesARead-onlyIdempotentInspect
Use this when the user wants to compare two to four homes from search_homes results side by side: price, rooms, key facts, nearby schools with their Ofsted grade, station, park, GP surgery, supermarket, broadband and agent. Takes the homes' ids.
| Name | Required | Description | Default |
|---|---|---|---|
| home_ids | Yes | Ids from search_homes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| homes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, fully specifying the safety profile. The description adds no additional behavioral context like whether results are cached, how Ofsted grades are sourced, or any rate limits. With annotations taking the lead, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single comprehensive sentence, front-loading the usage scenario and then listing compared attributes. It is efficient and has no wasted words, though the long list of attributes could be seen as slightly dense.
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 there is an output schema, the description doesn't need to detail return values. It covers the purpose, source of ids, and comparison scope sufficiently. However, it could mention that exactly two to four ids are required (the schema has constraints but the description only says 'two to four'), and it doesn't address error handling or invalid IDs. Mostly 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 description coverage is 100%; the single parameter home_ids is fully documented with its source ('Ids from search_homes') and constraints (min 2, max 4 items). The description mentions 'two to four homes' which restates the schema constraints but adds no extra meaning like ID format or edge cases. Baseline 3 is correct.
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 states a specific verb ('compare') and resource ('homes') and enumerates exactly what attributes are compared (price, rooms, schools, Ofsted grade, station, etc.). It also names the sibling tool 'search_homes' as the source of the ids, which clearly distinguishes it from get_home and get_area_guide.
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 clear context: 'use this when the user wants to compare two to four homes from search_homes results side by side.' The reference to search_homes gives the alternative source. However, it doesn't explicitly say when not to use this tool (e.g., comparing more than four homes, or single-home details), so a slight gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_area_guideGet an area guideARead-onlyIdempotentInspect
Use this when the user asks what a UK town, village or neighbourhood is like to live in. Returns MyPorta's area guide summary and a link to the full guide.
| Name | Required | Description | Default |
|---|---|---|---|
| place | Yes | Town, village or neighbourhood name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| name | No | |
| found | Yes | |
| region | No | |
| summary | No | |
| headline | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world, and non-destructive behavior, so the safety profile is fully covered. The description adds only that it returns a summary and a full-guide link, which is modest value because an output schema already 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?
Two sentences, front-loaded with the usage condition and followed by the return summary. Every sentence earns its place and nothing is redundant.
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, read-only lookup with one fully documented parameter, full annotation coverage, and an output schema, the description supplies the needed when-to-use and high-level return context. Nothing essential is missing for correct invocation.
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?
There is one required parameter, and the schema description coverage is 100% with its own 'Town, village or neighbourhood name' description. The tool description adds no formatting, examples, or constraints beyond what the schema already provides, so 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 states a specific resource and output: MyPorta's area guide summary plus a link to the full guide. It clearly distinguishes the tool from home-search siblings by topic, but it does not explicitly name or contrast with any sibling tool.
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 gives a precise usage trigger: when the user asks what a UK town, village or neighbourhood is like to live in. It does not state when not to use the tool or point to alternatives, but the context is clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_homeGet a home's detailsARead-onlyIdempotentInspect
Use this when the user asks about one home from search_homes results: what the advert says, rooms, tenure, lease, service charge, ground rent, council tax band, EPC rating, parking, heating, nearby schools with their Ofsted grade, station, park, GP surgery, supermarket, broadband or agent. Takes the home's id.
| Name | Required | Description | Default |
|---|---|---|---|
| home_id | Yes | The id from search_homes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| home | Yes | |
| facts | No | Key facts from the advert: tenure, lease, service charge, ground rent, council tax band, EPC rating, floor area, parking, heating. |
| caveat | No | |
| summary | No | The opening of the agent's advert, in the agent's words (homes found on an agent's website; the full advert is on the agent's page). |
| description | No | The agent's description (homes with full details on MyPorta only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value by disclosing the breadth of returned data (Ofsted grades, broadband, nearby amenities), which tells the agent what one call actually yields. It doesn't mention failure behavior for a stale/invalid home_id.
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?
One front-loaded sentence that leads with the usage trigger and ends with the parameter. The long enumeration of data categories is dense but each item is informative for selection; it is not padded prose.
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?
An output schema exists, so return values need not be explained, yet the description helpfully previews the coverage. With annotations, a full schema, and a clear usage trigger, an agent has what it needs; only error/staleness behavior is absent.
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 home_id parameter is already documented as coming from search_homes. 'Takes the home's id' merely restates the schema, adding no syntax, format, or constraint detail beyond it.
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?
States a specific verb+resource ('get a home's details') scoped to a single home, and explicitly anchors it to search_homes results, distinguishing it from the plural sibling search_homes and from compare_homes. The enumerated detail categories make the scope 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?
Gives a clear trigger ('Use this when the user asks about one home from search_homes results') and implicitly routes discovery to search_homes. It stops short of an explicit when-not or naming compare_homes as the alternative for multi-home questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_homesSearch homesARead-onlyIdempotentInspect
Use this when the user wants to find homes for sale or to rent in the UK. Give a place (town, area or postcode) and any budget, bedrooms or type they mention. Put what they want from the home or area in their own words in wishes (for example "a garden", "walk to a station", "good primary schools nearby", "within 45 minutes of King's Cross"); homes are then ranked by fit, each with a 0-100 match score and the evidence behind it (station and school distances, advertised features). Put a physical feature they insist on and an advert would state ("garage", "annexe") in must_haves; anything about lifestyle or the area ("near the sea", "wild swimming", "good schools") always goes in wishes. Returns up to 10 homes with price, bedrooms, agent and a link, and for each home what is nearby: the nearest primary and secondary schools with their Ofsted grade, station, park, GP surgery, supermarket and broadband.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No | Default 6. | |
| place | Yes | One UK place: a town, city, district, county, region, national park, National Landscape, named coast, island or postcode, e.g. "Harrogate", "Dorset", "the Lake District", "the South West", "the south coast", "Jersey", "LS6". Each is searched as one whole area. "near Totnes" takes in about 3 miles around it. | |
| wishes | No | What the user wants, in their words. Homes are ranked by how well they match. | |
| max_beds | No | ||
| min_beds | No | ||
| max_price | No | Pounds. For rent, per calendar month. | |
| min_price | No | Pounds. For rent, per calendar month. | |
| must_haves | No | A physical feature the advert must state word for word, e.g. "garage". Never lifestyle or area wishes: those go in wishes. | |
| buy_or_rent | No | Default buy. | |
| property_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| homes | Yes | |
| place | No | |
| towns | No | For a coast or national park: the towns searched, each with its search on MyPorta. |
| more_url | No | The same search on MyPorta, with every result. |
| place_found | No | False when MyPorta did not recognise the place; no homes are returned then. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe, idempotent read (readOnlyHint, idempotentHint, destructiveHint false), so the bar is lower. The description goes further by disclosing the ranking behavior (homes ranked by fit with a 0-100 match score and supporting evidence) and the result cap of 10 homes with price, bedrooms, agent and link.
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?
Front-loaded with the when-to-use condition and the key parameter guidance; every sentence carries operational content rather than filler. It is dense and somewhat long, with the returning-amenities enumeration being the least essential part given an output schema exists.
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 an 11-parameter, open-ended search with an output schema already describing results, the description supplies everything an agent needs: trigger condition, geographic granularity of `place`, the wishes/must_haves distinction, and the ranking/scoring model. Nothing material is left ambiguous.
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 64%, and the description meaningfully compensates by drawing the tricky wishes vs must_haves boundary with concrete examples ('garage' vs 'near the sea', 'good schools'), which is the most error-prone parameter decision here. It adds little on sort, limit, property_type or the bed/price ranges, which the schema covers.
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 opening sentence states a specific verb and resource ('find homes for sale or to rent in the UK'), including the geographic scope. It is immediately distinguishable from siblings like compare_homes, get_home and get_area_guide, which handle comparison, single-listing retrieval and area narrative respectively.
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 clearly states the triggering condition ('when the user wants to find homes for sale or to rent') and instructs the agent on what to pass along (place, budget, bedrooms, type). It does not explicitly name when to prefer compare_homes or get_home instead, so the routing vs alternatives is implied rather than spelled out.
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.
4 tool updates
- First observed
compare_homes - First observed
get_area_guide - First observed
get_home - First observed
search_homes
Related MCP Connectors
UK property data — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House
UK property research tools - crime stats, schools, demographics, valuations for AI.
Property listings in Portugal: search, market stats, comparables, neighbourhoods.
Real estate neighbourhood data: nearest school, shops, transport with travel times, 25 countries.
Related MCP Servers
- AlicenseAqualityBmaintenanceUnified UK property search across major portals with deduplication and open-data enrichment, enabling natural-language queries for listings, sold prices, EPC, crime, schools, and market stats.10MIT
- AlicenseCqualityDmaintenanceEnables access to UK property listings, price estimates, agent information, and market data through the Zoopla API for searching properties for sale or rent with detailed filters and analytics.22MIT
- FlicenseNot gradedqualityCmaintenanceUK property listing description generator. Give an AI assistant a postcode or address — it fetches comparable sales, EPC ratings, and Rightmove listings, then writes three copy variants ready for Rightmove, social media, and email.1-
- AlicenseAqualityDmaintenanceSearch comparable property sales across 16 global markets with 43M+ government-sourced transactions. Tools: search comps by location, get area statistics and trends, list available markets. Covers UK, France, Singapore, NYC, Chicago, Dubai, and 10 more cities.34MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.