Setup and tools
PartsPlan MCP is a Streamable HTTP (stateless JSON mode) MCP server. Connect with an API key in a header.
Guide for AI agents (skill.md)Server URL
https://worker.partsplanai.com/mcpPOST only (no GET streaming, no sessions). Batched JSON-RPC (arrays) is not accepted.
API key
Sign in and create one under 'My MCP keys'. A key is shown only once and starts with pk_live_. Send it as Authorization: Bearer <key> or x-api-key: <key>.
My MCP keys →Connect from AI chat apps (web and mobile) — sign in, no key
In these apps, entering the server URL https://worker.partsplanai.com/mcp opens the PartsPlan sign-in and consent screen (no API key needed). PartsPlan tools are read tools; only the problem-report and collection-request tools record anything. Menu names can differ slightly as the apps update.
Claude.ai (web, desktop, mobile)
Connectors page (claude.ai/customize/connectors) → Add custom connector → enter the URL → Connect → sign in and allow PartsPlan.
If "Connection problem — Reconnect" appears right after adding, you are not signed in yet; choose Reconnect. Choosing "Always allow" in the first permission prompt for each tool stops the repeated prompts.
Connect to Claude in one click — opens Claude's add-connector window with PartsPlan's name and URL filled in ↗ChatGPT
chatgpt.com/plugins → + → Add custom MCP server → enter the URL, authentication OAuth → confirm the notice (I understand and want to continue) → Create as a plugin → install → sign in and allow PartsPlan.
Per OpenAI's current guide, custom MCP servers are added from the Plugins page. A work or school workspace may have this turned off by its admin.
Open ChatGPT Plugins — paste the server URL there ↗Gemini
gemini.google.com → Settings → Connected Apps → Add a custom app → enter the URL → sign in and allow PartsPlan.
Under Google's current policy this works for personal Google accounts of people 18 or over in the US, with Keep Activity on. For Gemini Enterprise, an admin adds it as a custom MCP server.
Grok
grok.com/connectors → New Connector → Custom → enter the URL → sign in and allow PartsPlan.
Open Grok connectors — paste the server URL there ↗Perplexity
Settings → Connectors → Add custom connector → enter the URL → sign in to PartsPlan → turn the PartsPlan connector on in a thread.
Available on Pro and higher plans.
Mistral Le Chat
Connectors → Add custom MCP connector → enter the URL → authentication HTTP Bearer with your API key (pk_live_…).
Le Chat connects with a key instead of sign-in — create one on the My MCP keys page.
Microsoft 365 Copilot (organizations)
Your Microsoft 365 admin adds it as an MCP connector in the Microsoft 365 admin center or Copilot Studio.
Connect from developer tools and terminals — with an API key
claude mcp add --transport http --scope user partsplan https://worker.partsplanai.com/mcp --header "Authorization: Bearer pk_live_..."{
"mcpServers": {
"partsplan": {
"url": "https://worker.partsplanai.com/mcp",
"headers": {
"Authorization": "Bearer pk_live_..."
}
}
}
}Clients without header support can connect through mcp-remote (requires Node.js).
{
"mcpServers": {
"partsplan": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://worker.partsplanai.com/mcp",
"--header",
"Authorization:${PARTSPLAN_AUTH}"
],
"env": {
"PARTSPLAN_AUTH": "Bearer pk_live_..."
}
}
}
}{
"mcpServers": {
"partsplan": {
"serverUrl": "https://worker.partsplanai.com/mcp",
"headers": {
"Authorization": "Bearer pk_live_..."
}
}
}
}{
"inputs": [
{
"type": "promptString",
"id": "partsplan-key",
"description": "PartsPlan API key",
"password": true
}
],
"servers": {
"partsplan": {
"type": "http",
"url": "https://worker.partsplanai.com/mcp",
"headers": {
"Authorization": "Bearer ${input:partsplan-key}"
}
}
}
}# PARTSPLAN_API_KEY=pk_live_... (environment variable)
[mcp_servers.partsplan]
url = "https://worker.partsplanai.com/mcp"
bearer_token_env_var = "PARTSPLAN_API_KEY"{
"type": "mcp",
"server_label": "partsplan",
"server_url": "https://worker.partsplanai.com/mcp",
"authorization": "pk_live_...",
"require_approval": "never"
}{
"mcpServers": {
"partsplan": {
"httpUrl": "https://worker.partsplanai.com/mcp",
"headers": {
"Authorization": "Bearer pk_live_..."
}
}
}
}curl -s https://worker.partsplanai.com/mcp \
-H "Authorization: Bearer pk_live_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'12 tools
Ask about parts the way you normally would — your AI picks the right tool. Each tool lists questions we have actually asked.
- find_datasheet
Find datasheets we hold by part number, separating the requested manufacturer's documents from other manufacturers'.
Ask it like this- “Find the TPS563200 datasheet.”
- “Which company published the MIC5216-3.0BM5TR document?”
- get_datasheet_map
Which page holds which section, table, or figure, with evidence.
Ask it like this- “Where is the SOA graph in the CSD18540Q5B datasheet?”
- “On which page does the INA219 register map start?”
- search_datasheet
Search within one document by words or conditions; returns page and block locations.
Ask it like this- “Find the temperature drift and long-term stability values in REF5025.”
- “Find the derating diagram in the PT 1,5 terminal block document.”
- “Find the pin descriptions (引脚) in the Chinese TP4056 datasheet.”
- get_page_blocks
Source blocks (text, tables) of one page, in order.
Ask it like this- “Read the example table on page 26 of INA219.”
- “Show the source of the PCA9685 addressing section (page 8).”
- get_page_image
Image of one page. Your AI views graphs, drawings, and pin diagrams directly.
Ask it like this- “Read the temperature rise at 7 W from the graph on page 1 of the Ohmite FA-T220 sheet.”
- “Check the DRV8833 electrical characteristics table on the page image.”
- get_figure_data
Graph values (only when certain) and the text inside drawings.
Ask it like this- “What does the TPS563200 current-vs-ambient curve give at 85 °C?”
- “What current does the CSD18540Q5B SOA allow at 12 V for 10 ms?”
- “What is BSS138's RDS(on) at VGS 3.3 V, 125 °C on its curve?”
- search_parts
Find candidate parts by part number or text. Given values like '100V 10A mosfet', it narrows candidates by those values (unconfirmed), but it does not judge suitability. You can also browse by device type (MOSFET, Hall sensor, temperature sensor) and manufacturer — only parts whose manufacturer's datasheet prints that device type, with the printed page as evidence (device type only; no ratings or suitability judged).
Ask it like this- “Find 3.3 V LDO candidates in SOT-23-5 for 600 mA or more.”
- “Which manufacturers in the archive make Hall-effect sensors?”
- “Show me all Slkor MOSFETs.”
- compare_points
Points out what to compare between a source part and up to three candidates you picked — the items that must match, adjustable weights, items to read, and the page in each datasheet where each item is printed. It does not find candidates or give scores, rankings or compatibility verdicts.
Ask it like this- “I picked RT9080-33GJ5 and XC6220B331MR-G as candidates for AP2112K-3.3TRG1 — show the rubric for a 3.3 V battery circuit and the pages to read.”
- “Switch to a redesign and drop the package group — make dropout a weighted item.”
- reference_circuits
Where the datasheet prints application circuits (page, caption, region). The AI opens the figure and reads the circuit itself.
Ask it like this- “Show the TPS563200 application circuit.”
- check_bom
Check document availability and identity for each BOM line (read-only).
Ask it like this- “Do you have datasheets for all 30 lines of this BOM?”
- request_datasheet_collection
Ask us to collect datasheets for BOM lines we do not hold.
Ask it like this- “Request collection for the lines you don't have.”
- report_problem
Tell us, with document, page and block, when an answer did not match the source or blocked your task.
Ask it like this- “This document is not that part's datasheet — report it to PartsPlan.”
Recommended flow
- Pick the document with find_datasheet
- Find the right section's pages with get_datasheet_map
- Narrow down conditions or words with search_datasheet
- Read the source with get_page_blocks; view graphs and drawings with get_page_image · get_figure_data
Reading responses
- Treat every value as an unconfirmed candidate: before using it, confirm it on the document and page we point to. Candidates and estimates are labeled separately — don't merge them.
- no_document · no_candidates mean 'not in our data', not discontinued or unavailable.
- When a graph value is ambiguous the server withholds it. View it with get_page_image instead.
Limits
- Free: 300 calls/month (up to 100/day, resets on the 1st at 00:00 KST), 100/hour, 60/minute
- Personal: 1,000 calls/day, 1,000/hour, 60/minute
- All plans: 4 concurrent per account, 3 active keys (per-minute and concurrency limits count all of an account's keys together)
- BOM checks (check_bom): 200 lines/day free · 1,000 personal · by agreement for organizations
- Requests rejected because the server is busy (too_many_concurrent_requests) do not count against your limits.
- The daily limit counts all of a user's keys together (creating new keys doesn't raise it).
- Only tools/call is counted. initialize and tools/list are not.
Errors
| 401 api_key_required · invalid_api_key | Key missing, revoked, or wrong. |
| 403 email_verification_required | Free keys work after the account email is verified. Verify it on partsplanai.com, then retry. |
| 429 rate_limited | Per-minute limit. Wait Retry-After seconds. |
| 429 api_quota_exceeded | Hourly or daily limit. Upgrade or try again tomorrow. |
| 429 too_many_concurrent_requests | Too many concurrent requests. Retry shortly. |
| 400 batch_not_supported | JSON-RPC arrays (batches) are not accepted. |
| 503 auth_unavailable · quota_unavailable | Temporary failure. Retry shortly. |
| 503 free_capacity_reached | The free service has reached its total capacity for now. Try again later. |
Rights holders (manufacturers): to have a document removed or corrected, email hello@partsplanai.com with the part number or document link. We act on requests promptly.
Security reports: hello@partsplanai.com (security.txt)