MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

iParts Estonia Parts Catalogue

Read-only iParts Estonia auto parts catalogue: numbers, vehicles, categories, fitment, offers, oils.

Checks passed
13 / 22

1 failed · 8 not measured

Median response
141 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
7

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 141 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name iparts-ee-mcp.

  • Pass
    Lists tools

    tools/list returned 7 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 141 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 141 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    41 of 41 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-09-28T14:06:58.480532Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using iParts Estonia Parts Catalogue

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http iparts-estonia-parts-catalogue https://iparts.ee/mcp

Capabilities

Tools 7

check_fitment

Check whether a specific part (brand + article number) fits a selected vehicle (vehicle_ref from find_vehicle) and return fitment restrictions or variant ambiguity when the user must choose. status: applicable (the catalogue links the part to this vehicle), universal (part linked only to "UNIVERSAL"), not_applicable, unknown (no catalogue data). IMPORTANT: "applicable" = the catalogue links the part to the selected vehicle variant; it is NOT a guarantee that every restriction of the user's actual car is met. Always check vehicle_specific_criteria (PR codes, engine numbers, production dates, equipment) and the variant criteria: several diameters/sizes/systems can exist for one vehicle. variant_selection_required=false only means the storefront check found no conflicting variants — it does not certify the part. When variant_selection_required is true, or variant_check is not_available and criteria_variation is not empty, ask the user to confirm the variant instead of choosing silently. Never recommend a not_applicable part as fitting; treat universal as "no vehicle link", not as "fits every car"; on unknown say that compatibility cannot be confirmed. Call this tool (or get_part with vehicle_ref) before any final recommendation of a specific part for a vehicle. Optional language (et/ru/en) for criterion names and labels.

Discovered
find_car_products

The storefront's car-products catalogue (engine / gearbox / power-steering / transmission / hydraulic oil, brake fluid, batteries …) — separate from the parts catalogue of find_parts_for_vehicle; use it for oils and fluids. Without category_ref: the categories (with the vehicle's requirements when vehicle_ref is given; vehicle_specific=false marks generic lists — tyres, motorcycle/boat/agricultural oils, moto/truck batteries — that are not selected by vehicle). With category_ref: the products — selected by the vehicle's requirements (e.g. oil specification "BMW LL-04") only when match_mode = spec_matched; for no_spec_data / spec_no_match the list is the WHOLE category and NOT a selection for the vehicle: say so, and point to manual_request (a form on the storefront page; the user submits it there). Prices include VAT (EUR). Optional language (et/ru/en).

Discovered
find_part_categories

Resolve a natural-language automotive part request (et/ru/en) into one or more real public iParts catalogue categories using the store's existing multilingual synonym database and Meilisearch. The tool intentionally returns multiple plausible categories (e.g. standard / economy / high-performance brake discs, or brake disc / clutch disc for "disc") instead of silently selecting the first search result. Select one or more categories only when the user's intent makes the choice clear, otherwise ask the user. Words like front/rear/left/right are not category criteria here — keep them for the refinements of find_parts_for_vehicle. Vehicle-independent unless vehicle_ref is given. Use the returned opaque category_ref with find_parts_for_vehicle (car_products entries: find_car_products). Not for part numbers (use search_parts). With vehicle_ref and no scope two channels come back — the vehicle's categories (universal=false) and universal ones (universal=true): one kind can appear in both under the same name (the car's selection and the general list); use scope="vehicle" for the car only. Paging: has_more/next_cursor continue the SAME candidate list (pass cursor with the same query and language); search_limited=true means the store's search window was full and paging cannot reveal more — ask for a more specific part name. status is decided on the complete candidate list, not on the page.

Discovered
find_parts_for_vehicle

List purchasable parts for a previously selected vehicle (vehicle_ref from find_vehicle) and one or more resolved iParts catalogue categories (category_ref from find_part_categories; up to 5 per call, products grouped per category). Returns public product data with current retail offers (EUR, VAT included), availability and delivery, ordered like the storefront, plus public refinements such as fitting position (axle/side), dimensions, brake system or brand when several fitment variants exist. Apply returned filter references in a subsequent call (selections[].filter_refs) when the user's intent identifies a specific variant (e.g. the user said "front" and a "Front Axle" option is offered); when variant_selection_required is true and the user gave no such information, ask the user instead of choosing. Universal categories (category.universal = true: tools, workshop equipment, chemicals …) have no vehicle links: they are listed like the storefront's universal pages, with or without vehicle_ref, and their products are not vehicle-checked. Filter references are bound to the vehicle and category they were returned for. Optional language (et/ru/en).

Discovered
find_vehicle

Resolve the user's vehicle to an exact catalogue vehicle variant of iParts EE using make, model, year and engine details, step by step: make → models → variants. A EE licence plate ("plate") is resolved through the storefront's own plate lookup (cache first, then external registries; the first lookup of a plate may take up to a minute). A vehicle the user already chose on the storefront (garage / active car) is resolved exactly by its public vehicle page URL ("vehicle_url"). Returns an opaque vehicle_ref for each matching variant — pass it to find_parts_for_vehicle, check_fitment or get_part. Returns several candidates with needs_selection=true when the vehicle cannot be resolved safely — never picks one automatically; narrow with year, engine code, kW or fuel, or ask the user. Each match includes model, variant name, production years, engine codes, fuel, kW/hp, displacement and the vehicle page URL. Optional language (et/ru/en). VIN lookup is not available.

Discovered
get_part

Get the public product card of one part identified by brand and article number from iParts EE (iparts.ee): name, category, EAN codes, OEM numbers (max 20), trade numbers, technical specifications (name/value/unit), images, product page URL, current retail offers (price in EUR incl. VAT, quantity, ship date, estimated delivery, order-before cut-off), availability and deposit. Pass vehicle_ref (from find_vehicle) to include a fitment check with variant-ambiguity detection and vehicle-specific criteria (required before recommending this part for that vehicle; "applicable" is a catalogue link, not a guarantee that all restrictions of the user's car are met). Optional language (et/ru/en). Availability is based on the latest supplier inventory snapshot and may change before checkout. No supplier identities or purchase prices are exposed.

Discovered
search_parts

Search the public iParts EE (iparts.ee) automotive parts catalogue by a NUMBER: manufacturer part number, OEM number, trade number, or brand + article number. The optional brand is the brand of the searched number (as on the storefront page /search/NUMBER/BRAND), not a filter for analogue brands. Use it when the user already has a number. For a part described in words use find_part_categories (and then find_vehicle → find_parts_for_vehicle) instead. Returns matching articles with match_type (direct, trade_number, oem, cross_reference), the public product URL, whether an offer exists and the lowest current retail price in EUR (VAT included), in storefront order. Only articles with a current offer are listed, exactly as on the storefront. Paging: up to 20 per page; total_found counts every page. If has_more is true, call search_parts again with cursor = next_cursor and the same query, brand, language and limit to get the next page. Optional language (et/ru/en) selects the language of names and URLs. VIN and EAN search are not supported. Availability is based on the latest supplier inventory snapshot and may change before checkout.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected141 ms7