{"app":{"handle":"claimify","name":"Claimify"},"available":true,"endpoint":"https:\/\/api-staging.sappo.xco.agency\/claimify\/mcp","protocolVersions":["2025-11-25","2025-06-18","2025-03-26","2024-11-05"],"server":{"name":"Claimify","version":"1.0.0"},"instructions":"Claimify MCP server for accessing claim data from Shopify stores.\n\nThe store is identified automatically from your API token.\n\nAvailable tools:\n- `list_claims`: List claims with optional status\/archived filters and pagination\n- `get_claim`: Get a specific claim by ID with customer, order, and line item details\n- `get_claim_stats`: Get claim statistics broken down by status\n- `list_customers`: List customers with pagination\n- `list_orders`: List orders with optional cancelled filter and pagination","auth":{"tokenPrefix":"mak_","header":"Authorization","scheme":"Bearer","whereToGet":"Open the app in your Shopify admin, go to Settings \u2192 API Access, and create a token. The full token is shown once, at creation time; afterwards only its first 12 characters are stored in readable form. If that card is locked, API access is not included in your current plan and the app will not create a token until the plan changes. At most three tokens can be active at once, so revoke one you no longer use before creating another.","plan":{"required":false,"plans":[]}},"clientConfig":{"claudeDesktop":{"mcpServers":{"sappo-claimify":{"type":"http","url":"https:\/\/api-staging.sappo.xco.agency\/claimify\/mcp","headers":{"Authorization":"Bearer mak_your_token_here"}}}},"cli":"claude mcp add --transport http sappo-claimify https:\/\/api-staging.sappo.xco.agency\/claimify\/mcp --header \"Authorization: Bearer mak_your_token_here\""},"tools":[{"name":"list_claims","title":"List Claims Tool","description":"List claims for a Shopify store. Returns paginated claims with customer, order, and line item details.","inputSchema":{"properties":{"page":{"description":"Page number (default: 1)","type":"integer"},"page_size":{"description":"Items per page, max 100 (default: 25)","type":"integer"},"status":{"description":"Filter by status (PENDING, APPROVED, REJECTED, etc.)","type":"string"},"archived":{"description":"Filter by archived state","type":"boolean"}},"type":"object"},"examplePrompt":"Show me the claims."},{"name":"get_claim","title":"Get Claim Tool","description":"Get a single claim by ID for a Shopify store, including full customer, order, and line item details.","inputSchema":{"properties":{"id":{"description":"Claim ID","type":"string"}},"type":"object","required":["id"]},"examplePrompt":"Give me the details of a claim."},{"name":"get_claim_stats","title":"Get Claim Stats Tool","description":"Get claim statistics for a Shopify store: total count broken down by status, and counts for archived\/active claims.","inputSchema":{"type":"object","properties":{}},"examplePrompt":"Give me the details of the claim stats."},{"name":"list_customers","title":"List Customers Tool","description":"List customers for a Shopify store using Claimify.","inputSchema":{"properties":{"page":{"description":"Page number (default: 1)","type":"integer"},"page_size":{"description":"Items per page, max 100 (default: 25)","type":"integer"}},"type":"object"},"examplePrompt":"Show me the customers."},{"name":"list_orders","title":"List Orders Tool","description":"List orders for a Shopify store using Claimify.","inputSchema":{"properties":{"page":{"description":"Page number (default: 1)","type":"integer"},"page_size":{"description":"Items per page, max 100 (default: 25)","type":"integer"},"cancelled":{"description":"Filter by cancelled status","type":"boolean"}},"type":"object"},"examplePrompt":"Show me the orders."}],"errors":[{"status":401,"code":"MISSING_TOKEN","message":"Authorization header with Bearer token is required.","whatToDo":"Send an `Authorization: Bearer mak_\u2026` header. This code also appears when the header is present but does not start with `Bearer ` \u2014 a bare token or a `Token \u2026` prefix is not accepted."},{"status":401,"code":"INVALID_TOKEN","message":"Token is invalid, expired, or revoked.","whatToDo":"Check the token was copied in full, is still listed as active in Settings \u2192 API Access, and has not passed its expiry date. Create a new token if in doubt. The same code is returned when the store is suspended."},{"status":403,"code":"PLAN_REQUIRED","message":"API access is not included in the current plan.","whatToDo":"The token is valid, but this app sells API access on named plans only and this store is not on one of them. The plans that carry it are listed under **Authentication** above; change the plan in the app and the same token starts working \u2014 there is no need to create a new one."},{"status":404,"code":"APP_NOT_FOUND","message":"App not found.","whatToDo":"The app handle in the path is not one Sappo serves. Use the handle this documentation was generated for, and check for a typo or a stray path segment."},{"status":429,"code":"RATE_LIMITED","message":"Too many requests. Please slow down.","whatToDo":"Wait the number of seconds in the `Retry-After` header before retrying, and keep each client under 60 requests per 60 seconds. Fetch more records per request instead of making more requests."},{"status":503,"code":"API_NOT_AVAILABLE","message":"The API is not available for this app yet.","whatToDo":"The app is served but its store of API tokens has not been created yet, so no token can be checked. Nothing is wrong with your request: retry later, and tell support if it lasts."}],"throttle":{"requests":60,"windowSeconds":60,"scope":"client address","message":"Too Many Attempts.","headers":["X-RateLimit-Limit","X-RateLimit-Remaining","X-RateLimit-Reset","Retry-After"]}}