# Purser > An Organization sponsors its people's use of Tollbooth DPYC Operators: members, Project budgets, a funding ledger and analytics. ## Connecting an agent The web app is one client of an MCP server, and an agent can call the same tools directly. - MCP endpoint (streamable HTTP, no account, no API key): https://purser-mcp.fastmcp.app/mcp - Claude.ai or Claude Desktop: Customize → Connectors → Add custom connector → paste the endpoint; leave the OAuth fields blank - Claude Code: `claude mcp add --transport http purser https://purser-mcp.fastmcp.app/mcp` - Cursor (`.cursor/mcp.json`): `{"mcpServers": {"purser": {"url": "https://purser-mcp.fastmcp.app/mcp"}}}` - VS Code (`.vscode/mcp.json`): `{"servers": {"purser": {"type": "http", "url": "https://purser-mcp.fastmcp.app/mcp"}}}` - MCP Registry: `io.github.lonniev/tollbooth-purser` First connection: 1. Ask the person for their Nostr npub (npub1…). Never ask for an nsec. 2. `purser_request_npub_proof(patron_npub=…)` sends them a Nostr direct message. They reply from their Nostr client; then call `purser_receive_npub_proof(patron_npub=…, nonce=…)` once with the nonce the request returned. Your connection then holds the npub: pass only `npub` on every paid call. 3. `purser_check_balance`. If it is empty, `purser_purchase_credits` returns a Lightning invoice for the person to pay, and `purser_check_payment` confirms it. `purser_service_status` and the `purser_oracle_*` tools need no proof. `purser_check_price` previews a fare. The server's own MCP `instructions` repeat these steps. ## What Purser is for An Organization sponsors its people's use of other Tollbooth DPYC Operators. The owner's npub owns the Organization; its members are the people it sponsors. ## Sponsorship lives at each Operator At every Operator a member uses, the member asks the owner's npub to sponsor them with that Operator's `request_peer_grant`, or the owner offers, and the other approves a Nostr DM. A sponsor may read the member's balance and statement there and pay their top-ups. It never spends their balance. ## Purser's own tools `purser_save_organization`, `purser_get_organization`, `purser_save_member`, `purser_save_project`, `purser_assign_member`, `purser_set_operators`, `purser_record_funding` and `purser_funding_ledger` keep the Organization's books. Every tool acts for the owner and needs the connection to prove that npub. ## Payments and identity - Identity is a Nostr keypair (npub). There is no account, no email, no subscription and no KYC. - A connection proves its npub with a Nostr DM challenge, or by signing each request with the npub's key (NIP-98). - Tool calls debit a balance of sats, pre-funded with a Bitcoin Lightning invoice. - Each operator sets its own per-tool prices. Monetization is the Tollbooth DPYC™ protocol: https://tollbooth-dpyc.com ## License, patent, and trademarks - Source is open under the Apache License 2.0. The services built on it are private commerce: each operator sets its own tolls. - Patent Pending — US Provisional Application 64/045,999 (Tollbooth DPYC Economic Architecture). - DPYC™, Tollbooth DPYC™ and Don't Pester Your Customer™ are trademarks of Lonnie VanZandt. ## Links - Web app: https://purser.tollbooth-dpyc.com - MCP endpoint: https://purser-mcp.fastmcp.app/mcp - Source: https://github.com/lonniev/tollbooth-purser - Every service on the network: https://mcps.tollbooth-dpyc.com - Tollbooth DPYC™ (monetization SDK and network): https://tollbooth-dpyc.com - DPYC community and patent filings: https://github.com/lonniev/dpyc-community - DPYC Oracle (free community concierge): https://dpyc-oracle.fastmcp.app/mcp