MCP integration
mixlink speaks MCP over SSE. Point Claude Desktop, Cursor, or any MCP client at a shop or at the whole marketplace.
Per-store (buy from one handle)
Replace your_handle with the public nick (mxr).
| URL | |
|---|---|
| SSE | http://localhost:8080/api/mcp/your_handle/sse |
| Messages | http://localhost:8080/api/mcp/your_handle/message |
Tools (buyer-safe, no floor price):
| Tool | What it does |
|---|---|
list_products | Catalog for this store |
negotiate_price | Bargain vs MSRP / floor |
create_order_intent | Lock an accepted price; returns complete_api for machine checkout |
read_resource | mixlink://products/{mxr}/list, mixlink://storefront/{mxr}/conditions |
Public MCP never exposes floor/cost to the model.
Marketplace (search across shops)
| URL | |
|---|---|
| SSE | http://localhost:8080/api/mcp/marketplace/sse |
| REST | GET /api/discovery?q= and GET /api/marketplace/products |
Tools: search_products, list_products. Each hit includes agentic_actions (negotiate_api, mcp_sse_endpoint, storefront_url) so the agent can hop into that shopβs negotiator.
Claude Desktop
claude_desktop_config.json (remote SSE). Paths: macOS ~/Library/Application Support/Claude/, Windows %APPDATA%\Claude\.
{
"mcpServers": {
"mixlink": {
"url": "http://localhost:8080/api/mcp/your_handle/sse"
}
}
}
If your client only speaks stdio, bridge it:
{
"mcpServers": {
"mixlink": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8080/api/mcp/your_handle/sse"]
}
}
}
Every public storefront also publishes /{handle}/llms.txt and storefront JSON at /api/mixlink/storefront/{handle}.
Owner cabinet (manage your store)
Token is issued in the web cabinet: GET /api/mixlink/owner/mcp (session auth). Rotate with POST /api/mixlink/owner/mcp/rotate.
Preferred (Bearer):
| URL | |
|---|---|
| SSE | http://localhost:8080/api/mcp/owner/sse |
| Messages | http://localhost:8080/api/mcp/owner/message |
Send Authorization: Bearer <token> on every request (or ?token= on the query string).
Deprecated: embedding the token in the path (/api/mcp/owner/{token}/sse) still works for mcp-remote compatibility, but it can leak via server logs, browser history, and referrers. Use Bearer on /api/mcp/owner/sse instead.
{
"mcpServers": {
"mixlink_owner": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8080/api/mcp/owner/sse"],
"headers": {
"Authorization": "Bearer YOUR_OWNER_TOKEN"
}
}
}
}
Owner tools: generate_store, create_product, create_text_widget, list_products, list_orders, get_order, list_customers, get_customer. Requires OPENAI_API_KEY (or OPENAI_KEY) for AI seed.