Skip to main content
Glama

Server Details

FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
86.7% over 70 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
lonniev/excalibur-mcp
GitHub Stars
3
Server Listing
eXcalibur MCP

TDQS

A3.5/5.0

Scored across 87 tools

Disambiguation3/5

The set contains many similar-sounding tools (e.g., check_balance vs check_authority_balance, scheduler_status/pending/reissue/check_now, operator vs patron credential CRUD, account_statement vs account_statement_infographic). Descriptions are detailed and often explicitly cross-reference each other, which helps, but the sheer volume and overlap still create meaningful misselection risk.

Naming Consistency4/5

All tools use snake_case with a consistent excalibur_ prefix and predominantly verb_noun structure (e.g., create_post, list_posts, update_coupon). A few tools break the pattern with noun phrases (oracle_about, service_status, scheduler_pending) and verbs vary (get/fetch/list), but overall the convention is predictable.

Tool Count1/5

87 tools is excessive for an MCP server, far beyond the typical 3-15 range. Even accounting for the platform's broad scope, the surface is extremely large and likely burdens tool discovery and selection.

Completeness4/5

The surface covers CRUD for posts, snippets, coupons, credentials, pricing, billing, scheduler, Nostr, Oracle, and more, with lifecycle operations for most entities. Minor gaps exist (e.g., no operator credential field listing, no patron management/list), but agents can generally work around them.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 69 tool updates
    • Changedexcalibur_account_statement1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_account_statement_infographic1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_adoption_status2 fields changed
      • addedInput schema / properties / authority_npub / description
        Added value: +"The npub of the Authority the request was sent to."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_begin_oauth1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing.\nIts `u` tag must hold THIS tool's exact name (from\ntools/list), not the endpoint URL; content:\"\", created_at\nwithin 60s of now, and a random `nonce` tag recommended. Or a\ncached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_check_balance1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_check_oauth_status1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing.\nIts `u` tag must hold THIS tool's exact name (from\ntools/list), not the endpoint URL; content:\"\", created_at\nwithin 60s of now, and a random `nonce` tag recommended. Or a\ncached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_check_payment1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_check_price2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
      • addedInput schema / properties / npub / description
        Added value: +"Optional patron npub; with it, the preview includes that\npatron's coupons and constraint effects."
    • Changedexcalibur_check_proof_status1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Required. The grant envelope returned by\n``receive_npub_proof``."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_create_post6 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • changedInput schema / properties / recurrence / description
        Previous value: -"``{\"freq\": \"daily|weekly|monthly\", \"interval\": n}`` or null."New value: +"``{\"freq\": \"daily|weekdays|weekly|monthly\", \"interval\": n}``\n(``interval`` a positive integer) or null."
      • changedInput schema / properties / status / description
        Previous value: -"``draft`` or ``scheduled``."New value: +"``draft``, ``scheduled`` or ``sent`` (a post already on X)."
      • changedInput schema / properties / title / description
        Previous value: -"Optional human label for the post; the list falls back to the\nfirst body line when it is blank."New value: +"Optional human label for the post (up to 200 characters); the\nlist falls back to the first body line when it is blank."
      • addedInput schema / properties / tweet_url / description
        Added value: +"URL of the tweet on X, for a post created already ``sent``."
    • Changedexcalibur_delete_conversation_query3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / query_id / description
        Added value: +"The saved query's UUID."
    • Changedexcalibur_delete_coupon2 fields changed
      • addedInput schema / properties / coupon_id / description
        Added value: +"The id of the coupon to delete (from list_coupons)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_delete_operator_credential1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Operator proof for this tool."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_delete_patron_credential1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_delete_post4 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • addedInput schema / properties / hard / description
        Added value: +"``true`` removes the row permanently; ``false`` archives it."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / post_id / description
        Added value: +"The post's UUID."
    • Changedexcalibur_delete_snippet3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / snippet_id / description
        Added value: +"The snippet's UUID."
    • Changedexcalibur_fetch_dynamic_block3 fields changed
      • addedInput schema / properties / claim_check / description
        Added value: +"The ``claim_check`` string ``resolve_dynamic_block`` returned."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_find_conversations7 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • addedInput schema / properties / max_posts / description
        Added value: +"Most posts to read from X, 10..300."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / query / description
        Added value: +"An ad-hoc X search clause, up to 438 characters, with no ``?``\noperator. Give this or ``query_id``."
      • addedInput schema / properties / query_id / description
        Added value: +"UUID of a saved query to run. Give this or ``query``."
      • addedInput schema / properties / safe_defaults / description
        Added value: +"``true`` appends ``-is:retweet -has:links -has:cashtags\nlang:en`` to an ad-hoc ``query``; a saved query uses its own setting."
      • addedInput schema / properties / weights / description
        Added value: +"Scoring overrides for this call, an object whose keys are any\nof ``need``, ``replies``, ``band``, ``spam``, ``reply``,\n``replies_min``, ``followers_min``, ``followers_max``,\n``decay_hours`` with integer values, laid over the saved query's\nweights or the defaults; null adds no overrides."
    • Changedexcalibur_forget_coupon3 fields changed
      • addedInput schema / properties / coupon_id / description
        Added value: +"The id of the redeemed coupon to remove (from\nlist_my_coupons)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_forget_credentials1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_get_nostr_profile1 field changed
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) whose profile to read."
    • Changedexcalibur_get_patron_credential_fields1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_get_patron_onboarding_status1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"A kind-27235 Nostr event signed by patron_npub for this tool."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_get_post3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / post_id / description
        Added value: +"The post's UUID, as returned by ``create_post`` or ``list_posts``."
    • Changedexcalibur_get_post_metrics2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_get_scheduler_log2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_get_snippet3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / snippet_id / description
        Added value: +"The snippet's UUID."
    • Changedexcalibur_get_voice2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_get_x_profile2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_harvest_metrics2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"The OPERATOR's npub (npub1...); this tool is operator-only."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_list_conversation_queries2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_list_conversations13 fields changed
      • addedInput schema / properties / date_field / description
        Added value: +"The date the bounds apply to: ``found`` or ``posted``."
      • addedInput schema / properties / date_from / description
        Added value: +"Lower bound on ``date_field`` — ``YYYY-MM-DD`` or an ISO-8601\ninstant; blank for none."
      • addedInput schema / properties / date_to / description
        Added value: +"Upper bound on ``date_field`` — ``YYYY-MM-DD`` or an ISO-8601\ninstant; blank for none."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • addedInput schema / properties / min_score / description
        Added value: +"Lowest score to include, 0..100."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / page / description
        Added value: +"0-indexed page number."
      • addedInput schema / properties / page_size / description
        Added value: +"Rows per page, 1..100."
      • addedInput schema / properties / query_id / description
        Added value: +"UUID of a saved query to narrow to, ``adhoc`` for leads from\nad-hoc searches, or blank for all."
      • addedInput schema / properties / search / description
        Added value: +"Case-insensitive regular expression over the post text or\nauthor handle; blank matches all."
      • addedInput schema / properties / sort_col / description
        Added value: +"Column to sort by: ``score``, ``found``, ``seen``, ``posted``,\n``replies`` or ``followers``."
      • addedInput schema / properties / sort_dir / description
        Added value: +"``asc`` or ``desc``."
      • addedInput schema / properties / status / description
        Added value: +"Comma-separated statuses from ``new``, ``seen``, ``engaged``,\n``dismissed``; blank for all."
    • Changedexcalibur_list_coupons1 field changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_list_my_coupons2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_list_posts14 fields changed
      • addedInput schema / properties / date_field / description
        Added value: +"The date the bounds apply to: ``created``, ``updated``,\n``scheduled`` or ``sent``."
      • addedInput schema / properties / date_from / description
        Added value: +"Lower bound on ``date_field`` — ``YYYY-MM-DD`` or an ISO-8601\ninstant; blank for none."
      • addedInput schema / properties / date_to / description
        Added value: +"Upper bound on ``date_field`` — ``YYYY-MM-DD`` (inclusive) or an\nISO-8601 instant (exclusive); blank for none."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / page / description
        Added value: +"0-indexed page number."
      • addedInput schema / properties / page_size / description
        Added value: +"Rows per page, 1..100."
      • addedInput schema / properties / search / description
        Added value: +"Case-insensitive regular expression matched against the post\ntext; blank matches all."
      • addedInput schema / properties / sent_hour / description
        Added value: +"Local wall-clock hour 0..23 of ``last_sent_at`` in\n``time_zone``; null for no filter."
      • addedInput schema / properties / sort_col / description
        Added value: +"Column to sort by: ``created``, ``updated``, ``status`` or\n``scheduled``."
      • addedInput schema / properties / sort_dir / description
        Added value: +"``asc`` or ``desc``."
      • addedInput schema / properties / status / description
        Added value: +"One status or a comma-separated set of ``draft``, ``scheduled``,\n``sent``, ``archived``; blank lists every status."
      • addedInput schema / properties / template_id / description
        Added value: +"UUID of a recurring post; keeps only the sent occurrences\nit fired. Blank for no filter."
      • addedInput schema / properties / time_zone / description
        Added value: +"IANA time zone (e.g. ``America/New_York``) for ``sent_hour``."
    • Changedexcalibur_list_snippets10 fields changed
      • addedInput schema / properties / date_field / description
        Added value: +"The date the bounds apply to: ``created`` or ``updated``."
      • addedInput schema / properties / date_from / description
        Added value: +"Lower bound on ``date_field`` — ``YYYY-MM-DD`` or an ISO-8601\ninstant; blank for none."
      • addedInput schema / properties / date_to / description
        Added value: +"Upper bound on ``date_field`` — ``YYYY-MM-DD`` (inclusive) or an\nISO-8601 instant; blank for none."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / page / description
        Added value: +"0-indexed page number."
      • addedInput schema / properties / page_size / description
        Added value: +"Rows per page, 1..200."
      • addedInput schema / properties / search / description
        Added value: +"Case-insensitive regular expression matched against the\nsnippet name or body; blank matches all."
      • addedInput schema / properties / sort_col / description
        Added value: +"Column to sort by: ``favorite``, ``created``, ``updated`` or\n``name``."
      • addedInput schema / properties / sort_dir / description
        Added value: +"``asc`` or ``desc``."
    • Changedexcalibur_mint_coupon1 field changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_oracle_lookup_member1 field changed
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) of the member to look up."
    • Changedexcalibur_post_nostr_message3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / message / description
        Previous value: -"The note text to publish."New value: +"The note text to publish. You (the proven npub) are recorded\nas its author."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your PROVEN Nostr public key (npub1...). You are recorded as the note's author."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_post_performance2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_post_performance_infographic2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_post_tweet2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_post_tweet_image2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_process_scheduled_posts2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"The OPERATOR's npub (npub1...); this tool is operator-only."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_purchase_credits1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_receive_credentials1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Required. The session phrase returned by\nrequest_credential_channel for this exact channel."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_receive_npub_proof1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Required. The dpop_token returned by request_npub_proof."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_redeem_coupon3 fields changed
      • addedInput schema / properties / code / description
        Added value: +"The coupon code the operator shared."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_refine_post_region2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_reply_to_conversation4 fields changed
      • addedInput schema / properties / conversation_id / description
        Added value: +"The lead's row UUID (``id`` from ``list_conversations``)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / text / description
        Added value: +"Your reply, 1..280 characters, with optional markdown inline\nformatting."
    • Changedexcalibur_report_issue1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_request_adoption1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"operator-npub ownership proof (inline kind-27235 or cached token)."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_reset_pricing_model1 field changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_resolve_dynamic_block2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_restore_credits1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"A kind-27235 Nostr event signed by the OPERATOR's nsec\nfor this tool. Patron proofs are rejected."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_restore_neon_schema1 field changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
    • Changedexcalibur_save_conversation_query7 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • addedInput schema / properties / name / description
        Added value: +"The query's name, up to 120 characters and unique among your\nqueries. Required on create; blank on update keeps it."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / query / description
        Added value: +"The X search clause, up to 438 characters, with no ``?``\noperator. Required on create; blank on update keeps it."
      • addedInput schema / properties / query_id / description
        Added value: +"UUID of the query to update; blank creates a new one."
      • addedInput schema / properties / safe_defaults / description
        Added value: +"``true`` appends X's safe-default filters when the query\nruns; null keeps the current value (and means ``true`` on create)."
      • addedInput schema / properties / weights / description
        Added value: +"Scoring overrides to store, an object whose keys are any of\n``need``, ``replies``, ``band``, ``spam``, ``reply``,\n``replies_min``, ``followers_min``, ``followers_max``,\n``decay_hours`` with integer values; null keeps the current ones."
    • Changedexcalibur_save_snippet7 fields changed
      • addedInput schema / properties / doc / description
        Added value: +"The block/flag document (same shape as a post's ``doc``), or null."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • addedInput schema / properties / favorite / description
        Added value: +"``true`` pins it as a one-click chiclet; null keeps the\ncurrent value on update (and means ``false`` on create)."
      • addedInput schema / properties / name / description
        Added value: +"The snippet's label, up to 120 characters. Required on create;\nblank on update keeps the current name."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / snippet_id / description
        Added value: +"UUID of the snippet to update; blank creates a new one."
      • addedInput schema / properties / text / description
        Added value: +"The snippet body, up to 8000 characters. Required on create;\nblank on update keeps the current body."
    • Changedexcalibur_save_voice4 fields changed
      • addedInput schema / properties / bans / description
        Added value: +"Up to 200 ``{\"text\": str, \"on\": bool}`` objects, each ``text`` up\nto 200 characters; null saves an empty list."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / profile / description
        Added value: +"Free-text description of your writing voice, up to 4000\ncharacters."
    • Changedexcalibur_scheduler_check_now2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_scheduler_pending2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"The OPERATOR's npub (npub1...); this tool is operator-only."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_scheduler_reissue2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"The OPERATOR's npub (npub1...); this tool is operator-only."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_scheduler_status2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Your npub (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
    • Changedexcalibur_set_conversation_status4 fields changed
      • addedInput schema / properties / conversation_id / description
        Added value: +"The lead's row UUID (``id`` from ``list_conversations``)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...)."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / status / description
        Added value: +"One of ``new``, ``seen``, ``engaged``, ``dismissed``."
    • Changedexcalibur_set_pricing_model2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
      • addedInput schema / properties / model_json / description
        Added value: +"The complete pricing model as a JSON object; it\nreplaces the active model."
    • Changedexcalibur_update_coupon11 fields changed
      • addedInput schema / properties / clear_total_uses / description
        Added value: +"True makes total redemptions unlimited."
      • addedInput schema / properties / clear_uses_per_patron / description
        Added value: +"True makes discounted calls per patron unlimited."
      • addedInput schema / properties / coupon_id / description
        Added value: +"The id of the coupon to change (from list_coupons)."
      • addedInput schema / properties / discount_percent / description
        Added value: +"A new percentage off the base price (0-100)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds the operator's npub: the grant\nenvelope from receive_npub_proof, or the raw JSON of a kind-27235\nNostr event signed by the operator whose `u` tag is this tool's name."
      • addedInput schema / properties / name / description
        Added value: +"A new code for patrons to type."
      • addedInput schema / properties / tool_ids / description
        Added value: +"The tools the coupon discounts: tool ids or MCP tool names,\n[\"*\"] for every paid tool, [] to unbind it."
      • addedInput schema / properties / total_uses / description
        Added value: +"A new number of redemptions across all patrons."
      • addedInput schema / properties / uses_per_patron / description
        Added value: +"A new number of discounted calls per patron."
      • addedInput schema / properties / valid_from / description
        Added value: +"A new ISO-8601 datetime when the coupon becomes active."
      • addedInput schema / properties / valid_until / description
        Added value: +"A new ISO-8601 datetime when the coupon expires."
    • Changedexcalibur_update_operator_credential1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Operator proof for this tool."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_update_patron_credential1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."New value: +"Proof that the caller holds npub: the grant envelope from\nreceive_npub_proof, or the raw JSON of a kind-27235 Nostr event signed\nby npub whose `u` tag is this tool's name."
    • Changedexcalibur_update_post6 fields changed
      • addedInput schema / properties / client_req_id / description
        Added value: +"Idempotency key for this edit; resending the last applied\nid changes nothing and charges nothing."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Proof that the caller holds npub. Either the grant envelope that receive_npub_proof returned, or the raw JSON of a kind-27235 Nostr event signed by npub: content \"\", a `u` tag holding this tool's exact name from tools/list, created_at within 60 s of now, and a random `nonce` tag."
      • changedInput schema / properties / npub / description
        Previous value: -"Required. Your Nostr public key (npub1...) for credit billing."New value: +"The patron's Nostr public key (npub1...). Tool fees are paid from this patron's balance; dpop_token proves the caller holds it."
      • addedInput schema / properties / patch / description
        Added value: +"Object of the fields to change, any of ``doc``, ``publish_at``,\n``recurrence``, ``cease_at``, ``status`` (``draft``, ``scheduled``,\n``archived``, ``sent``), ``tweet_url``, ``title``. Each value has\nthe same shape ``create_post`` takes."
      • addedInput schema / properties / post_id / description
        Added value: +"The post's UUID."
      • addedInput schema / properties / text_cache / description
        Added value: +"Composed text (blocks joined) to store with a ``doc``\nchange; blank leaves the stored text as it is."
  2. 1 tool update
    • Addedexcalibur_request_echo
  3. 2 tool updates
    • Changedexcalibur_mint_coupon1 field changed
      • addedInput schema / properties / tool_ids
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "The tools this coupon discounts — tool ids or MCP\ntool names, or ``[\"*\"]`` for every tool priced above zero."
        +}
    • Changedexcalibur_update_coupon1 field changed
      • addedInput schema / properties / tool_ids
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
  4. 1 tool update
    • Addedexcalibur_reply_to_conversation
  5. 6 tool updates
    • Addedexcalibur_delete_conversation_query
    • Addedexcalibur_find_conversations
    • Addedexcalibur_list_conversation_queries
    • Addedexcalibur_list_conversations
    • Addedexcalibur_save_conversation_query
    • Addedexcalibur_set_conversation_status
  6. 1 tool update
    • Changedexcalibur_check_proof_status1 field changed
      • changedInput schema / properties / dpop_token / description
        Previous value: -"Required. The dpop_token phrase returned by\n``request_npub_proof`` / ``receive_npub_proof``."New value: +"Required. The grant envelope returned by\n``receive_npub_proof``."
  7. 1 tool update
    • Addedexcalibur_scheduler_reissue
  8. 1 tool update
    • Changedexcalibur_scheduler_check_now1 field changed
      • changedInput schema / properties / npub / description
        Previous value: -"The OPERATOR's npub (npub1...); this tool is operator-only."New value: +"Your npub (npub1...)."
  9. 1 tool update
    • Changedexcalibur_list_posts2 fields changed
      • addedInput schema / properties / sent_hour
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedInput schema / properties / time_zone
        Added value: +{
        +  "default": "",
        +  "type": "string"
        +}
  10. 34 tool updates
    • Changedexcalibur_account_statement3 fields changed
      • addedInput schema / properties / days / description
        Added value: +"Number of days of daily usage history to include (default 30)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_account_statement_infographic3 fields changed
      • addedInput schema / properties / days / description
        Added value: +"Number of days of daily usage history to include (default 30)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) whose statement to render."
    • Changedexcalibur_begin_oauth2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing.\nIts `u` tag must hold THIS tool's exact name (from\ntools/list), not the endpoint URL; content:\"\", created_at\nwithin 60s of now, and a random `nonce` tag recommended. Or a\ncached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"Your DPYC patron npub (npub1...)."
    • Changedexcalibur_check_balance2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) whose balance to check."
    • Changedexcalibur_check_oauth_status2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing.\nIts `u` tag must hold THIS tool's exact name (from\ntools/list), not the endpoint URL; content:\"\", created_at\nwithin 60s of now, and a random `nonce` tag recommended. Or a\ncached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The same Nostr public key (npub1...) used in begin_oauth."
    • Changedexcalibur_check_payment3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / invoice_id / description
        Added value: +"The invoice ID returned by purchase_credits."
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) that purchased the invoice."
    • Changedexcalibur_check_price2 fields changed
      • addedInput schema / properties / tool_id / description
        Added value: +"Either the tool's UUID (from the pricing model) or a\nbare capability string (e.g. ``\"deal_scenario\"``). FE\ncallers usually have the capability name; this resolves\nboth so the FE doesn't need to derive UUIDs locally."
      • addedInput schema / properties / tool_kwargs / description
        Added value: +"Optional JSON object with tool call parameters\nfor ad valorem / categorical-multiplier pricing preview\n(e.g. '{\"amount_sats\": 5000}' or\n'{\"difficulty\": \"sovereign\", \"mode\": \"live\"}')."
    • Changedexcalibur_check_proof_status2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Required. The dpop_token phrase returned by\n``request_npub_proof`` / ``receive_npub_proof``."
      • addedInput schema / properties / patron_npub / description
        Added value: +"Required. The patron's npub (npub1...)."
    • Changedexcalibur_create_post8 fields changed
      • addedInput schema / properties / cease_at / description
        Added value: +"ISO-8601 stop time for recurrence; null = open-ended."
      • addedInput schema / properties / client_req_id / description
        Added value: +"Idempotency key — re-sending the same id returns the same\npost without a second charge."
      • addedInput schema / properties / doc / description
        Added value: +"The editable Doc — a JSON object whose consumed key is ``blocks``,\na list of block objects. A minimal static post is one block:\n``{\"blocks\": [{\"text\": \"gm. stack sats.\", \"flags\": []}]}``. Blocks\nare joined with a blank line between them to form ``text_cache``.\nEach block:\n  - ``text`` (str): the block's copy (for a dynamic block, a prompt).\n  - ``flags`` (list): editor highlight regions, each\n    ``{\"start\": int, \"end\": int, \"note\": str, \"colorIdx\": int}``\n    (char offsets into ``text``) — pass ``[]`` when there are none.\n  - ``dynamic`` (bool, optional): when true ``text`` is a prompt the\n    server resolves with an LLM at post time; ``fallback`` (str) is\n    posted if it fails, and ``domains``/``maxFetches``/``runtimeLimit``\n    bound its web access.\nVoice/bans live in your separate Voice profile and the schedule in\n``publish_at``/``recurrence``/``cease_at`` — neither belongs in ``doc``."
      • addedInput schema / properties / publish_at / description
        Added value: +"ISO-8601 first/next publish time; required when status='scheduled'."
      • addedInput schema / properties / recurrence / description
        Added value: +"``{\"freq\": \"daily|weekly|monthly\", \"interval\": n}`` or null."
      • addedInput schema / properties / status / description
        Added value: +"``draft`` or ``scheduled``."
      • addedInput schema / properties / text_cache / description
        Added value: +"Composed text (blocks joined) for scheduler + list excerpts."
      • addedInput schema / properties / title / description
        Added value: +"Optional human label for the post; the list falls back to the\nfirst body line when it is blank."
    • Addedexcalibur_delete_operator_credential
    • Changedexcalibur_delete_patron_credential3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / field / description
        Added value: +"The credential field name to remove."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_forget_credentials3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) whose credentials to forget."
      • addedInput schema / properties / service / description
        Added value: +"The credential service to forget."
    • Changedexcalibur_get_notarization_proof2 fields changed
      • addedInput schema / properties / notarization_id / description
        Added value: +"The notarization record ID."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_get_patron_credential_fields2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_get_patron_onboarding_status2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"A kind-27235 Nostr event signed by patron_npub for this tool."
      • addedInput schema / properties / patron_npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
    • Changedexcalibur_list_notarizations2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum records to return (default 20)."
      • addedInput schema / properties / status / description
        Added value: +"Optional filter (e.g., 'submitted', 'confirmed')."
    • Changedexcalibur_mint_coupon6 fields changed
      • addedInput schema / properties / discount_percent / description
        Added value: +"Percentage off the base price (0-100)."
      • addedInput schema / properties / name / description
        Added value: +"The catchy code patrons type to redeem\n(operator-scoped uniqueness)."
      • addedInput schema / properties / total_uses / description
        Added value: +"Aggregate cap across all patrons (default None =\nunlimited)."
      • addedInput schema / properties / uses_per_patron / description
        Added value: +"How many tool calls one patron can claim the\ndiscount on (default 1; pass null/None for unlimited\nwithin the window)."
      • addedInput schema / properties / valid_from / description
        Added value: +"ISO-8601 datetime when the coupon becomes active."
      • addedInput schema / properties / valid_until / description
        Added value: +"ISO-8601 datetime when the coupon expires."
    • Changedexcalibur_post_nostr_message1 field changed
      • addedInput schema / properties / message / description
        Added value: +"The note text to publish."
    • Changedexcalibur_post_tweet1 field changed
      • addedInput schema / properties / text / description
        Added value: +"Tweet content with optional markdown formatting."
    • Changedexcalibur_post_tweet_image3 fields changed
      • addedInput schema / properties / banner_svg / description
        Added value: +"Self-contained SVG markup string, converted to PNG."
      • addedInput schema / properties / image_url / description
        Added value: +"URL of an image to attach to the tweet."
      • addedInput schema / properties / text / description
        Added value: +"Tweet content with optional markdown formatting."
    • Changedexcalibur_publish_nostr_profile2 fields changed
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key the event must be signed by."
      • addedInput schema / properties / signed_event / description
        Added value: +"A JSON-encoded, client-signed kind-0 event."
    • Changedexcalibur_purchase_credits3 fields changed
      • addedInput schema / properties / amount_sats / description
        Added value: +"Satoshis to purchase (default 1000)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"The Nostr public key (npub1...) the credits will fund."
    • Changedexcalibur_receive_credentials4 fields changed
      • addedInput schema / properties / credential_card / description
        Added value: +"Optional. An ncred1... card to redeem directly\n(bypasses the relay drain; dpop_token not needed)."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Required. The session phrase returned by\nrequest_credential_channel for this exact channel."
      • addedInput schema / properties / sender_npub / description
        Added value: +"Required. The npub that sent the credentials."
      • addedInput schema / properties / service / description
        Added value: +"Required. The credential service name (must match\nthe service used in request_credential_channel)."
    • Changedexcalibur_receive_npub_proof2 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Required. The dpop_token returned by request_npub_proof."
      • addedInput schema / properties / patron_npub / description
        Added value: +"Required. The patron's npub to receive proof from."
    • Changedexcalibur_refine_post_region5 fields changed
      • addedInput schema / properties / bans / description
        Added value: +"Banned constructions — JSON array or comma-separated (optional)."
      • addedInput schema / properties / full_text / description
        Added value: +"The whole tweet, for context."
      • addedInput schema / properties / instruction / description
        Added value: +"What the editor wants changed (optional)."
      • addedInput schema / properties / region / description
        Added value: +"The flagged span to rewrite."
      • addedInput schema / properties / voice / description
        Added value: +"Voice-profile text fed to the model (optional)."
    • Changedexcalibur_report_issue5 fields changed
      • addedInput schema / properties / body / description
        Added value: +"The details — which tool, what was wrong, what you expected."
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / npub / description
        Added value: +"Your Nostr public key (npub1...); the report's author of record."
      • addedInput schema / properties / title / description
        Added value: +"One-line summary of the problem."
      • addedInput schema / properties / tool_name / description
        Added value: +"Optional: the specific tool the report is about\n(e.g. \"schwab_get_option_chain\")."
    • Changedexcalibur_request_adoption4 fields changed
      • addedInput schema / properties / authority_npub / description
        Added value: +"npub of the Authority to request adoption from."
      • addedInput schema / properties / dpop_token / description
        Added value: +"operator-npub ownership proof (inline kind-27235 or cached token)."
      • addedInput schema / properties / note / description
        Added value: +"optional message for the Authority owner."
      • addedInput schema / properties / service_url / description
        Added value: +"this operator's MCP endpoint (advertised to the Authority)."
    • Changedexcalibur_request_credential_channel2 fields changed
      • addedInput schema / properties / sender_npub / description
        Added value: +"Required. The npub to send the template to."
      • addedInput schema / properties / service / description
        Added value: +"Required. The credential service name (e.g.,\nfrom get_operator_onboarding_status or get_patron_onboarding_status)."
    • Changedexcalibur_request_npub_proof3 fields changed
      • addedInput schema / properties / patron_npub / description
        Added value: +"Required. The patron's npub to request proof from."
      • addedInput schema / properties / reason / description
        Added value: +"Optional. A human-readable purpose for the request\n(\"I'm working on your request XYZ and need the Operator to do\nABC for you\"). Signed into the provenance attestation and shown\nin the DM, so the recipient sees *why* they are being asked —\nespecially useful when the signer is unknown to them."
      • addedInput schema / properties / verify_at / description
        Added value: +"Optional. A free-form statement of WHERE you (the\ninitiating agent) already showed this proof's one-time code to\nthe user — a URL, or \"your Claude.ai conversation\", \"the Grok\nsession\". The OAuth 2.0 Device Grant ``verification_uri``,\ngeneralized: the user approves only if the code in the DM matches\nthe one you displayed there, so an unsolicited request they've\nnever seen is refused. Signed into the attestation."
    • Changedexcalibur_resolve_dynamic_block6 fields changed
      • addedInput schema / properties / allowed_domains / description
        Added value: +"Author allowlist for web_fetch — JSON array or\ncomma-separated. Blank = fetch any URL the prompt references."
      • addedInput schema / properties / bans / description
        Added value: +"Banned constructions — JSON array or comma-separated (optional)."
      • addedInput schema / properties / context / description
        Added value: +"The surrounding composed post (may contain the ⟨HERE⟩ marker)."
      • addedInput schema / properties / max_fetches / description
        Added value: +"Author budget for web lookups (search + fetch), 1..25."
      • addedInput schema / properties / prompt / description
        Added value: +"The dynamic block's prompt to run."
      • addedInput schema / properties / voice / description
        Added value: +"Voice-profile text fed to the model (optional)."
    • Changedexcalibur_restore_credits3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"A kind-27235 Nostr event signed by the OPERATOR's nsec\nfor this tool. Patron proofs are rejected."
      • addedInput schema / properties / invoice_id / description
        Added value: +"The BTCPay invoice ID to verify and credit."
      • addedInput schema / properties / patron_npub / description
        Added value: +"The patron's npub whose ledger receives the grant."
    • Changedexcalibur_session_status1 field changed
      • addedInput schema / properties / patron_npub / description
        Added value: +"Optional. If supplied, the response includes an\n``upstream_oauth`` block with the patron's stored OAuth\ntoken expiry (runtime-derived from vault state) so a\nclient can refresh proactively rather than reactively\nafter a stale-token failure."
    • Changedexcalibur_update_operator_credential3 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Operator proof for this tool."
      • addedInput schema / properties / field / description
        Added value: +"The operator credential field to set. Must be declared\nin the operator's credential template."
      • addedInput schema / properties / value / description
        Added value: +"The value to store."
    • Changedexcalibur_update_patron_credential4 fields changed
      • addedInput schema / properties / dpop_token / description
        Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
      • addedInput schema / properties / field / description
        Added value: +"The credential field name to set."
      • addedInput schema / properties / npub / description
        Added value: +"The patron's Nostr public key (npub1...)."
      • addedInput schema / properties / value / description
        Added value: +"The value to store."
  11. 1 tool update
    • Addedexcalibur_update_operator_credential
  12. 1 tool update
    • Changedexcalibur_resolve_dynamic_block1 field changed
      • changedInput schema / properties / runtime_limit_seconds / description
        Previous value: -"Author's time budget for this block in seconds (60–900). Bounds how long the job may run AND sets the poll cadence; the operator may price it ad valorem."New value: +"Author's time budget for this block in seconds (60–1800). Bounds how long the job may run AND sets the poll cadence; the operator may price it ad valorem."
  13. 4 tool updates
    • Addedexcalibur_get_post_metrics
    • Addedexcalibur_harvest_metrics
    • Addedexcalibur_post_performance
    • Addedexcalibur_post_performance_infographic

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A minimal MCP server for posting tweets to X (Twitter) via API v2, supporting tweet creation, replies, and quote tweets.
    1
    8 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server to read X (Twitter) posts, threads, replies, quotes, and search using your own logged-in session, no API key required.
    8
    51 PyPI
    3
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for interacting with the X platform (Twitter) via MCP clients like Claude, Cursor AI, and Windsurf AI.
    20
    1 npm
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.