Ask your AI which open-source robot to buy, with today's price
11 robots, 4 in stock right now. Your agent can search by budget and type, read the license and build difficulty, and get a seller link for each listing. Every fact comes with its source link and checked date.
Connect over MCP
One address, no sign-in. The server is read-only: it cannot buy anything or sign anyone up.
https://openrobotkits.com/mcpClaude Code
claude mcp add --transport http openrobotkits https://openrobotkits.com/mcpChatGPT or Claude chat
Add a custom connector, paste the address above, no sign-in needed. ChatGPT asks you to turn on Developer Mode first.
Cursor or any client with a JSON config
{
"mcpServers": {
"openrobotkits": {
"url": "https://openrobotkits.com/mcp"
}
}
}Check it by hand
curl -s https://openrobotkits.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://openrobotkits.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_robots","arguments":{"type":"arm","max_price":300}}}'Tools your agent gets
| Tool | Takes |
|---|---|
search_robots | query, max_price, type |
get_robot | slug |
where_to_buy | slug |
- search_robots: Up to 10 robots with the lowest in-stock USD price, stock state, license and page link
- get_robot: Everything on a robot page: what it is, license, difficulty, build time, cost lines, every offer, sourced facts with links
- where_to_buy: Every seller listing, in-stock whole kits first, with price, stock, checked date, buy link and seller page
Server card: /.well-known/mcp/server-card.json
Use the JSON API
Plain GET requests, no key, open CORS. Same data as the pages and the MCP tools.
curl -s https://openrobotkits.com/api/robots.jsoncurl -s https://openrobotkits.com/api/robots/so-101.jsoncurl -s https://openrobotkits.com/api/robots.json | jq '.robots | map(select(.lowest_in_stock_price)) | min_by(.lowest_in_stock_price) | {name, lowest_in_stock_price, currency, page_url}'OpenAPI file for tool builders: /openapi.json. Every robot in one text file: /llms-full.txt. Short index: /llms.txt.
Freshness and limits
- Updated daily. Prices and stock are read from each seller page once a day, around 9 AM Bangkok. Each offer carries its own checked date.
- List prices. Before shipping and tax, in the seller's currency.
lowest_in_stock_priceis USD only andnullwhen no whole-robot listing is in stock. - Cached for 5 minutes. Send
If-None-Matchwith the ETag to get a 304. - Be polite. About one request per second is plenty. Send a User-Agent that names your app.
- Read-only. To get an email when a robot is back in stock, a person sets an alert on its page.
What a good answer looks like
Ask
"Which open-source robot arm can I buy today under $300?"
Your agent calls
search_robots with type arm and max_price 300, then where_to_buy for the best match and links the seller with the checked date.