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.mx/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, billing basis and statistical meaning 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 and snapshot meaning. Describe prices as reference estimates; the requested destination does not prove locally observed quotes. - 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 billing basis
range_statisticdistinguishes percentile bounds from legacy ranges. P10–P90 is not a measured minimum/maximum or a guaranteed quote.billing_basisprovides an established quantity unit; a null value must not be guessed from its label.- Dates and observation period
dateidentifies the published snapshot. A verifiedobservation_periodgives 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 with insufficient data returns
status: no_dataand an emptypricesarray. Invalid contexts return an error.
Published prices are reference estimates, 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.mx/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.