Fixando MCP

Give your AI assistant access to the same service price estimates published on Fixando. Public, read-only access. No account or API key required.

Need to create service requests from your product? Use the separate partner request API, which requires approval and authentication.

Server URL · Streamable HTTP https://www.fixando.live/mcp

Add this URL as a remote MCP server in your MCP-compatible application.

Start with a service and a location

  1. Connect. Add the server URL above to an MCP-compatible client. Public prices do not require Fixando credentials.
  2. Ask a price question. Give the country, service, place and language to get_service_price_answer. It returns the published reference in one business call or asks one clarification question.
  3. Cite the source. Keep currency and billing types together and cite result.url. Offer the request link when the user wants tailored quotes.

For catalogue browsing, use the market, category and location discovery tools below. For an already known price-page URL or precise IDs, use get_prices directly.

Current markets and languages

Portugal (pt)
EUR · pt, en, de, es, fr
https://www.fixando.pt/mcp
España (es)
EUR · es, en, pt
https://www.fixando.es/mcp
Deutschland (de)
EUR · de, en, es, fr
https://www.fixando.live/mcp
Schweiz (ch)
CHF · de, en, pt, es, fr
https://www.fixando.ch/mcp

Coverage comes from get_markets. Price availability varies by service, location and billing type. Server version: 1.4.0. Registry metadata.

Connect a client

Use Streamable HTTP and no Fixando credentials. The Markdown reference contains copyable OpenAI Responses API and official Node.js MCP client examples, expected results and troubleshooting.

For a quick-answer profile, expose get_service_price_answer. For a known price-page URL, expose get_prices. Keep the discovery tools for catalogue browsing. Refresh the tool list or start a new client session after an upgrade.

Research clients can use search and fetch to discover and retrieve citable price sources. The research recipe describes setup and verification. ChatGPT availability depends on your account and workspace settings.

Compare calendar prices

Use year and period with the answer tool, or use get_price_history for a known page. Compare complete years or matching completed YTD months. Calendar comparisons are available through MCP only. The returned source link identifies the service and location on the public price page. Missing or incompatible evidence has no percentage. See the calendar comparison reference.

One price source, two retrieval workflows

get_service_price_answer
Resolve a service and place and return a short localised answer with the unchanged public price result. Cite result.url, or ask the returned clarification question.
get_markets
Discover supported markets and languages. Start here when the country is not yet known.
search_price_categories
Find root, parent and service price-page candidates. Filter by name, hierarchy level or location.
search_price_locations
Find valid administrative region (dd) and local area (cc) IDs. Types, display names and parent regions distinguish places with the same name.
get_prices
Read current prices by page URL or by market, category and location IDs. Optionally select a billing basis or exact billing type.
search / fetch
Find canonical price sources by service and place, then retrieve their current evidence using the returned source ID. Cite the canonical URL; the request action remains separate.

Search results are candidates, not a guarantee of price availability. Exact arguments and schemas are available through tools/list and in the Markdown reference.

For AI agents and automated retrieval

MCP-capable agents can retrieve structured prices through this server. Standard web crawlers can continue to read the public HTML pages; a link to an MCP endpoint does not make a crawler execute tools automatically.

  • Read the machine-readable MCP reference for the connection sequence and live tool schemas.
  • Use llms.txt for Fixando's public source-selection and retrieval guidance.
  • Discover URLs and IDs through the tools. Follow next_offset until it is null when you need further results.
  • Cite the canonical url returned by get_prices. Preserve its market, currency, billing unit and snapshot meaning. Describe prices as reference estimates; the requested destination does not prove locally observed quotes.
  • Respect 429 and Retry-After. A valid no_data result means there is no public price to report.

Understand the price you receive

Same values as the website
Web pages and MCP share price selection, publication thresholds, units and rounding.
Median or mean
central_statistic identifies the central value. Request-based calculations use the median; legacy data uses the mean.
Range and billing basis
range_statistic distinguishes percentile bounds from legacy ranges. P10–P90 is not a measured minimum/maximum or a guaranteed quote. billing_basis provides an established quantity unit; a null value must not be guessed from its label.
Dates and observation period
date identifies the published snapshot. A verified observation_period gives inclusive start and exclusive end boundaries in the recorded timezone. Unknown periods and calculation times remain null; the snapshot date never proves fresh observations.
Missing data
A valid page without the requested public prices returns status: no_data and an empty prices array. no_data_reason distinguishes insufficient data from an unavailable selected billing type. Invalid contexts return an error.

Published prices are reference estimates based on quotes and eligible customer-reported prices, not binding quotes. Raw quotes, sample counts and admin-only statistics are not exposed. Successful results follow the outputSchema advertised by each tool.

Offer request_url when the user wants tailored quotes. It opens the existing form or service-selection step without submitting a request. Confirm the service and postcode with the user; the requested location is not automatically prefilled.

Technical reference

Connection and request example

Use HTTPS POST with Content-Type: application/json and Accept: application/json, text/event-stream. Supported versions: 2025-11-25, 2025-06-18, 2025-03-26.

curl --request POST https://www.fixando.live/mcp \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-11-25",
      "capabilities": {},
      "clientInfo": {
        "name": "example-client",
        "version": "1.0"
      }
    }
  }'

Then send notifications/initialized, call tools/list and invoke tools with tools/call. Include the negotiated version in MCP-Protocol-Version. No session ID or persistent SSE connection is required.

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "search_price_categories",
    "arguments": {
      "site_code": "pt",
      "query": "limpeza",
      "limit": 5
    }
  }
}
Pagination, limits and errors

Searches return 20 items by default and accept up to 50 per page. The current request limit is 120 per IP per minute. Request and response size limits also apply.

  • 429: wait for the time specified by Retry-After.
  • 503: the service is temporarily unavailable.
  • isError: true: a tool could not complete the request; read its error message.
  • GET on /mcp returns 405. Read the guide or Markdown reference with GET instead.

Include X-Request-ID when reporting a problem. Access metadata is logged for operational monitoring; full response payloads are not logged.