For agents
Anything a person can see here, an agent can read: no key, no login, no CAPTCHA, no rate wall for normal use. CORS is open.
Add the MCP server
# Claude Code claude mcp add maglev-parts --transport http https://parts.trymaglev.com/mcp # any MCP client (JSON config) { "mcpServers": { "maglev-parts": { "type": "http", "url": "https://parts.trymaglev.com/mcp" } } } # offline / local, from the repo { "mcpServers": { "maglev-parts": { "command": "node", "args": ["catalog/mcp/server.mjs"] } } }
Tools: search_parts, match_requirements, get_part, list_categories, compare_parts, landed_cost, find_equivalents, build_rfq.
Route a requirement to parts
match_requirements (or GET /api/route) takes a subcategory and the numbers a design needs, and returns every part ranked against them: which requirements each part meets, nearly meets (within 15%), misses or leaves unknown, plus which single requirement is blocking the most options and how far to relax it. It is the same engine as the find page.
curl "https://parts.trymaglev.com/api/route?sub=joint-actuators&peak_torque_nm=60-&mass_g=-1000&interface=CAN&price_usd=-300&w=mass_g"
Plain HTTP
| Request | Returns |
|---|---|
GET /api/index.json | Categories, subcategories, counts, every endpoint |
GET /api/parts.json | The whole catalog in one document |
GET /api/parts/{id}.json | One part: specs, prices with sources, origin, compliance, equivalents |
GET /api/categories/{category}.json | One category with its parts |
GET /api/search?q=&lens=&ndaa= | Ranked search, same as the search box. lens: any, cn, not-cn, us, usmca, allied |
GET /api/route?sub=&{key}={min}-{max} | Rank a subcategory against your numbers. Keys per subcategory: /api/find/index.json. POST the same as JSON. |
GET /api/landed?id=&qty=&origin=&freight= | Landed-cost estimate with the duty stack and sources |
GET /api/trade.json | HTS codes, duty programs by country, fees, compliance references |
GET /p/{id}/index.md | One part as Markdown |
GET /llms.txt, /llms-full.txt | Orientation, and the whole catalog as Markdown |
GET /openapi.json | OpenAPI 3.1 description of all of the above |
curl https://parts.trymaglev.com/api/parts/cm-jetson-orin-nano-4gb.json curl "https://parts.trymaglev.com/api/search?q=frameless+48V&lens=not-cn"
Asking for a quote
build_rfq returns a request document and a filled-in email to Maglev. Your agent should show it to its person before sending; nothing is ordered without a human saying yes.
Being a good citizen
Prefer /api/parts.json over crawling HTML. Prices carry a date and a source; quote them that way. Fields we could not confirm say unknown; do not fill them in.