Skip to main content
Glama

MatchOffice — Commercial Real Estate Search

Server Details

Search for office space, coworking, meeting rooms, warehouses, and retail units available for lease or sale in Denmark, Sweden, Norway, and Germany. Powered by MatchOffice (Lokalebasen), Scandinavia's leading commercial real estate marketplace.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

The three tools have clearly distinct purposes: search_locations finds locations, get_location retrieves a specific location by ID, and create_order submits an inquiry. There is no functional overlap, and an agent can easily select the correct tool.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (create_order, get_location, search_locations). This makes the set predictable and easy to remember.

Tool Count4/5

Three tools is a focused, minimal set that covers search, detail retrieval, and inquiry submission. It is slightly thin for a commercial real estate platform, but each tool earns its place and the count is reasonable for a search-centric server.

Completeness4/5

The search domain is well covered (search and get), but the order sub-domain lacks any retrieval or management operations (e.g., get_order). This is a minor gap that does not block core search workflows but could limit agents needing to reference submitted inquiries.

Available Tools

3 tools
create_orderCInspect

Submit an inquiry for a location

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull name of the inquirer (max 200 chars)
emailYesValid email address
phoneYesPhone number (min 6 chars)
commentNoMessage to the provider (optional, max 2000 chars)
companyNoCompany name (optional, max 200 chars)
location_idYesLocation ID to inquire about

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds little beyond the annotation set: it does not say the inquiry is delivered to the provider, whether resubmission creates duplicates (relevant given non-idempotent), or what confirmation the caller receives.

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

Conciseness3/5

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

A single front-loaded sentence with no padding, but it is so terse that it omits behavior an agent needs. Conciseness is achieved at the cost of substance rather than through efficient packing of useful information.

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

Completeness2/5

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

For a six-parameter, non-idempotent open-world write with no output schema, the description should say more about submission behavior and outcome. The schema documents the inputs, but nothing covers what happens after submission or how to detect success versus duplicate submission.

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

Parameters3/5

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

Schema description coverage is 100% and all six parameters carry their own descriptions with constraints, so the baseline is 3. The description contributes nothing further about parameter meaning (e.g., what location_id must reference or how comment is used).

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

Purpose3/5

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

The description gives a specific verb and resource ("submit an inquiry for a location"), but it conflicts with the tool name `create_order`, which implies order creation rather than a contact inquiry. The schema fields (name, email, phone, comment, company) support the inquiry reading, so the description does clarify intent, yet the mismatch with the name leaves room for an agent to be confused about what is actually created.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives. The siblings (`get_location`, `search_locations`) are read-only lookups, so the agent must infer that this is the follow-up action after finding a location. No prerequisites, exclusions, or routing conditions are provided.

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

get_locationB
Read-onlyIdempotent
Inspect

Get full details for a single location by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLocation ID

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only that the return is 'full details' rather than a summary, which is mild extra signal but no auth, rate-limit, or not-found behavior context.

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

Conciseness4/5

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

One short sentence with the action and the required input front-loaded, no filler. It is appropriately sized, though extremely terse for a tool whose return shape is undocumented.

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

Completeness3/5

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

For a trivial single-fetch read tool with rich annotations and full schema coverage, the description is nearly sufficient; the only meaningful gap is that no output schema exists and 'full details' never enumerates what is returned or what a missing ID yields.

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

Parameters3/5

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

Schema description coverage is 100% with a single integer id parameter that is fully documented as 'Location ID' in the schema. The description adds no format, range, or sourcing detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb (Get) and resource (location) with scope ('single location by ID') and clarifies it returns 'full details'. It does not, however, distinguish itself from the sibling search_locations, leaving the boundary between single-fetch and search implicit.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the sibling search_locations as the alternative for lookup-by-other-criteria. The only implied usage is 'you already have an ID', which the schema already conveys via the required id.

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

search_locationsC
Read-onlyIdempotent
Inspect

Search for available commercial real estate locations

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number starting at 1. Returns 20 results per page. Use ceil(total / 20) to calculate total pages.
kindsNoProperty type filter (OR logic). Matches locations where the primary kind OR any secondary kind is in the list — a business_center with secondary_kind 'office' will appear for kinds: ['office']. Lease kinds: office, business_center, warehouse, store, coworking, meeting_room, virtual_office, parking. Sale kinds: housing, office, warehouse, store, lot.
queryNoCity, district, neighborhood, or street name — resolved via autocomplete search. Examples: 'Copenhagen', 'København', 'Østerbro', 'Vesterbro', 'Nørrebro'.
sectionNoProperty section. 'lease' (default) for rentals; 'sale' for properties for sale.
sort_byNoSort order in 'column|direction' format. E.g. 'yearly_rent_per_m2_amount_from|asc', 'area_from|asc', 'created_at|desc'.
area_maxNoMaximum area in m² (inclusive). Must be greater than or equal to area_min when both are provided.
area_minNoMinimum area in m² (inclusive). Uses overlap semantics: a location is included if its available range overlaps [area_min, area_max], e.g. a listing offering 50–500 m² will appear for area_min: 400.
currencyNoCurrency for rent_min/rent_max values, e.g. EUR, DKK, SEK. Defaults to country's native currency.
rent_maxNoMaximum rent (see rent_format and currency).
rent_minNoMinimum rent (see rent_format and currency).
facilitiesNoFacility keys to filter by (OR logic). Common aliases accepted: cctv, wheelchair, 24h, ev_charging, internet, moving.
rent_formatNoLease only. 'monthly' (default) = total rent per month; 'yearly' = rent per m²/year.
suitable_forNoTenant type suitability filter.
energy_ratingNoEnergy rating filter.
country_alpha2YesISO 3166-1 alpha-2 country code (lowercase). Always infer from the city or country name — 'Kyiv' or 'Ukraine' → 'ua', 'Stockholm' or 'Sweden' → 'se', 'Berlin' or 'Germany' → 'de', 'Paris' or 'France' → 'fr'. Uppercase is accepted and normalized. Use 'global' ONLY for country-agnostic searches with no location query (e.g. browsing all available countries). Never combine 'global' with a query — geo resolution requires a country.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile fully. The description adds nothing behavioral on top — no result shape, no pagination behavior, no rate limits — so it contributes no value beyond what the structured fields already convey.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is terse to the point of under-specification rather than bloated, so it is concise but arguably too sparse for a 15-parameter tool.

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

Completeness3/5

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

For a 15-parameter search tool with no output schema, the description is adequate but thin: it says nothing about what results look like, how filtering combines, or how it relates to get_location. The unusually rich schema descriptions compensate for most parameter gaps, keeping this at a minimum-viable 3.

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

Parameters3/5

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

Schema description coverage is 100%: all 15 parameters, including complex enum filters, currency handling, and the country_alpha2 inference rules, are documented in the schema itself. The description adds no parameter meaning, so the baseline 3 applies.

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

Purpose4/5

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

The description states a clear verb+resource ('Search for available commercial real estate locations'), which is specific enough to understand the operation. However, it does nothing to distinguish this tool from the sibling get_location, leaving the search-vs-detail boundary to inference from the names alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives like get_location, and no prerequisites or exclusions. An agent must infer entirely from the tool name that this is the broad listing/search entry point.

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.

  1. 3 tool updates
    • First observedcreate_order
    • First observedget_location
    • First observedsearch_locations

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Analyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources