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.
https://www.fixando.pt/mcp
Add this URL as a remote MCP server in your MCP-compatible application.
Start with a service and a location
- Choose a market. Call
get_marketsfor supported countries, languages, currencies and endpoints. - Find a price page. Use
search_price_categorieswith a market and service name. For local prices, find district and municipality IDs withsearch_price_locations. - 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_offsetuntil it isnullwhen you need further results. - Cite the canonical
urlreturned byget_prices. Preserve its market, currency, billing unit, date and any broader geographic fallback. - Respect
429andRetry-After. A validno_dataresult 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_statisticidentifies the central value. Request-based calculations use the median; legacy data uses the mean.- Range and source
range_statisticdistinguishes P10–P90 ranges from legacy ranges.sourceandfallbackidentify the category and geographic scope actually used.- Snapshot date
dateidentifies 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_dataand an emptypricesarray. 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.pt/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 byRetry-After.503: the service is temporarily unavailable.isError: true: a tool could not complete the request; read its error message.- GET on
/mcpreturns405. 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.