SANIKB agent developer guide
Use this service to discover SANIKB products and agent guidance without credentials or browser JavaScript. It never places orders, handles customer data, or proxies caller-supplied URLs.
Machine-readable entry points
| URL | Purpose |
|---|---|
/openapi.json | OpenAPI 3.1 contract. |
/.well-known/mcp/server-card.json | Experimental well-known discovery card using MCP Registry server.json fields. |
POST /mcp | Stateless Streamable HTTP MCP. Resources only; no tools or prompts are advertised. |
/api/catalog/products | Public catalog listing. Parameters: limit 1–50 and page 1–1000. |
Catalog errors
Every catalog error is JSON with a stable code, readable message, and actionable resolution. A missing product returns a real HTTP 404. List the catalog and retry with a returned handle.
{"error":{"code":"PRODUCT_NOT_FOUND","message":"...","resolution":"Call /api/catalog/products ..."}}
MCP legacy initialization
MCP 2025-11-25 and earlier clients can use the initialization handshake. The returned capabilities contain resources only.
curl -sS https://sanikb-agent-api.vercel.app/mcp \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"example-agent","version":"1.0.0"}}}'
MCP 2026-07-28 discovery
Modern clients send per-request protocol metadata and mirrored headers. The Accept header must list both JSON and event streams as required by Streamable HTTP, even though this read-only service currently answers with JSON.
curl -sS https://sanikb-agent-api.vercel.app/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: server/discover' \
--data '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"example-agent","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'