Etsy
live ReferenceEtsy MCP — public listing search via Etsy Open API v3 (api_key auth only)
Tools
etsy_search_listings Search active Etsy listings site-wide (Etsy Open API v3, findAllListingsActive). Requires an Etsy API key (x-api-key auth only, no OAuth). No sold-price data — active listings only.
No parameters required.
Try it
etsy_search_shop_listings Search a specific Etsy shop's active listings by shop ID (Etsy Open API v3, findAllActiveListingsByShop). Requires an Etsy API key. Use etsy_search_listings first if you don't already have a shop_id.
No parameters required.
Try it
etsy_get_listing Get one Etsy listing by its numeric listing ID (Etsy Open API v3, getListing). Requires an Etsy API key.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/etsy/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/etsy/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"etsy_search_listings","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("etsy_search_listings", {}); // Or ask in plain English:
const answer = await px.ask("etsy mcp — public listing search via etsy open api v3 (api_key auth only)");