Use Laptop Part Finder with AI agents

MCP setup for Claude, Cursor, VS Code and any Streamable HTTP client, plus a REST fallback.

Laptop Part Finder has a free, read-only MCP server and JSON API: no key, no account. Use them to answer "what battery, screen or keyboard fits my laptop?" and "what does part number X fit?" with a source for every answer. Endpoint: https://laptoppartfinder.com/mcp (Streamable HTTP, JSON responses, no auth).

Tested: Transport tested on 2026-10-31 against the live endpoint with the official MCP TypeScript SDK 1.32.2 (Streamable HTTP client) and mcp-remote 0.15.2: initialize, tools/list and tools/call all succeeded. The client-app steps follow each app's own documentation; we have not run every app end to end, so tell us if a step has changed.

Claude Desktop

Option A (custom connector): Settings → Connectors → Add custom connector, name it Laptop Part Finder and paste the URL https://laptoppartfinder.com/mcp. Custom connectors depend on your Claude plan.

Option B (config file, any plan): Settings → Developer → Edit Config opens claude_desktop_config.json. Add this, save, and restart Claude Desktop. It needs Node.js, because mcp-remote bridges the local stdio connection to our HTTP endpoint.

{
  "mcpServers": {
    "laptop-part-finder": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://laptoppartfinder.com/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http laptop-part-finder https://laptoppartfinder.com/mcp

Or in a project .mcp.json:

{
  "mcpServers": {
    "laptop-part-finder": { "type": "http", "url": "https://laptoppartfinder.com/mcp" }
  }
}

Cursor

Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), then turn the server on under Settings → MCP:

{
  "mcpServers": {
    "laptop-part-finder": { "url": "https://laptoppartfinder.com/mcp" }
  }
}

VS Code (GitHub Copilot agent mode)

Create .vscode/mcp.json in your workspace (or run MCP: Add Server → HTTP). Note that VS Code uses servers, not mcpServers. Then pick the tools in Copilot Chat agent mode.

{
  "servers": {
    "laptop-part-finder": { "type": "http", "url": "https://laptoppartfinder.com/mcp" }
  }
}

Any Streamable HTTP client

POST JSON-RPC 2.0 to https://laptoppartfinder.com/mcp with Content-Type: application/json and Accept: application/json, text/event-stream. Supported protocol versions: 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05. The server is stateless: there is no session ID and no GET SSE stream (GET returns 405).

curl -s https://laptoppartfinder.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}'

curl -s https://laptoppartfinder.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"resolve_request","arguments":{"query":"T490 battery"}}}'

Tools: resolve_request (start here for vague requests), search_parts, list_models (paged), get_model_parts, get_part_fits, find_repair_guides, get_repair_guide.

REST fallback (no MCP needed)

# Vague request -> model, part type, candidates (or one clarifying question)
curl -s 'https://laptoppartfinder.com/api/resolve?q=t490%20battery'
curl -s 'https://laptoppartfinder.com/api/resolve?q=surface%20pro%2011%20screen'   # asks: 5G or Wi-Fi-only?

# Paged model list: 20 per page, follow next_cursor
curl -s 'https://laptoppartfinder.com/api/models?limit=20'
curl -s 'https://laptoppartfinder.com/api/models?limit=20&cursor=20'

# Part number with or without dashes; retired numbers point to the current record
curl -s 'https://laptoppartfinder.com/api/parts/L40094001'

# One model, compact, one part type
curl -s 'https://laptoppartfinder.com/api/models/lenovo-thinkpad-t490?type=Battery&view=compact'

/api/models without limit or cursor still returns the full list, for older clients. Please stay under about 1 request per second; we answer 429 with Retry-After when a client goes too fast. For bulk use, download /api/v1/data.json once.

Confidence types

confidenceMeaningWhat to tell the user
oem_manualListed in the manufacturer's own documentation (parts lookup, service manual or official parts page).The manufacturer documents this fit. It is not bench-tested; check the constraints.
retailerListed by a third-party retailer (for example samsungparts.com), not manufacturer documentation. Shown as "Retailer-listed Replacement".A retailer lists this fit. Confirm the part number on the old part before ordering.
unverifiedNo documented source type.Treat it as unverified.

Every fit also has source_url, source_detail, constraints and verified_date (the date LPF last reviewed or imported the record, not the source's publication date). Some models carry a data_caution; show it to the user.

Clarifying questions

When a name is not specific enough (Surface Pro 9 vs Surface Pro 9 5G, ThinkPad E14 vs E14 Gen 2–6, Intel vs AMD), tools return status: "ambiguous" or "needs_clarification" with a single clarifying_question and the candidate models. They return no parts until the model is clear. Ask the user that one question, then call again with the exact slug.

API and MCP responses contain no affiliate-tagged links: send users to lpf_url (the part's page). Data license: Free to use with attribution: credit "Laptop Part Finder" and link to https://laptoppartfinder.com (or the page you used). Please do not republish or mirror the dataset in bulk without permission. See terms, developers, API reference, OpenAPI and llms.txt.