CartAgent exposes a public Model Context Protocol (MCP) server. Any agent that speaks MCP can search, browse, cart, and checkout against a live WooCommerce store. No SDK, no API key, no setup beyond a single config block.
MCP is an open protocol from Anthropic for connecting AI assistants to external tools and data. It's supported natively by Claude Code, the Anthropic Agent SDK, OpenClaw, Claude Desktop, and a growing set of third-party clients including Cursor and Continue. CartAgent runs an MCP server at https://api.cartagent.store/mcp.
Add to ~/.config/claude-code/config.json:
{
"mcpServers": {
"cartagent-demo": {
"url": "https://api.cartagent.store/mcp"
}
}
}
Restart Claude Code, then prompt: "Use the cartagent-demo MCP to find me a network router and tell me the price."
Add to your openclaw.json:
{
"plugins": {
"entries": {
"cartagent-demo": {
"type": "mcp",
"transport": { "type": "http", "url": "https://api.cartagent.store/mcp" }
}
}
}
}
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
mcp_servers=[{"url": "https://api.cartagent.store/mcp", "name": "cartagent-demo"}],
messages=[{"role": "user", "content": "Find me a WiFi 7 router in the cartagent-demo store"}]
)
curl -X POST https://api.cartagent.store/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_products",
"arguments": {"query": "wifi router", "limit": 5}
}
}'
| Tool | Inputs | Returns |
|---|---|---|
search_products | query, limit?, category?, min_price?, max_price?, in_stock? | Up to 20 matching products with name, price, image, stock, URL |
get_product | product_id | Full details: variants, attributes, images, description, stock |
add_to_cart | product_id, quantity, cart_token?, idempotency_key | Updated cart_token + cart contents + totals |
get_cart | cart_token | Cart state — items, quantities, subtotal, tax, total |
checkout | cart_token, customer details, payment_method (stripe / x402) | Stripe checkout URL or USDC payment params |
get_order_status | order_id | Status, payment, shipping, tracking |
Once connected, try these natural-language queries with your agent:
| Prompt | What the agent does |
|---|---|
| "Find me a tri-band WiFi 7 router under $1500" | Calls search_products({query: "tri-band WiFi 7", max_price: 1500}), summarises results |
| "Add the GL.iNet router to a cart and show me the total" | Calls add_to_cart then get_cart |
| "What's in my cart right now? Tell me if any items are out of stock." | Calls get_cart, cross-references stock via get_product |
| "Compare the GL.iNet router and the Roccat mouse on price and ratings" | Two get_product calls, agent does the comparison itself |
| "Place an order for one of each Roccat mouse and Bluetooth speaker, payment via Stripe test mode" | Full cart-build + checkout flow, returns Stripe URL |
Public demo MCP is rate-limited per client IP. Limits are generous for normal agent use (~60 tool calls per minute). For higher limits or production access, register a store at cartagent.store/pricing and receive a token-gated MCP endpoint with your own quota + audit log.
The demo MCP is a sandboxed copy of the same code that powers production CartAgent stores. When you register your own WooCommerce store via the WordPress plugin, you get: