apiv3.droplinked.com. Any MCP-capable agent can
discover the surface from a well-known doc and call it over HTTP.
For the full, code-grounded tool roster see Inventory MCP.
Discovery
Start at the discovery doc. It’s public, cacheable, and lists every tool with its JSON-schema input shape:searchProducts, getProductDetail, getShopInfo,
getStockoutAlerts):
Transport
The server speaks MCP over HTTP on four JSON-RPC routes. Every route is public (the current phase is unauthenticated; admin diagnostics are gated by an_adminKey argument, not a header).
Each route accepts both request shapes:
- Flat body —
{ "name": "searchProducts", "arguments": { … } } - JSON-RPC 2.0 envelope —
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "searchProducts", "arguments": { … } } }
{ "jsonrpc": "2.0", "id", "result" }. Errors use the MCP/JSON-RPC codes (-32601 unknown
tool/method, -32602 invalid arguments). A tool whose logic fails (e.g. shop not found)
still returns 200 with isError: true so the agent can recover.
Planned: Streamable HTTP
A single-endpoint Streamable HTTP transport — the modern MCP transport every current official client (including the Claude remote connector) prefers — is implemented and gated behindMCP_STREAMABLE_HTTP_ENABLED.
When enabled, it adds three routes at a single path:
initializehandshake — the client opens with aninitializerequest; the server replies with its capabilities and mints anMcp-Session-Id. The client echoes that header on every subsequent call, and the server accepts it to bind the session.- Protocol-version negotiation — the server supports
2025-06-18,2025-03-26, and2024-11-05, and negotiates the highest version the client offers. - Tool annotations — the
tools/listresponse over this transport includes the read-only / destructive hints described in Inventory MCP → Tool annotations.
Connect from an agent
Claude / Claude Code
MCP clients connect to the HTTP transport. Point your client at the discovery doc, or call the JSON-RPC routes directly:tools/list and dispatches calls via tools/call. No API key is
required in the current phase. Once the Streamable HTTP transport
above is enabled, you point Claude’s remote connector at the single POST /mcp endpoint
instead, and the client drives the initialize handshake automatically.
ChatGPT / OpenAI Agents SDK
Add the JSON-RPCtools/call endpoint as an HTTP tool source, or ingest the
ACP feed for product discovery. Both surfaces are public.
Any MCP client (manual)
GET /.well-known/mcp.jsonto learn the tool surface.POST /mcp/v1/tools/listto enumerate tools + input schemas.POST /mcp/v1/tools/callwith{ name, arguments }(or the JSON-RPC envelope) to invoke.
How it fits together
Notes on the current phase
- Public, unauthenticated. Every tool route is public today. Admin diagnostics
(
queryEventLog,traceAttestationLineage,getInventoryDrift) require an_adminKeyargument matchingMCP_ADMIN_SECRET. Per-merchant API-key auth and write-tool guards are a later phase. - CORS is open (
*) on the tool routes — they’re read-mostly and carry no cookies — and each route answers a siblingOPTIONSpreflight. - The discovery doc is the contract. It’s regenerated on deploy when the tool surface changes and cached for one hour.
Related
Inventory MCP
The full 25-tool registry, read/write annotations, and
findInventory details.ACP Feed
The Stripe Agentic Commerce Protocol product feed for shopping-surface ingestion.
Consume the MCP
Build an agentic shopping loop end-to-end.
Attribution + Commission
How agentic conversions settle 70 / 20 / 10.