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.

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

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

Start with a service and a location

  1. Choose a market. Call get_markets for supported countries, languages, currencies and endpoints.
  2. Find a price page. Use search_price_categories with a market and service name. For local prices, find district and municipality IDs with search_price_locations.
  3. Read the published prices. Pass a returned page URL to get_prices, or use its category and location IDs. Keep the returned currency, unit and source scope together.

Four tools, one price source

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 district (dd) and municipality (cc) IDs for a market.
get_prices
Read current prices by canonical page URL or by market, category and location IDs.

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, date and any broader geographic fallback.
  • 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 source
range_statistic distinguishes P10–P90 ranges from legacy ranges. source and fallback identify the category and geographic scope actually used.
Snapshot date
date identifies the published snapshot. It is not an individual quote date or a fixed observation window.
Missing data
A valid page with insufficient data returns status: no_data and an empty prices array. Invalid contexts return an error.

Published prices are estimates, not binding quotes. Raw quotes and admin-only statistics are not exposed.

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.cv/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.