MCP server and API changelog

Last updated: . Operated by The Maktecho Forge.

Changes to the Laptop Part Finder MCP server (https://laptoppartfinder.com/mcp) and JSON API. Setup is at Use with AI agents; the machine-readable version of this page's last-updated date is lastUpdated in the server card.

1.0.4 2026-11-13

  • New MCP tool submit_correction and matching POST /api/submissions: an agent can send a correction, a missing model or fit, or repair feedback. Nothing is published automatically. Each submission is stored as pending and unverified with no tier, a person reviews it, and it changes no page, fit or tool answer unless it is accepted. It may be declined, and there is no status lookup. It returns a submission_id. Limits: 5 per hour and 15 per day per source; text that looks like personal data, a key or a password is rejected. See Send a correction and the privacy policy.
  • submit_correction is the only tool with readOnlyHint: false (and destructiveHint: false). The 10 lookup tools are unchanged and stay read-only. The response outcome values submitted and already_submitted are new (see the Outcome schema in /openapi.json).
  • MCP serverInfo.version and the OpenAPI version are now 1.0.4.

1.0.3 2026-11-13

  • Catalog cleanup, part of the data: four placeholder part numbers (TBD-001, xxxxxx-001, xxxxxx-601, xxxxxx-xx1) were taken out of the catalog together with their buy links; 441 parts whose type disagreed with the OEM description were retyped to a type already in use (for example RTC and CMOS cells to RTC Battery, display transfer boards out of Screen, power cords out of Cable and Power Adapter, bezels and covers out of Screen). Catalog counts are now 20,056 parts and 39,613 fits (4,116 models, 418 with documented fits, 1,925 guides). OEM descriptions were not changed. Real HP suffix families such as N09058-xxx were left alone.
  • /api/resolve and MCP resolve_request now answer a question that names a known part number and a known model (“Will a 02DL008 fit my Dell Latitude 5420”) with the same pair check as check_part_fits (kind: part_fit_check) instead of not_found. A pair with no documented fit is reported as no_documented_fit, never as incompatible.
  • MCP lookups that find nothing (get_part, get_part_fits, check_part_fits, get_model_parts, get_repair_guide) now return the same structured miss as the JSON API: outcome: not_found, data_revision, an absence_note and the query, in structuredContent and in the text, with isError still true.
  • A search that only matches name-only models and parts with no documented fits (for example “Dell XPS 13 battery”) now asks which model you mean or reports no_documented_fit, instead of found with empty fit lists.
  • Every /api/* and /mcp response now carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and X-RateLimit-Policy, reporting the per-minute soft cap (keyless 300/min API, 120/min MCP; with a key 1500 and 600).
  • Documented: the default Python urllib User-Agent is refused by Cloudflare (HTTP 403, error code: 1010) before a request reaches LPF. This is a Cloudflare Pages platform check, so clients should send a descriptive User-Agent; see /developers/ and /llms.txt.
  • Fits now carry source_title where the fit's own source sentence names the document or page (HP Maintenance and Service Guide, HP PartSurfer, Lenovo Parts Lookup, Dell parts page and similar). It is left null where it does not.
  • Honest wording for models listed by name only: brand pages no longer promise part numbers for models with no fits, and an empty model page says no parts are documented yet instead of “undergoing review”. A plain “Zenbook 14” question no longer offers Zenbook Duo 14, and the double-brand Zenbook 14 OLED (UX3405) address redirects to the single-brand one.
  • Model pages list parts by type with regional power cords folded into one collapsed group, show size, resolution, touch, backlight and privacy-filter notes on screen and keyboard rows where the record has them, and part pages show battery voltage, Wh and cell count in the spec table where the OEM description gives them.
  • MCP serverInfo.version and the OpenAPI version are now 1.0.3.

1.0.2 2026-11-13

  • Compact views now carry source_line on every fit: the short source sentence for that fit, taken from the same text as source_detail on the full record. It holds no quote longer than 8 words, and the fit's source_url stays its own field. It appears in ?view=compact on /api/models/{slug}, in MCP get_model_parts with view: compact, and in resolve_request candidates.
  • Where the OEM lookup names machine types, fits now carry them as a list: machine_types (for example ["20N2", "20N3"] on the ThinkPad T490 battery) in compact views and in the full model and part fit rows. It is left out when the source does not state them. The superseded object on a retired part number now has the source_url of the current record.
  • A search or lookup that finds nothing now says what the answer rests on. The 404 bodies for /api/parts/{pn} and /api/models/{slug} carry data_revision, an absence_note and the query that was searched, and so does the HTML no-result page. No result still means “not in LPF’s OEM-document catalog”, never “does not exist” or “incompatible”.
  • A known model with an unrecognized trailing word (for example ThinkPad T490 unicornpart) is now reported as a known-model miss (unmatched_terms, no parts, outcome: no_documented_fit) instead of listing every part for that model.
  • The HTML search page no longer shows the “Showing N parts” line under a miss, answers misses with less server work, and shows a short “Catalog check failed, coverage undetermined” retry page (HTTP 503, not a no-match) if the lookup itself fails.
  • Repair guides for ThinkPad and Dell models now say “Not bench-tested”, as the part pages and HP guides already did. Removed a leftover click-tracking script from page templates (LPF has no affiliate click tracking).
  • On compact source_line for samsungparts and other third-party retailer listings, a listed title is labeled Part name: rather than OEM:, so it does not read like a Samsung document. The third-party retailer suffix is unchanged.
  • MCP serverInfo.version and the OpenAPI version are now 1.0.2. No catalog data changed.

1.0.1 2026-11-10

  • Optional free API key for the MCP server and the JSON API. It is off by default: with no key everything works exactly as before. A key is read-only, can be revoked, and gets its own higher rate limit. How to ask for one: /agents/#api-key.
  • The site now names its operator, The Maktecho Forge, on the About, Privacy and agent pages and in the footer.
  • This changelog, plus a last-updated date in the MCP server card (/.well-known/mcp.json).
  • MCP serverInfo.version and the OpenAPI version are now 1.0.1.
  • MCP Registry domain-verification key rotated (the file at /.well-known/mcp-registry-auth now carries the new public key).
  • Fixed ThinkPad model pages whose intro still said no battery service FRU was published while the battery part numbers were listed below it, and made the home-page count of fits from manufacturer documents come from the same coverage manifest as /api/coverage.

1.0.0 data refresh 2026-11-10

  • Coverage: 4,116 models (418 with documented part fits), 20,060 parts, 39,626 fits and 1,925 repair guides across 9 brands.
  • Fits are tiered green, yellow or red next to their typed confidence and source, and every tier is listed.
  • All 10 tools declare readOnlyHint: true and destructiveHint: false.
  • Part and guide pages link their category and model pages more clearly.

1.0.0 tool descriptions 2026-11-09

  • Rewrote the tool descriptions so each one says when to use a sibling tool instead (for example search_parts versus resolve_request, and check_part_fits versus get_part_fits).
  • Added a worked example to check_part_fits.

1.0.0 launch 2026-10-27

  • Listed in the MCP Registry as com.laptoppartfinder/laptop-part-finder. Streamable HTTP endpoint at /mcp, read-only, no key.