fixfind.at – local offers in Austria
Server Details
Products and services from Austrian businesses and shops: search by keyword, location and price.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role in a natural funnel: browse the catalog structure, search listings, then fetch full details for a specific offer. The descriptions explicitly state the relationship (search results are summaries, use get_offer for details), leaving no realistic chance of misselection.
All three tools follow a consistent get_/search_ verb_noun pattern (get_catalog_overview, search_offers, get_offer) with uniform snake_case. Prefixes match semantics well: search_ for queries, get_ for retrieval.
Three tools is lean but each earns its place in a browse-search-detail workflow for a read-only listings domain. It is on the low end, since there is no separate tool for paging through results or listing categories/towns as a first-class resource beyond the overview.
The read-only surface covers the full user journey: discover categories/towns, search with location/category/price filters, and retrieve complete offer details including contact info and URL. Minor gaps exist around pagination/sorting of search results and provider-centric lookups, but agents can work around them by refining search arguments.
Available Tools
3 toolsget_catalog_overviewKatalog-ÜberblickARead-onlyIdempotentInspect
Overview of what fixfind.at offers: all categories with the number of offers, and the towns with the most offers. Useful before searching, to pick a category or location.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description doesn't need to repeat it. It does add the important behavioral fact that the response is aggregate data (counts per category, top towns) rather than offers, which is not derivable from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the first front-loads what the tool returns (including return shape, useful given no output schema), the second gives the use case. No filler or restated title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only source of return-value information, and it does summarize the shape (categories with counts, top towns). Minor gap: it doesn't say how many towns are returned or whether the result is bounded/truncated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool applies. No misleading mention of filtering options that don't exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (the fixfind.at catalog) and enumerates exactly what the overview contains: all categories with offer counts and the towns with the most offers. The phrase 'useful before searching' distinguishes it from search_offers without the agent needing to compare schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the context in which to call it ('before searching, to pick a category or location'), which effectively routes the agent away from the sibling search tools for discovery. It stops short of naming search_offers or get_offer as alternatives or stating when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offerAngebot abrufenARead-onlyIdempotentInspect
Get full details of one offer by its id (from search_offers): complete description, price, address, provider website and phone (if the provider published it), images and the offer page url, where the user can contact the provider.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Offer id from search_offers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is fully covered. The description does add one real behavioral detail beyond that: phone and website appear only 'if the provider published it', signalling conditionally present return fields. It says nothing about rate limits, error behavior for missing ids, or pagination, so it adds modest rather than rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action and id source front-loaded, followed by a tight enumeration of return fields. Nothing is wasted and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the fields the agent will receive, plus the caveat that phone/website may be absent. Combined with annotations covering safety and a fully documented single param, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema coverage is 100% – the schema already says 'Offer id from search_offers.'. The description repeats that provenance but adds no new syntax, range, or format meaning. Baseline 3 for a fully documented single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get full details') and resource ('one offer by its id') and enumerates exactly what is returned: description, price, address, website, phone, images, url. This distinguishes it cleanly from search_offers, which produces the id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(from search_offers)' establishes the workflow: find an offer via search, then fetch its detail here. It stops short of an explicit exclusion ('do not use this to browse or filter'), so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_offersAngebote suchenARead-onlyIdempotentInspect
Search products and services offered by local businesses in Austria (mainly Vienna and Lower Austria) listed on fixfind.at. Listings are in German, so use German search terms (e.g. "Möbelmontage", "Fotograf", "Felgenreparatur"). Filter by location (Austrian postal code like "1100", a prefix like "23", or a town name like "Mödling"), category and maximum price. Call without arguments to browse all offers. Returns short summaries; use get_offer for full details. Always give the user the offer url.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | German search terms, e.g. "Umzug Wien" or "Passfoto". Optional. | |
| offset | No | For paging through results. | |
| category | No | Exact category. Optional. | |
| location | No | Austrian postal code (4 digits), postal code prefix, or town name. Optional. | |
| max_price | No | Maximum price in EUR. Excludes offers without a price. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, but the description still adds useful context: results are abbreviated summaries, listings are German-language, and max_price silently excludes unpriced offers. It lacks detail on result ordering or paging behavior beyond the schema's offset param.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool searches, then location/format constraints, then the no-arg browse case, then the get_offer handoff. Four sentences, none wasted, with the most decision-relevant information first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by saying what comes back (short summaries) and where to go for the rest (get_offer). It also closes the loop on a downstream obligation (surface the URL) that an agent would otherwise miss.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, and the schema already documents German search terms, the postal-code/prefix/town forms, and the max_price exclusion. The description mostly restates these, adding only emphasis ('use German search terms') rather than new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (products/services from local Austrian businesses on fixfind.at), plus the geographic scope. It clearly distinguishes itself from get_offer by declaring it returns only short summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance: call without arguments to browse, use get_offer for full details, and always hand the user the offer URL. It also tells the agent which language to search in, which is a real failure mode for non-German agents.
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.
3 tool updates
- First observed
get_catalog_overview - First observed
get_offer - First observed
search_offers
Related MCP Connectors
Price comparison for Germany and Austria. Read-only, no account. Shop links carry a commission.
Product search across online shops worldwide, plus every seller's price with a direct link.
Find Austrian local service businesses, check free slots and request appointment bookings.
Search 10,209 products for sale in euros and return buyable links with live prices.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search willhaben.at marketplace listings and retrieve full ad details, using filters for category, condition, size, color, pattern, brand, and more.3MIT
- AlicenseAqualityDmaintenanceEnables searching Austria's largest classifieds marketplace (willhaben.at) for real estate, cars, jobs, and second-hand items via natural-language queries and structured filters, with full listing details.77 npm2MIT
- AlicenseAqualityDmaintenanceEnables searching geizhals.de for products and retrieving shop prices and offers to assist with price comparison.2MIT
- AlicenseAqualityDmaintenanceAustria's legal information system (RIS): federal & state law, case law, gazettes, change monitoring.1053 PyPI2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.