{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_tsucw2y52h7w","handle":"tollbooth-authority","url":"https://wellknown.network/agents/tollbooth-authority","links":{"self":"https://wellknown.network/agents/tollbooth-authority/record.json","html":"https://wellknown.network/agents/tollbooth-authority","markdown":"https://wellknown.network/agents/tollbooth-authority/record.md","api":"https://wellknown.network/api/v1/agents/tollbooth-authority","status":"https://wellknown.network/api/v1/agents/tollbooth-authority/status","claim":"https://wellknown.network/agents/tollbooth-authority/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tollbooth-authority/claim.json","badge":"https://wellknown.network/agents/tollbooth-authority/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:tollbooth-authority.fastmcp.app:server:tollbooth-authority","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"tollbooth-authority","summary":"Tollbooth Authority — Certified Purchase Order Service for DPYC operators","description":"Tollbooth Authority — Certified Purchase Order Service for DPYC operators","publisher":{"name":"lonniev","url":null},"homepage":null,"repository":"https://github.com/lonniev/tollbooth-authority","version":"0.11.9","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://tollbooth-authority.fastmcp.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-24T14:01:02.99927Z","publishedAt":"2026-08-24T14:01:02.99927Z","registryName":"io.github.lonniev/tollbooth-authority"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"finance.accounting","name":"Accounting","confidence":1,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.977,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.919,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content","data","documents","finance","security"]},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-09-08T04:21:46.984Z","lastProbedAt":"2026-09-08T04:21:46.984Z","statusComputedAt":"2026-09-08T04:35:32.388Z","reliability30d":{"probes":5,"successRate":1,"p50Ms":423},"latestObservations":[{"at":"2026-09-08T04:21:46.984Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":500,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T22:22:42.536Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":488,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T15:21:59.865Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":332,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T08:29:44.603Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":348,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T01:28:25.126Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":343,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T19:21:20.589Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":360,"error":null,"detail":{"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"toolCount":68,"serverName":"tollbooth-authority","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}}],"tools":[{"name":"authority_check_balance","description":"Check a patron's credit balance at this operator.\n\nThis is the patron's spending balance — credits purchased via\nLightning for tool calls at this operator. For "},{"name":"authority_purchase_credits","description":"Buy credits via Bitcoin Lightning.\n\nCreates a Lightning invoice. Pay it with any Lightning wallet,\nthen call check_payment to confirm. Proof of npub ownership i"},{"name":"authority_check_payment","description":"Check the payment status of a Lightning invoice.\n\nCall after paying the invoice from purchase_credits.\nFree — no credits required. Proof of npub ownership is re"},{"name":"authority_restore_credits","description":"Credit a patron's ledger from a BTCPay-settled invoice.\n\n**RESTRICTED to the operator** — the operator owns the books and is\nthe only party who can issue a manu"},{"name":"authority_account_statement","description":"Generate a patron's account statement at this operator.\n\nReturns the patron's purchase history, active credit tranches,\nper-tool usage breakdown, and recent dai"},{"name":"authority_account_statement_infographic","description":"Generate a visual SVG infographic of your account statement.\n\nReturns the same data as account_statement, rendered as a dark-themed\nSVG graphic with balance her"},{"name":"authority_report_issue","description":"File a field report about this service as a GitHub issue on the operator's repo.\n\nFound a tool's metadata or response wrong or confusing? Report it where the to"},{"name":"authority_service_status","description":"Check the health and configuration of this service. Free."},{"name":"authority_get_operator_onboarding_status","description":"Report this operator's configuration readiness.\n\nShows which operator settings are configured, which are missing,\nand how to deliver each missing value. For pat"},{"name":"authority_get_patron_onboarding_status","description":"Report a patron's credential readiness for this operator.\n\nFor set-once services (eXcalibur, TheBrain), shows which patron\nsecrets are configured and which are "},{"name":"authority_session_status","description":"Check operator readiness. Returns the operator lifecycle\nstate and clear guidance on what to do next. Free.\n\nLifecycle states:\n- ready: Operator is warm and ful"},{"name":"authority_request_credential_channel","description":"Open a Secure Courier channel for credential delivery.\n\nThis is the CREDENTIAL-DELIVERY flow — use it to hand over a service\nsecret (API keys, tokens). To merel"},{"name":"authority_receive_credentials","description":"Pick up credentials from the Secure Courier.\n\nCompletes the CREDENTIAL-DELIVERY flow (the ownership-proof\ncounterpart is ``receive_npub_proof``).\n\n**Call this o"},{"name":"authority_forget_credentials","description":"Delete vaulted credentials for a specific service and npub.\n\nFor operator credentials, pass the operator's own npub. For patron\ncredentials, pass the patron's n"},{"name":"authority_update_patron_credential","description":"Add or update a single patron credential field.\n\nMerges into existing stored credentials without affecting\nother fields. Useful for setting an account identifie"},{"name":"authority_update_operator_credential","description":"Add or update a single operator secret field.\n\nMerges into the operator's stored credentials without touching the\nothers — the field-level counterpart to re-del"},{"name":"authority_delete_patron_credential","description":"Remove a single patron credential field.\n\nDeletes one field from stored credentials without affecting\nother fields. Free. Proof of npub ownership is required —\n"},{"name":"authority_delete_operator_credential","description":"Remove a single operator secret field.\n\nDeletes one key from the operator's encrypted credential blob without\ntouching the others — the field-level counterpart "},{"name":"authority_get_patron_credential_fields","description":"List stored patron credential field names (not values).\n\nReturns the names of fields stored for a patron, plus each\nfield's ``delivered_at`` ISO-8601 timestamp "},{"name":"authority_request_npub_proof","description":"Request npub ownership proof from a patron via Nostr DM.\n\nThis is the npub-OWNERSHIP-PROOF flow — use it when a call returns\n``proof_required``. It proves the c"},{"name":"authority_receive_npub_proof","description":"Receive npub ownership confirmation from a patron.\n\nCompletes the npub-OWNERSHIP-PROOF flow (the credential-delivery\ncounterpart is ``receive_credentials``).\n\n*"},{"name":"authority_check_proof_status","description":"Check whether a previously-cached dpop_token is still valid.\n\nMirrors ``check_oauth_status`` for the npub-proof flow: a calling\nagent can ask \"will my next paid"},{"name":"authority_oracle_how_to_join","description":"Get DPYC onboarding instructions from the Oracle. Free."},{"name":"authority_oracle_get_tax_rate","description":"Get the current DPYC certification tax rate. Free."},{"name":"authority_oracle_lookup_member","description":"Look up a DPYC community member by npub. Free."},{"name":"authority_oracle_about","description":"Describe the DPYC ecosystem via the Oracle. Free."},{"name":"authority_oracle_network_advisory","description":"Get active network advisories from the Oracle. Free."},{"name":"authority_check_authority_balance","description":"Check this operator's tax balance at the Authority.\n\nReturns the sats available for certifying patron credit purchases.\nWhen this balance reaches zero, patron t"},{"name":"authority_get_pricing_model","description":"Get the active pricing model for this operator. Free.\n\nIf no model exists, self-initializes a scaffold with all\nregistered tools at 0 sats.  No economic data fr"},{"name":"authority_set_pricing_model","description":"Set the active pricing model. RESTRICTED to operator.\n\nRequires a valid proof (Schnorr-signed kind-27235 event)\nproving the caller holds the operator's nsec."},{"name":"authority_reset_pricing_model","description":"Erase all pricing models and restore a viable default.\n\nDeletes every stored model, then self-initializes a fresh one\nfrom the tool registry — all tools at 0 sa"},{"name":"authority_request_adoption","description":"Ask a chosen Authority to adopt this operator (deferred courtship).\n\nRESTRICTED to the operator — requires proof the caller controls this\noperator's npub. Resol"},{"name":"authority_adoption_status","description":"Check this operator's adoption-request status at a chosen Authority.\n\nFree. Polls the Authority MCP-to-MCP for the status of this operator's\nrequest (pending / "},{"name":"authority_restore_neon_schema","description":"Re-run ``ensure_schema()`` on every NeonVault this operator uses.\n\nDiagnostic / recovery tool for the case where the Neon HTTP SQL API\nis returning persistent 4"},{"name":"authority_list_canonical_identities","description":"Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes.\n\nThe authoritative source for any client (Studio, agents, FE)\nthat needs to know how t"},{"name":"authority_get_nostr_profile","description":"Read an npub's public Nostr profile (NIP-01 kind-0 metadata).\n\nFree, no proof — the data is already public on relays. Returns the\nlatest metadata fields (name, "},{"name":"authority_publish_nostr_profile","description":"Publish a CLIENT-SIGNED kind-0 profile to relays for an npub.\n\nThe wheel never holds a patron nsec. The frontend signs the kind-0\nmetadata event with the patron"},{"name":"authority_check_price","description":"Preview the effective cost of a tool call.\n\nShows the base cost and any constraint effects (discounts, free\ntrials, surge pricing). Free — no credits required."},{"name":"authority_list_constraint_types","description":"List all available constraint types and their parameter schemas.\n\nReturns the type, category, description, and parameter specs for\nevery constraint that can be "},{"name":"authority_mint_coupon","description":"Create a new operator-owned discount coupon."},{"name":"authority_list_coupons","description":"List every coupon this operator has minted (newest first).\n\nEach row carries the current ``times_redeemed`` counter — the\nStudio renders a progress bar from thi"},{"name":"authority_update_coupon","description":"Patch a coupon's editable fields.\n\nPass only the fields you want to change.  To set a cap to\nunlimited (NULL in the schema), pass ``clear_uses_per_patron=true``"},{"name":"authority_delete_coupon","description":"Delete a coupon.  Cascades to all patron redemptions.\n\nAny chain step referencing the deleted coupon_id becomes a\nno-op (the constraint returns neutral on unkno"},{"name":"authority_redeem_coupon","description":"Claim a coupon by its name (the code the operator shared).\n\nLooks up the operator's coupon by ``code``, validates the window\nand total cap, and records a per-pa"},{"name":"authority_list_my_coupons","description":"List the coupons this patron has redeemed on this operator.\n\nReturns both active and exhausted redemptions with a per-row\n``status`` (``active`` / ``window_clos"},{"name":"authority_forget_coupon","description":"Remove a coupon from this patron's redemption list.\n\nCosmetic only — the coupon itself still exists at the operator,\nand the patron can re-redeem the same code "},{"name":"authority_notarize_ledger","description":"Build a Merkle tree of all patron balances and submit the root\nto Bitcoin via OpenTimestamps.\n\nOperator-only background task. Bitcoin confirmation takes 1-6 hou"},{"name":"authority_get_notarization_proof","description":"Generate a Merkle inclusion proof that a patron's balance was\nincluded in a Bitcoin-notarized snapshot."},{"name":"authority_list_notarizations","description":"List recent Bitcoin notarization records."},{"name":"authority_register_operator","description":"Provision an operator in the Authority ledger.\n\nCreates a ledger entry so the operator can purchase credits and\ncertify purchase orders. Idempotent — safe to ca"},{"name":"authority_update_operator","description":"Update an existing Operator's community registry entry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Oper"},{"name":"authority_deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nRequires the same two proofs as ``register_operator``:\n\n- ``proof`` proves the caller controls the Operato"},{"name":"authority_get_operator_config","description":"Retrieve operator bootstrap configuration (Neon URL, schema).\n\nGated by Schnorr signature proving ownership of the requested npub."},{"name":"authority_operator_status","description":"View registration status, balance summary, and the Authority's Nostr npub.\n\nWhen an explicit ``npub`` is provided, requires a Schnorr proof of\nownership — witho"},{"name":"authority_certify_credits","description":"Certify a purchase order: return a Schnorr-signed Nostr event certificate.\n\nThe paid_tool decorator handles the ad valorem fee debit and stores\nthe cost in runt"},{"name":"authority_check_dpyc_membership","description":"Look up an npub in the DPYC community registry."},{"name":"authority_receive_adoption_request","description":"Inbound: record an operator's request to be adopted by this Authority.\n\nCalled MCP-to-MCP by the operator's ``request_adoption``. Verifies the\noperator controls"},{"name":"authority_list_adoption_requests","description":"Owner queue: list pending operator-adoption requests.\n\nRestricted to the Authority owner (consent proof). This is the\nreview-on-your-own-time surface the Pricin"},{"name":"authority_receive_neon_402_alert","description":"Inbound: an operator reports its Neon store is 402-locked.\n\nCalled MCP-to-MCP by the operator's runtime the instant it catches a\nNeon HTTP 402 on its own databa"},{"name":"authority_list_neon_alerts","description":"Owner queue: operators that reported a Neon-402 (store locked).\n\nRestricted to the Authority owner. A companion to network_persistence_health:\nthis is the react"},{"name":"authority_network_persistence_health","description":"Owner view: the health of the DPYC economy's accounting store (Neon).\n\nRestricted to the Authority owner. Three layers, from most to least\nproactive:\n\n1. ``proj"},{"name":"authority_approve_adoption","description":"Approve a pending request and provision the operator.\n\nThe deferred-courtship counterpart to register_operator: same\n``authority_proof`` consent, same provision"},{"name":"authority_reject_adoption","description":"Reject a pending operator-adoption request (owner consent)."},{"name":"authority_repair_operator_schema","description":"Owner repair: reassign every table in an operator's tenant schema to\nthe operator's own role, then re-grant DML.\n\nFor tenants whose tables were created/owned by"},{"name":"authority_get_adoption_status","description":"Read an operator's adoption-request status (free, no proof).\n\nStatus (pending/approved/rejected/provisioned) isn't sensitive — it's\nthe operator's own request —"},{"name":"authority_register_authority_npub","description":"Step 1/3 of Authority onboarding — send a Nostr DM challenge to the candidate."},{"name":"authority_confirm_authority_claim","description":"Step 2/3 of Authority onboarding — verify candidate DM, escalate to parent Authority.\n\nThe parent Authority is resolved from THIS Authority's own entry in\ndpyc-"},{"name":"authority_check_authority_approval","description":"Step 3/3 of Authority onboarding — check parent approval, activate Authority."}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.lonniev/tollbooth-authority","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.lonniev%2Ftollbooth-authority","firstSeenAt":"2026-09-06T18:19:25.854Z","fetchedAt":"2026-09-06T18:19:25.854Z","normalizedAt":"2026-09-06T18:19:25.854Z"}]},"firstSeenAt":"2026-09-06T18:19:25.854Z","updatedAt":"2026-09-08T04:36:05.584Z"}