generated: '2026-09-12' method: derived source: >- mcp/agnikul-ucp-mcp-tools.json and mcp/agnikul-storefront-mcp-tools.json (live tools/list, HTTP 200) crossed against the read-only HTTP routes the store itself names in https://shop.agnikul.in/agents.md and /llms.txt (HTTP 200), and the crawl rules in https://shop.agnikul.in/robots.txt (HTTP 200) name: Agnikul Cosmos Store MCP tool crosswalk slug: agnikul caveat: >- Agnikul publishes no OpenAPI on any host, so the REST side of this crosswalk has no operationIds. Each row binds a tool to the documented HTTP route the store itself names in /agents.md, written as METHOD path. Confidence is graded accordingly and no row asserts more than the two documents state. surfaces: - name: UCP Commerce MCP kind: mcp url: https://shop.agnikul.in/api/ucp/mcp gated: false tool_count: 13 schema_source: live tools/list - name: Storefront MCP kind: mcp url: https://shop.agnikul.in/api/mcp gated: false tool_count: 1 schema_source: live tools/list - name: Storefront read-only JSON routes kind: rest base: https://shop.agnikul.in gated: false openapi: null documented_at: https://shop.agnikul.in/agents.md routes: - GET /collections/all - GET /products/{handle} - GET /products/{handle}.json - GET /collections/{handle} - GET /collections/{handle}/products.json - GET /search?q={query}&type=product - GET /sitemap.xml - GET /agents.md - name: Customer Account MCP kind: mcp url: not published by Agnikul gated: true note: >- The OIDC discovery document on shop.agnikul.in advertises the scope customer-account-mcp-api:full, so an authenticated per-buyer MCP surface exists on the platform, but Agnikul publishes no endpoint for it. Its tools cannot be enumerated anonymously and are deliberately not guessed. - name: Agnikul launch services kind: none url: https://agnikul.in/book/ gated: false note: >- The company's actual product — orbital and suborbital launch — has no programmable surface at all. Booking a launch is a three-step HTML form that emails the payload team. There is nothing to crosswalk here, and that absence is the single most important fact in this file. crosswalk: - tool: search_catalog category: catalog rest: ['GET /search?q={query}&type=product', 'GET /collections/{handle}/products.json'] binding: semantic confidence: medium note: >- Both search the same eleven-product catalog, but they are not the same operation: the tool adds category/price/availability filters, buyer context, cursor pagination and UCP-shaped responses. - tool: get_product category: catalog rest: ['GET /products/{handle}.json'] binding: semantic confidence: medium note: >- Different key spaces — the tool takes gid://shopify/Product/{id}, the route takes a URL handle. A client cannot translate between them from published data alone. - tool: lookup_catalog category: catalog rest: [] binding: none confidence: high note: Batch GID resolution with featured/exact match markers has no documented HTTP equivalent. mcp_only: - tool: create_cart reason: /cart/ and /cart.js are Disallowed in robots.txt; no public route creates a cart as a JSON resource. - tool: get_cart reason: Cart state is readable only through the tool. - tool: update_cart reason: No documented public HTTP write route. - tool: cancel_cart reason: No documented public HTTP write route. - tool: create_checkout reason: /checkout and /checkouts/ are Disallowed in robots.txt and are browser flows, not an API. - tool: get_checkout reason: No documented public HTTP read route for checkout state. - tool: update_checkout reason: No documented public HTTP write route. - tool: complete_checkout reason: >- Payment authorization has no HTTP counterpart on the storefront. The only tool requiring meta.idempotency-key, and robots.txt states plainly "Checkouts are for humans. Do NOT complete checkout, payment, or order placement automatically." - tool: cancel_checkout reason: No documented public HTTP write route. - tool: get_order reason: /orders is Disallowed in robots.txt; order retrieval is tool-only. - tool: search_shop_policies_and_faqs reason: >- Retrieval-augmented answering over policy text. Cosmos Store publishes no policy pages — /policies/refund-policy, /policies/shipping-policy, /policies/terms-of-service and /policies/privacy-policy all return 404 — so this tool has no HTTP counterpart and, unusually, very little corpus. rest_only: - route: GET /collections/all reason: A browsable full-catalog listing. search_catalog requires a query or filters and has no "return everything" mode. - route: GET /sitemap.xml reason: Crawl-time discovery. No tool exposes the sitemap. - route: GET /agents.md reason: The agent instruction document itself. No tool serves it. - route: GET /products/{handle} reason: Human-facing product page (HTML), no tool counterpart. - route: GET /collections/{handle} reason: Human-facing collection page (HTML), no tool counterpart. coverage: mcp_tools_total: 14 mcp_tools_bound_to_rest: 2 mcp_tools_partially_bound: 1 mcp_only: 11 rest_routes_documented: 8 rest_only: 5 openapi_operations: 0 note: >- Eleven of fourteen tools have no public HTTP equivalent — the write half of this store is reachable only through MCP. Agent access here is not a wrapper over an existing REST API; it IS the API. The company's launch-services business contributes zero operations to this table.