AutoIsto CZ — car watch
Server Details
Watches Czech used-car ads for a buyer. Takes no contact; active only after e-mail opt-in.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool maps to a distinct lifecycle action on an intent: create (publish), inspect status (get), list matches, and cancel (withdraw). The descriptions explicitly cross-reference each other and clarify what each does not do, leaving no realistic overlap.
All four tools use the same intent_ prefix followed by a verb_noun pattern (get_intent, list_matches, publish_intent, withdraw_intent). Conventions are uniform and predictable.
Four tools cleanly cover the publish/inspect/list/cancel lifecycle for a car-watch service with no redundancy. Nothing feels thin or bloated for this scope.
Create, status check, results retrieval, and cancellation are all present, which is solid lifecycle coverage. The only minor gap is editing an existing intent's criteria, which an agent could work around by withdrawing and re-publishing.
Available Tools
4 toolsintent_get_intentGet the state of a car watchARead-onlyIdempotentInspect
Use this to check whether an intent created with intent_publish_intent is already confirmed by the user and active, waiting, expired or withdrawn. Requires the intentCode; returns the statement and dates only — never the user's e-mail, the hidden limit or any other personal data.
| Name | Required | Description | Default |
|---|---|---|---|
| intentCode | Yes | The intentCode returned by intent_publish_intent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| buyBy | No | |
| found | Yes | |
| status | No | awaiting_consent = the user has not confirmed on the AutoIsto page yet; awaiting_email_confirmation = the user filled in the page and must click the link in the e-mail; active = AutoIsto is watching; expired = the confirmation link, the buy-by date or the intent's validity ran out; withdrawn = cancelled. |
| statement | No | |
| niceToHave | No | |
| validUntil | No | Date (YYYY-MM-DD) until which the intent is watched (before confirmation: until the draft is deleted). |
| activeSince | No | |
| hasHiddenLimit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuine context beyond that: the set of lifecycle states it can report and a privacy guarantee that only the statement and dates are returned, never e-mail, the hidden limit, or other personal data.
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 sentences, front-loaded with the action and the state enumeration, followed by the input requirement and the return/privacy constraint. No filler and nothing repeated from the schema.
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?
For a single-parameter, idempotent read with an output schema, the description covers purpose, the trigger condition, the possible states, and the privacy boundary of the response. Since an output schema exists it need not enumerate return fields, and nothing an agent needs to call it correctly is missing.
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 description coverage is 100%, and the single intentCode parameter is already documented as 'the intentCode returned by intent_publish_intent'. The description only restates that the code is required, adding no format, pattern, or sourcing detail beyond the schema, so the baseline 3 applies.
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+resource (fetch the state of an intent) and enumerates the concrete states returned (confirmed/active, waiting, expired, withdrawn). It also names the sibling that creates the intent (intent_publish_intent), so an agent can place it in the lifecycle without opening another schema.
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 frames the use case: check whether an intent published via intent_publish_intent has been confirmed. That is clear context for when to call it, but it never names the remaining alternatives (intent_withdraw_intent, intent_list_matches) or states when not to use this tool, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intent_list_matchesList cars found for a car watchARead-onlyIdempotentInspect
Use this when the user asks what AutoIsto has found for an intent created with intent_publish_intent. These are the same cars AutoIsto e-mails to the user; this server cannot send messages into the conversation by itself. Requires the intentCode; optional since (ISO time) returns only newer matches. Returns at most 20 newest matches with the price in CZK and AutoIsto price verdict at the time of the match and a link. Before the user confirms the intent there are no matches. AutoIsto is a market aggregator, so matches cover only cars listed on AutoIsto CZ and may be incomplete; a car may already be sold.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Only matches found after this ISO time. | |
| intentCode | Yes | The intentCode returned by intent_publish_intent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| more | No | More matches exist than returned; call again with since. |
| found | Yes | |
| status | No | awaiting_consent = the user has not confirmed on the AutoIsto page yet; awaiting_email_confirmation = the user filled in the page and must click the link in the e-mail; active = AutoIsto is watching; expired = the confirmation link, the buy-by date or the intent's validity ran out; withdrawn = cancelled. |
| matches | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds substantial context beyond them: the server cannot post into the conversation so the agent must relay results, a hard cap of 20 newest matches, price reported in CZK with a verdict at match time plus a link, aggregator coverage limits, and the caveat that a car may already be sold. This is exactly the behavioral disclosure a read tool needs.
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?
Dense but front-loaded: usage trigger first, then return shape, then caveats. Five sentences all carry information, though the return-contents sentence is somewhat long and partly redundant given an output schema exists.
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?
Even though an output schema exists, the description supplies the operational caveats an agent needs to interpret results correctly (20-match cap, CZK pricing, aggregator incompleteness, possibly-sold cars, empty before confirmation). Nothing material for correct invocation or result interpretation is missing.
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 description coverage is 100%, so both parameters are already documented (intentCode format/pattern, since as an ISO datetime). The description restates these ('Requires the intentCode; optional since (ISO time) returns only newer matches') without adding format, timezone, or pagination nuance beyond the schema, so the baseline of 3 applies.
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+resource ('List cars found for a car watch') and immediately anchors it to the intent created by intent_publish_intent, which is a named sibling. An agent can distinguish this read tool from intent_get_intent, intent_publish_intent, and intent_withdraw_intent without opening any schema.
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 gives the trigger: 'Use this when the user asks what AutoIsto has found for an intent created with intent_publish_intent,' and adds the precondition that no matches exist before the user confirms the intent. It does not explicitly route the agent elsewhere (e.g. to intent_get_intent for intent metadata), so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intent_publish_intentWatch new car listings for the user (needs the user's confirmation)AInspect
Use this when the user asks AutoIsto to keep watching Czech car listings for them over time (e.g. "let me know until March about an estate car under 300 000 CZK, not diesel"). This does NOT start watching by itself and takes no e-mail address or other personal data: it returns a consentUrl on www.autoisto.cz that the user must open themselves, enter their own e-mail there and confirm by clicking the link AutoIsto e-mails them. Never ask the user for their e-mail in the conversation and never open the link for them. An unconfirmed draft is deleted after 24 hours. Matching cars are e-mailed to the user and can also be read with intent_list_matches using the returned intentCode — keep it in the conversation. hiddenLimitCzk is optional: the most the user would pay, stored encrypted and never shown to sellers or returned by any tool; pass it only if the user said it. AutoIsto is a market aggregator, so matches cover only cars listed on AutoIsto CZ (Czech Republic, CZK) and may be incomplete.
| Name | Required | Description | Default |
|---|---|---|---|
| buyBy | No | Date (YYYY-MM-DD) by which the user wants to buy; watching stops after it. | |
| statement | Yes | What the car MUST be, as one short Czech (or Slovak) phrase with prices in CZK, e.g. "kombi do 300000 Kč ne diesel". | |
| niceToHave | No | Wishes that are not required (never filters), e.g. "tažné, automat". | |
| hiddenLimitCzk | No | Optional private maximum price in CZK; encrypted on receipt and never returned by any tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
| buyBy | Yes | |
| status | Yes | awaiting_consent = the user has not confirmed on the AutoIsto page yet; awaiting_email_confirmation = the user filled in the page and must click the link in the e-mail; active = AutoIsto is watching; expired = the confirmation link, the buy-by date or the intent's validity ran out; withdrawn = cancelled. |
| statement | Yes | |
| consentUrl | Yes | Page on www.autoisto.cz where the USER confirms the intent with their own e-mail. Show it unchanged. |
| intentCode | Yes | Secret code of this intent; use it with intent_get_intent, intent_list_matches and intent_withdraw_intent. |
| niceToHave | Yes | |
| hasHiddenLimit | Yes | Whether a hidden limit was stored. Its value is never returned. |
| consentExpiresAt | Yes | ISO time after which the unconfirmed draft is deleted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readonly, non-idempotent, non-destructive, closed-world. The description adds substantial context beyond that: it does not start watching by itself, it returns a consentUrl requiring user-side e-mail confirmation, unconfirmed drafts expire in 24 hours, matching is limited to AutoIsto CZ listings and may be incomplete. Not a 5 only because retry/duplicate behavior for repeated calls is not addressed.
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?
Dense and front-loaded: purpose and trigger first, then the consent/security procedure, then parameter notes and coverage caveat. Every sentence carries a distinct rule, though the safety-instruction block is long enough that the parameter guidance arrives late.
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?
For a mutation-style tool with an output schema, this covers everything an agent needs: what is created, what is returned (consentUrl, intentCode), what the user must do next, expiry, privacy of hiddenLimitCzk, and the aggregator coverage limitation. Nothing essential is missing.
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 100%, so the baseline is 3, but the description adds real meaning: statement must be a short Czech/Slovak phrase with CZK prices, buyBy ends watching, hiddenLimitCzk is stored encrypted and never shown or returned and should only be passed if the user stated it. niceToHave is not explicitly distinguished from a filter in the description, though the schema covers it.
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+resource (start watching Czech car listings on behalf of the user) plus the trigger condition, and explicitly names the sibling intent_list_matches for reading results. An agent can distinguish this from intent_withdraw_intent / intent_get_intent without opening any schema.
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 an explicit when ('user asks AutoIsto to keep watching ... over time') with a concrete example, plus hard when-not rules: never ask for the e-mail, never open the link, don't pass hiddenLimitCzk unless the user said it. It also routes to the alternative reader tool with the returned intentCode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intent_withdraw_intentStop a car watchADestructiveIdempotentInspect
Use this when the user wants AutoIsto to stop watching for an intent created with intent_publish_intent. Takes effect immediately; nothing more is e-mailed for it. Requires the intentCode.
| Name | Required | Description | Default |
|---|---|---|---|
| intentCode | Yes | The intentCode returned by intent_publish_intent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the effect is immediate and no further e-mails are sent for the intent. It stops short of clarifying whether the intent record itself is deleted or only the watch is withdrawn — relevant given the destructiveHint.
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?
Three short sentences, front-loaded with the usage trigger and followed by effect and required input. Nothing is padded, though the trailing 'Requires the intentCode' sentence largely duplicates schema information.
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?
An output schema exists, so return values need not be described, and the single parameter is fully covered in the schema. The description supplies the trigger, the effect, and the required input, leaving only the delete-vs-unwatch distinction unspecified.
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 description coverage is 100%, so the intentCode parameter (pattern, origin) is fully documented in the schema. The description only restates 'Requires the intentCode' with no added format or sourcing detail beyond the sibling reference. Baseline 3 applies.
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 and resource ('stop watching for an intent') and ties it to the originating sibling intent_publish_intent. An agent can distinguish this reverse operation from intent_get_intent / intent_list_matches without opening any schema.
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?
'Use this when the user wants AutoIsto to stop watching for an intent created with intent_publish_intent' gives an explicit trigger condition and anchors it to the sibling that creates the watch. No when-not guidance is given, but the pairing with intent_publish_intent is unambiguous.
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.
4 tool updates
- First observed
intent_get_intent - First observed
intent_list_matches - First observed
intent_publish_intent - First observed
intent_withdraw_intent
Related MCP Connectors
Watches Slovak used-car ads for a buyer. Takes no contact; active only after e-mail opt-in.
41Watches Czech home listings for a buyer. Takes no contact; active only after e-mail opt-in.
41Watches Slovak home listings for a buyer. Takes no contact; active only after e-mail opt-in.
41Used cars for sale in Czechia: plain-language search, price verdicts and typical asking prices.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables agents to search and analyze used-vehicle listings across multiple Serbian marketplaces, including price statistics, history, and per-user saved-search watches.1-
- AlicenseAqualityDmaintenanceAggregates and searches used car listings from multiple sources (Cars.com, Autotrader, KBB) with price, mileage, dealer info, and optional CarFax-style filters (1-owner, no accidents, personal use).214MIT
- AlicenseBqualityCmaintenanceEnables Claude to monitor Facebook Marketplace car and motorcycle listings, score them against custom criteria, and analyze accumulated listing history to reveal time-on-market, price trends, and sale triggers.9MIT
- FlicenseAqualityCmaintenanceMCP server for Canadian used-car search, monitoring, and market analysis, providing tools to search listings, analyze deals, track price history, and more.23-
Glama MCP Gateway
Add one secure layer between your agents and this server.