FrankSpace Public MCP
Server Details
Read-only search over live UK office & workspace listings on FrankSpace.
- Status
- Healthy
- Uptime
- 99.9% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The two search tools (ai_search and search_workspaces) both retrieve listings and could be confused, but their descriptions clearly separate natural-language queries from structured filters. The other three tools have unique, well-defined purposes.
All tool names use a consistent snake_case verb_noun pattern: ai_search, get_frankspace_skill, get_workspace, search_workspaces, and submit_feedback. There are no mixed conventions or vague, generic verbs.
Five tools is well-scoped for a public read-only listings MCP: two search modes, one detail lookup, one onboarding/skill endpoint, and one feedback channel. Each tool has a distinct job and none feel redundant.
The surface covers the full public workflow: learn how to query, search by natural language or structured filters, and fetch workspace details. Feedback covers edge cases and gaps, and no CRUD is expected for a public read-only API.
Available Tools
5 toolsai_searchNatural-language workspace searchARead-onlyIdempotentInspect
Search FrankSpace workspaces with a plain-English query — the same AI parser that powers the app. Handles budgets, headcount, neighbourhoods, amenities, EPC ratings, and lease terms. Returns matching live UK listings.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Plain-English search query, e.g. 'small office for 6 people in Shoreditch under £3k'. | |
| client_hint | No | Name of the calling agent (e.g. 'claude', 'chatgpt', 'cursor') for analytics. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, closed-world, idempotent behavior. The description adds that it searches live UK listings, which is useful context beyond annotations. No contradiction. Could mention result limit or ordering but overall adequate.
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 concise sentences with no wasted words. Front-loads the core purpose and adds relevant details in the second sentence.
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?
No output schema exists, so the description should cover return structure. It only says 'Returns matching live UK listings' without details on fields, scoring, pagination, or result count. For an AI search tool, this is insufficient.
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%, so baseline is 3. The description adds an example query and lists handled criteria (budgets, headcount, etc.), providing meaningful semantics beyond the schema's brief description.
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 searches FrankSpace workspaces using plain-English queries, listing supported criteria (budgets, headcount, etc.) and notes it returns live UK listings. It distinguishes from siblings by emphasizing natural language vs structured 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 implies use for natural language queries (the same AI parser as the app) but does not explicitly exclude structured search or individual workspace lookup. It provides clear context for when to use but lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_frankspace_skillHow to use FrankSpaceARead-onlyIdempotentInspect
Fetch the FrankSpace Agent Skill: how to query the listing inventory correctly, how to read the data (prices are pence, IDs are UUIDs), the commercial facts, and the limits of what this server can do. Read this once before your first search if you are unfamiliar with FrankSpace.
| Name | Required | Description | Default |
|---|---|---|---|
| client_hint | No | Name of the calling agent (e.g. 'claude', 'chatgpt') for analytics. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and closed-world. The description adds valuable context about the content of the skill (e.g., data format, limitations), which helps the agent understand what to expect 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?
Two sentences that front-load the action ('Fetch the FrankSpace Agent Skill') and succinctly cover the document's content and recommended usage. Every sentence 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 (one optional param, no output schema). The description explains the skill's content sufficiently for an agent to understand when and why to call it. Minor omission: no mention of the parameter's effect, but the tool works without it.
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 has 100% description coverage for the single optional parameter 'client_hint,' so baseline is 3. The description does not elaborate on this parameter, but it is not necessary for understanding the tool's core purpose.
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 it fetches the 'FrankSpace Agent Skill' document, which instructs on querying inventory, reading data (prices as pence, IDs as UUIDs), and understanding server limits. This clearly differentiates it from sibling tools like 'ai_search' or 'get_workspace.'
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 advises reading the skill 'once before your first search if you are unfamiliar with FrankSpace,' providing a clear use case. It does not explicitly state when not to use it or mention alternatives, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspaceGet workspace detailsARead-onlyIdempotentInspect
Fetch full public details for a single FrankSpace workspace by its ID (UUID).
| Name | Required | Description | Default |
|---|---|---|---|
| client_hint | No | Name of the calling agent (e.g. 'claude', 'chatgpt') for analytics. | |
| workspace_id | Yes | Workspace UUID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and openWorldHint. The description adds that details are 'public', which is helpful but minimal. It does not contradict annotations, but adds little beyond 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 a single, well-structured sentence that immediately conveys the core purpose. No unnecessary words or redundancy.
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 tool with strong annotations and a self-explanatory schema, the description sufficiently explains what the tool does and what it returns ('full public details'). No output schema is needed.
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 input schema has 100% description coverage for both parameters. The description does not add any additional meaning beyond the schema's own parameter 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 uses a specific verb ('Fetch'), a clearly defined resource ('full public details for a single FrankSpace workspace'), and a precise method ('by its ID (UUID)'). This effectively distinguishes it from sibling search tools like 'search_workspaces'.
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 implicitly indicates usage (fetching a single workspace by ID), but lacks explicit guidance on when to use this tool versus alternatives like 'search_workspaces' or 'ai_search'. No 'when not to use' or direct comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_workspacesSearch FrankSpace workspacesARead-onlyIdempotentInspect
Search live UK workspace listings on FrankSpace. Filter by location text (city, postcode, submarket), size band, and maximum monthly price (pence). For richer natural-language queries prefer ai_search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| location | No | Free-text location, e.g. 'Shoreditch' or 'EC2A'. | |
| size_band | No | small ≤500 sqft, medium 500-1500, large 1500-3000, xlarge >3000. | |
| client_hint | No | Name of the calling agent (e.g. 'claude', 'chatgpt') for analytics. | |
| max_price_pence | No | Max monthly price in pence. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds context about the domain (live UK workspace listings) and filtering capabilities, but does not detail return format or pagination behavior, which is acceptable given 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?
Two sentences with no fluff. Purpose is front-loaded, and the alternative tool reference is efficiently placed. Every sentence earns its 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?
The description covers the main filtering options and domain. However, it omits mention of the 'limit' parameter (pagination) and the 'client_hint' parameter, leaving minor gaps. For a search tool without output schema, this is acceptable but not fully 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 80%, so baseline is 3. The description adds value by specifying that location can be city, postcode, or submarket, and mentions size band and max price. This clarifies the intended use beyond the schema's individual parameter 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 verb 'Search' and the resource 'live UK workspace listings on FrankSpace'. It distinguishes from sibling 'ai_search' by specifying structured filter capabilities and explicitly directing richer queries to 'ai_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?
Explicitly instructs when to use this tool: for filtering by location, size band, and max price. Provides an alternative ('ai_search') for natural-language queries, making the choice clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackReport a problem with FrankSpace data or docsAInspect
Report something wrong or missing in FrankSpace's agent-facing surface: a listing whose details look stale or incorrect, a gap that made a search impossible, an unclear or contradictory statement in llms.txt / skill.md, or a tool that behaved unexpectedly. Feedback is reviewed by the FrankSpace team. Do NOT use this to contact a property owner, register interest in a workspace, ask a question, or pass on anything a user expects a reply to — nobody replies to this channel. Enquiries and viewings go through the listing page at https://frankspace.co.uk/office/, by the user, on the site. Send one clear report rather than several; describe what you observed and what you expected.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | data_error: a listing's details are wrong or stale. missing_data: a field or filter you needed does not exist. docs_unclear: llms.txt / skill.md is unclear, contradictory or incomplete. tool_problem: a tool errored or returned something unusable. | other |
| message | Yes | What is wrong, in plain English. Include what you observed and what you expected. Do not include personal data about the user. | |
| client_hint | No | Name of the calling agent (e.g. 'claude', 'chatgpt') for analytics. | |
| subject_url | No | The FrankSpace URL the report is about, if not a specific workspace. | |
| workspace_id | No | UUID of the workspace the report is about, when it concerns one listing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: feedback is reviewed by the team, nobody replies to this channel, and it specifies what kind of feedback is appropriate. Annotations are neutral (no readOnly, no destructive hints), and the description does not contradict 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 well-structured with clear examples and exclusions. It is front-loaded with purpose and then details. Though slightly long, every sentence 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?
Given the complexity (5 parameters, 1 required) and no output schema, the description provides sufficient context for agents to understand the tool's purpose and how to report issues. It covers the types of problems and what to include.
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%, so the schema already documents all five parameters thoroughly. The tool description does not add additional parameter-level detail beyond the schema. 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 uses a specific verb ('Report') and explicitly lists the types of problems (data errors, missing data, docs unclear, tool problems) that fall under this tool. It clearly distinguishes from sibling tools like ai_search, get_workspace, etc., which serve different purposes.
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 ('Report something wrong or missing') and when-not-to-use ('Do NOT use this to contact a property owner...', 'Enquiries and viewings go through the listing page'). It also gives guidance on sending one clear report rather than several.
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.
2 tool updates
- Added
get_frankspace_skill - Added
submit_feedback
3 tool updates
- First observed
ai_search - First observed
get_workspace - First observed
search_workspaces
Related MCP Connectors
Search commercial real estate listings. Reads need no token; authoring is self-serve OAuth (DCR).
Search UK companies, land registry prices, charities, OS locations, and traffic data
Search UK planning applications, entities, datasets, and conservation areas
Search public procurement notices from 17 sources across Germany, the EU and the UK. Read-only.
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
- AlicenseNot gradedqualityBmaintenanceEnables read-only research of public Outsite locations, quoted stay rates, and individual room calendars.MIT

geolens-mcpofficial
AlicenseAqualityAmaintenanceRead-only access to a self-hosted GeoLens geospatial catalog: dataset search, schemas, GeoJSON features, saved maps, and sandboxed read-only SQL over PostGIS.6261Apache 2.0- AlicenseNot gradedqualityCmaintenanceProvides read-only tools to search customers, orders, and business documents across PostgreSQL, JSON CRM, and Markdown sources, with tenant isolation, PII masking, and auditable access.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.