Odel
giftcardshop mcp

giftcardshop mcp

Local
@i2dorTypeScriptMITUpdated 2mo ago

Browse the giftcardshop catalog and buy gift cards with Lightning over MCP. No account, no signup.

@giftcardshop/mcp

MCP server that lets AI agents browse the giftcardshop catalog and buy gift cards with Lightning - no account, no signup. The agent pays a Lightning invoice and receives a single-view reveal link with the code.

Read tools work against the live public API with no key. create_order is early access: it needs the shared GCS_INTERNAL_SECRET (request one at https://giftcardshop.org/contact); without it the read tools still work and create_order reports that it is not configured.

Tools

ToolKindBacked by
list_brandsreadGET /v1/brands
search_productsreadGET /v1/products
get_productreadGET /v1/products/:id (variants + denominations)
get_order_statusreadGET /v1/orders/:id (payment state + reveal availability)
create_orderwritePOST /internal/agent-orders (HMAC) -> Lightning invoice

Read tools pass the API JSON through verbatim. create_order returns { orderId, invoiceId, invoiceUrl, bolt11?, sats?, total, currency, expiresAt }.

Run

# read-only (browsing works, create_order reports "not configured")
npx @giftcardshop/mcp

# with checkout enabled
GCS_INTERNAL_SECRET=<64-hex> npx @giftcardshop/mcp

Claude Desktop / any MCP client (stdio):

{
  "mcpServers": {
    "giftcardshop": {
      "command": "npx",
      "args": ["-y", "@giftcardshop/mcp"],
      "env": { "GCS_INTERNAL_SECRET": "<64-hex>" }
    }
  }
}

Config

EnvDefaultPurpose
GCS_API_BASEhttps://api.giftcardshop.orgpublic API base
GCS_INTERNAL_SECRET(unset)64-hex HMAC secret; enables create_order. Unset = read-only.

Checkout (create_order)

create_order POSTs to POST /internal/agent-orders, HMAC-signed with GCS_INTERNAL_SECRET (header x-internal-sig), and returns a Lightning invoice. Pay it, then poll get_order_status for the single-view reveal link. No Nostr identity and no partner account required.

Roadmap

  • L402 (Lightning HTTP 402) so an agent pays per-call without a human step.
  • A hosted remote MCP over HTTP, so there is nothing to install.
  • A btcrecharge MCP for mobile top-ups (same shape).