What you can do with it
- Search and recommend CrowCrowCrow products inside a chat assistant.
- Compare two products and surface ratings, prices, and key features.
- Read blog posts and CMS pages (about, shipping, returns…) without scraping.
- Build a shopping agent that links the user back to the PDP for checkout.
Tools
products.searchproductsKeyword search; returns compact summaries (use products.get for full detail).
products.listproductsBrowse the catalogue with category, brand, price, and country filters.
products.getproductsFull product detail by slug or sku — description, images, FAQs, related.
products.relatedproductsRelated published products for a given slug (curated + category fallback).
categories.listcategoriesSix top-level categories with live product counts and PLP URLs.
categories.treecategoriesBrowse-path tree (1–4 levels deep) with counts.
categories.brandscategoriesTop brands overall or scoped to a category.
blog.listblogPublished blog posts (newest first), paginated.
blog.getblogSingle published post by slug — sanitized HTML body.
pages.listpagesAll published static CMS pages (about, shipping, returns, etc.).
pages.getpagesSingle CMS page by slug — sanitized HTML body.
Machine-readable descriptors (for developers — not browsable pages): /.well-known/webmcp.json, /openapi.json. Capable MCP clients also auto-load three resource documents (ccc://guide/readme, ccc://schema/product, ccc://guide/categories) so the agent has the schema before it calls a tool.
Limits (anti-scraping)
The MCP exists to make our catalogue discoverable, not harvestable. Every anonymous request is bounded:
| Limit | Value |
|---|---|
Items returned per call (limit) | ≤ 20 (default 10) |
Reachable pagination (offset) | ≤ 200 |
| Anonymous requests per minute / IP | 60 |
| Long text fields | Truncated to 4 000 characters |
| Long arrays (highlights, FAQs…) | Capped at 12 items |
When a rate limit is hit you get an HTTP 429 with a Retry-After header and a JSON-RPC error message. Need higher caps for a partner integration? Email connect@crowcrowcrow.com for a Bearer token.
Connect from Claude Desktop / Cursor
Add the snippet below to your claude_desktop_config.json (Claude Desktop) or your Cursor MCP settings. It uses the official mcp-remote bridge so HTTP MCP servers appear as if they were local.
{
"mcpServers": {
"crowcrowcrow": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://crowcrowcrow.com/api/mcp/mcp"]
}
}
}Connect from Claude.ai (web) / ChatGPT custom connectors
Both clients accept a remote MCP URL directly. Paste https://crowcrowcrow.com/api/mcp/mcp into their Add Connector / Add MCP server dialog. Auth: None.
Try it from curl
1. Initialize the session
curl -s -X POST https://crowcrowcrow.com/api/mcp/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2024-11-05","capabilities":{},
"clientInfo":{"name":"my-app","version":"1.0"}}}'2. Search products
curl -s -X POST https://crowcrowcrow.com/api/mcp/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"products.search",
"arguments":{"query":"protein bar","limit":5}}}'3. Fetch full product detail
curl -s -X POST https://crowcrowcrow.com/api/mcp/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"products.get",
"arguments":{"slug":"earth-mama-vegan-nipple-butter-2-pack"}}}'Response shape (summary)
products.search and products.list return compact summaries:
{
"slug": "earth-mama-vegan-nipple-butter-2-pack",
"sku": "AMZ-...",
"asin": "B0...",
"url": "https://crowcrowcrow.com/p/<slug>/<sku>",
"title": "Earth Mama Vegan Nipple Butter (2-Pack)",
"brand": "Earth Mama",
"shortDescription": "...",
"category": "Health & Supplement",
"categoryPath": "Baby Products › Feeding › Nursing & Feeding",
"price": { "currency": "INR", "price": 3587, "listPrice": 4601, "discountPercent": 22 },
"rating": 4.8,
"reviewCount": 529,
"inStock": true,
"primaryImage": "https://...",
"countryStore": "USA"
}products.get adds description, images[], highlights[], keyFeatures[], whyChoose[], howToUse[], productDetails[], faqs[], dimensions, country of origin, comparisonTable[], relatedSlugs[], comparableSlugs[]. All prices are in INR and already include applicable Indian import duties.
FAQ
Do I need an API key?›
Can I use this to scrape your full catalogue?›
Are the prices accurate?›
currency_rates), so values match what a human visitor sees on the PDP.Are there write operations?›
How do I report a bug or request a tool?›
More agent resources
- OpenAPI 3.1 spec
- llms.txt (LLM index)
- llms-full.txt (long-form context)
- A2A agent card
- /ask (NLWeb-style entry)