The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Canopy API listing page.
A type-safe MCP (Model Context Protocol) server that provides Amazon product data through the Canopy API. Built with xmcp and deployed on Cloudflare Workers.
/mcp (current MCP spec)src/tools/openapi-typescriptYou'll need a Canopy API key from canopyapi.co.
Use the MCP Inspector and connect to http://localhost:8787/mcp (or your deployed URL). Provide the API key as a request header:
Or with curl:
Every request must carry credentials. Two modes are supported:
1. OAuth 2.1 (recommended for MCP clients). OAuth-capable clients discover the flow automatically: an unauthenticated request returns 401 with WWW-Authenticate: Bearer resource_metadata="https://mcp.canopyapi.co/.well-known/oauth-protected-resource". Supabase is the authorization server (dynamic client registration supported); consent lives at canopyapi.co. The verified user's Canopy API key is resolved server-side.
2. API key headers. Any of these forms works (checked in this order):
CANOPY-API-KEY: your-api-keyAPI-KEY: your-api-keyX-API-KEY: your-api-keyAuthorization: Bearer your-api-keyA missing or invalid credential returns HTTP 401 with a JSON-RPC error before the request reaches the MCP transport (see src/middleware.ts).
All 17 tools are read-only (readOnlyHint: true) and annotated with a title.
get_amazon_product — product details by ASIN, URL, or GTINget_amazon_product_variants — product variantsget_amazon_product_offers — seller offers and Buy Box infoget_amazon_product_stock — stock level estimatesget_amazon_product_sales — sales estimates (weekly, monthly, annual)get_amazon_product_top_reviews — top customer reviews (title, body, rating, helpful votes, images/videos)search_amazon_products — search with filters and sortingget_amazon_autocomplete — search term suggestionsget_amazon_deals — current dealsget_amazon_bestsellers — best-selling products for a categoryget_amazon_bestseller_categories — best seller category listget_amazon_categories — root category taxonomyget_amazon_category — category details with products and subcategoriesget_amazon_seller — seller information and product listingsget_amazon_author — author information and book listingsget_amazon_asin_from_gtin — ASIN lookup by ISBN/UPC/EANget_amazon_gtin_from_asin — GTIN lookup by ASINsrc/types/api.d.ts is generated from the Canopy OpenAPI spec. Regenerate when the API changes:
npm run dev — xmcp watcher + wrangler dev (local Workers runtime)npm run build — xmcp build --cf (emits worker.js for Cloudflare)npm run deploy — build + wrangler deploy --env productionnpm run delete — remove the deployed Workernpm run generate — regenerate API types from the OpenAPI specv2.0 replaces ModelFetch with xmcp. The MCP endpoint moved from /sse/mcp (deprecated SSE transport mount) to /mcp (current Streamable HTTP convention). Update any clients accordingly.