# NFC Tap Builder by Tap.Giving

Build and order custom NFC tap discs and tap tags for churches and nonprofits: NFC tap to give, designed by your own agent, priced from the published tiers, ordered up to the human payment and proof gates. No subscriptions and no ongoing fees: one-time pricing per order, and the Redirect Dashboard is included free, permanently. This server moves no money itself: it returns a hosted invoice link for a person to pay.

Endpoint: POST https://tap.giving/mcp (MCP over Streamable HTTP, JSON-RPC 2.0, stateless).
Repository: https://github.com/RyanShook/tap-giving-mcp

## Connect
Paste-ready client config (the keyless read side works as-is):

{
  "mcpServers": {
    "tap-giving": {
      "type": "http",
      "url": "https://tap.giving/mcp"
    }
  }
}

For the write tools, add the organization's key to the same block: "headers": { "Authorization": "Bearer <key>" }.
Claude Code: claude mcp add --transport http tap-giving https://tap.giving/mcp
Reads need no key; a key is added only when the organization is ready to order.

## Tools
- get_discovery: Start here.
- get_quote: The binding quote for a prospective order (also known as get_pricing): quantity, tier, list totals as the headline, the first-order 10 percent discount (code WELCOME10, 7-day renewing window) shown as a conditional line, add-ons, free shipping as its own line, and the exact grand total.
- get_product: The full product facts: the locked tap chip, 0.85 mm double-laminated matte waterproof PVC, 100 mm (4 inch) round and square built-ins (every other size is a manual exception), mounting, the metal caveat, table stands and lanyard badges, the free Redirect Dashboard, and shipping terms (free; 2 to 3 weeks from artwork approval).
- get_artwork_spec: The production artwork spec for the chosen shape: 106 mm artboard, cut, bleed, and safe-zone geometry as structured millimetre data plus plain guidelines, the format wanted back (vector, SVG preferred), house template examples to react to, and the optional logo ask.
- submit_artwork: Send the finished artwork back.
- start_order_intent: The kickoff and the journey's first ask: capture a contact email through the same public capture endpoint the website's email-first door uses, so follow-up rides the existing lead machinery.
- get_order_questions: The order questions as structured data, in the exact order to ask them, covering every field create_order requires (shape, quantity, metal count, mounting with the picture assets, the giving page, contact name, email, and phone, and the shipping address last), plus the key's own organization block (name and the contact email orders must use).
- get_recap: The full recap, the last thing before the exits: the submitted artwork (displayUrl plus image content where renderable), the quantity, the shipping address as entered, the exact cost from get_quote, and both required notes.
- create_order: Set up an order for the key's organization through the same front door a website order takes (an INVREQ record the hourly adoption resolves into the CRM, indistinguishable downstream).
- request_invoice: Return the payment handoff for an order this key's organization created: a real, finalized Stripe hosted invoice and its link, minted under the invoice playbook (send_invoice collection, 7 days to due, first-order coupon when eligible, the free shipping line, finalized with auto_advance=false so Stripe emails nothing).
- get_order_status: Where an order stands, from the records fulfillment reads: the CRM stage, the fulfillment state with tracking when present, and the invoice state with its hosted link.
- register_webhook: Register (or replace) the organization's one webhook subscription for proof_ready and shipped events.

## Auth
Keyless reads (get_discovery, get_quote, get_product, get_artwork_spec) need no key.
Order questions, order recap, and order status are reads that need the organization's key, like the writes: Authorization: Bearer tg_live_<orgslug>_<secret> (or tg_test_ for the test seat).
An organization API key is issued by the Tap.Giving team: email hello@tap.giving from the address you want on the order, say which church or nonprofit the key is for, and the team replies with the key within one business day. Read tools need no key; order questions, recaps, order setup, invoice requests, and order status use the organization's key.

## Human gates
- Design approval stays human: a person approves the final proof by email before production. No tool on this server records or implies an approval.
- Payment stays human: this server moves no money itself. It returns a hosted invoice link and a person pays on Stripe's hosted page.
- Production release and the supplier handoff stay human: no tool on this server releases an order to production or touches fulfillment state.

This server moves no money itself: it returns a hosted invoice link for a person to pay.