mcp-registry/com.blinkcodes/catalog · v0.1.0
Also listed as github/delneg/blinkcodes-agent-interfaces, glama/delneg/blinkcodes-agent-interfaces
As of 2026-10-25 21:02 UTC, the Blinkcodes Catalog MCP server is up with a Glimind reliability score of 73/100 (grade C). Over the last 30 days it answered 99.1% of Glimind's liveness checks. It had 93 outages in 90 days, with a median recovery of 6 minutes.
Read-only catalog of gift cards, service top-ups and travel eSIMs sold by BlinkCodes.
Claude Code
claude mcp add --transport http blinkcodes-catalog-mcp-server https://blinkcodes.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"blinkcodes-catalog-mcp-server": {
"type": "http",
"url": "https://blinkcodes.com/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
3 of 3 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
Handshake + tools/list takes ~1,595 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.blinkcodes%2Fcatalog/fixes
{
"name": "buy_product",
"description": "Buy a gift card, service top-up or travel eSIM and receive the delivery. Paid in USDC on Base (x402), no account and no browser. Call it twice: first with the order arguments to get payment requirements and an order_id (nothing is charged), then with that order_id plus the signed x402 payment payload to settle and receive the code.",
"inputSchema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Delivery address. The code, eSIM profile or number is emailed here, and it is the only identity the order has. Required on the first call."
},
"amount": {
"type": "number",
"description": "Only for products where get_product reported requires_amount; send instead of item_id."
},
"item_id": {
"type": "integer",
"description": "Denomination id from get_product items[]."
},
"order_id": {
"type": "string",
"description": "Second call only: the order_id returned by the first call."
},
"quantity": {
"type": "integer",
"description": "Copies to buy. Defaults to 1 — send it only to buy several."
},
"product_id": {
"type": "integer",
"description": "Product id from search_catalog."
},
"product_type": {
"enum": [
"giftcard",
"topup"
],
"type": "string",
"description": "giftcard = voucher, topup = service recharge. eSIM data plans from search_catalog are bought as giftcard too — the value names the order shape, not the goods."
},
"account_number": {
"type": "string",
"description": "Only for products where get_product reported requires_account: the recipient account the top-up credits."
},
"payment_payload": {
"type": "object",
"description": "Second call only: the signed x402 PaymentPayload built from the requirements the first call returned."
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}{
"name": "get_product",
"description": "Get one catalog product by id: available denominations with prices, required order inputs, and any countries where the code cannot be redeemed.",
"inputSchema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Product id from search_catalog."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "search_catalog",
"description": "Search the store catalog of gift cards, service top-ups and eSIM data plans. Returns matching products with their price, availability and product page URL.",
"inputSchema": {
"type": "object",
"properties": {
"type": {
"enum": [
"voucher",
"recharge_fixed",
"recharge",
"e_sim"
],
"type": "string",
"description": "voucher = gift card, recharge_fixed / recharge = top-up, e_sim = eSIM data plan."
},
"limit": {
"type": "integer",
"description": "Max products to return (default 10, max 50)."
},
"query": {
"type": "string",
"description": "Free text matched against product name and brand, e.g. \"steam\" or \"playstation\"."
},
"country": {
"type": "string",
"description": "ISO-3166-1 alpha-2 country code the product is issued for, e.g. US, TR."
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.blinkcodes/catalog"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/com.blinkcodes/catalog"}) over MCP.
buy_product ~460 tokenssearch_catalog ~209 tokensget_product ~89 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fcom.blinkcodes%2Fcatalog?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fcom.blinkcodes%2Fcatalog?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.blinkcodes%2Fcatalog.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.blinkcodes%2Fcatalog.svg :target: https://glimind.com/server/mcp-registry%2Fcom.blinkcodes%2Fcatalog?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:5ac07fa6a0948430…, first seen 2026-10-17, included at leaf 2138 of 68,569. Version history · verify what your client received.
Compare: most reliable finance servers · most reliable commerce servers · most reliable search servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-25 21:02 UTC, the Blinkcodes Catalog MCP server is up with a Glimind reliability score of 73/100 (grade C). Over the last 30 days it answered 99.1% of Glimind's liveness checks. It had 93 outages in 90 days, with a median recovery of 6 minutes.
Blinkcodes Catalog MCP server advertises 3 tools, including buy_product, get_product, search_catalog.
Point your MCP client at this streamable-http endpoint: https://blinkcodes.com/mcp
Glimind scanned all 3 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.