mcpserver.lol
registry/excalibur-mcp
Connection check verified live · 27h ago

excalibur-mcp

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

Tools 78
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 27h ago

Tools & capabilities

78 tools

Read from the running server on 27h ago.

excalibur_account_statement daysnpub*dpop_token*
Generate a patron's account statement at this operator. Returns the patron's purchase history, active credit tranches, per-tool usage breakdown, and recent daily usage logs. This…
excalibur_account_statement_infographic daysnpub*dpop_token*
Generate a visual SVG infographic of your account statement. Returns the same data as account_statement, rendered as a dark-themed SVG graphic with balance hero, metrics cards, he…
excalibur_adoption_status dpop_tokenauthority_npub*
Check this operator's adoption-request status at a chosen Authority. Free. Polls the Authority MCP-to-MCP for the status of this operator's request (pending / approved / rejected…
excalibur_begin_oauth npub*dpop_token*
Start the OAuth2 authorization flow. Returns an authorization URL. Open it in a browser to log in and authorize. Then call ``check_oauth_status`` with the same npub to complete. F…
excalibur_check_authority_balance
Check this operator's tax balance at the Authority. Returns the sats available for certifying patron credit purchases. When this balance reaches zero, patron top-ups cannot be cer…
excalibur_check_balance npub*dpop_token*
Check a patron's credit balance at this operator. This is the patron's spending balance — credits purchased via Lightning for tool calls at this operator. For the operator's own b…
excalibur_check_oauth_status npub*dpop_token*
Check whether the OAuth2 authorization flow has completed. Call after opening the authorization URL from ``begin_oauth`` and completing the login in your browser. Free. Proof of n…
excalibur_check_payment npub*dpop_token*invoice_id*
Check the payment status of a Lightning invoice. Call after paying the invoice from purchase_credits. Free — no credits required. Proof of npub ownership is required to prevent cr…
excalibur_check_price npubtool_id*dpop_tokentool_kwargs
Preview the effective cost of a tool call. Shows the base cost and any constraint effects (discounts, free trials, surge pricing). Free — no credits required.
excalibur_check_proof_status dpop_tokenpatron_npub
Check whether a previously-cached dpop_token is still valid. Mirrors ``check_oauth_status`` for the npub-proof flow: a calling agent can ask "will my next paid call accept this dp…
excalibur_create_post doc*npubtitlestatuscease_attweet_url +5
Store a new post (draft or scheduled). Returns its ``post_id``.
excalibur_delete_coupon coupon_id*dpop_token
Delete a coupon. Cascades to all patron redemptions. Any chain step referencing the deleted coupon_id becomes a no-op (the constraint returns neutral on unknown ids) — the Studio…
excalibur_delete_operator_credential field*dpop_token*
Remove a single operator secret field. Deletes one key from the operator's encrypted credential blob without touching the others — the field-level counterpart to ``forget_credenti…
excalibur_delete_patron_credential npub*field*dpop_token*
Remove a single patron credential field. Deletes one field from stored credentials without affecting other fields. Free. Proof of npub ownership is required — this is a write to t…
excalibur_delete_post hardnpubpost_id*dpop_token
Delete a stored post. Default is a soft delete (``status='archived'``); pass ``hard=True`` to remove the row permanently.
excalibur_delete_snippet npubdpop_tokensnippet_id*
Delete one of your saved snippets by id. Free and owner-scoped.
excalibur_fetch_dynamic_block npubdpop_tokenclaim_check*
Redeem a ``resolve_dynamic_block`` claim check (free, proof-gated). Poll this with the ``claim_check`` from ``resolve_dynamic_block`` until ``status == "done"`` (the resolved frag…
excalibur_forget_coupon npub*coupon_id*dpop_token
Remove a coupon from this patron's redemption list. Cosmetic only — the coupon itself still exists at the operator, and the patron can re-redeem the same code later while the wind…
excalibur_forget_credentials npub*service*dpop_token*
Delete vaulted credentials for a specific service and npub. For operator credentials, pass the operator's own npub. For patron credentials, pass the patron's npub. Always requires…
excalibur_get_nostr_profile npub
Read an npub's public Nostr profile (NIP-01 kind-0 metadata). Free, no proof — the data is already public on relays. Returns the latest metadata fields (name, display_name, about,…
excalibur_get_notarization_proof npub*notarization_id*
Generate a Merkle inclusion proof that a patron's balance was included in a Bitcoin-notarized snapshot.
excalibur_get_operator_onboarding_status
Report this operator's configuration readiness. Shows which operator settings are configured, which are missing, and how to deliver each missing value. For patron-level credential…
excalibur_get_patron_credential_fields npub*dpop_token*
List stored patron credential field names (not values). Returns the names of fields stored for a patron, plus each field's ``delivered_at`` ISO-8601 timestamp when known (null for…
excalibur_get_patron_onboarding_status dpop_token*patron_npub*
Report a patron's credential readiness for this operator. For set-once services (eXcalibur, TheBrain), shows which patron secrets are configured and which are missing. For dynamic…
excalibur_get_post npubpost_id*dpop_token
Read one stored post by id (owner-scoped).
excalibur_get_post_metrics npubpost_id*dpop_token
Patron: raw metrics snapshot series for one owned post. Returns the append-only ``post_metrics_snapshot`` rows (impressions, likes, clicks, cadence_key, t_offset, link_placement,…
excalibur_get_pricing_model
Get the active pricing model for this operator. Free. If no model exists, self-initializes a scaffold with all registered tools at 0 sats. No economic data from code.
excalibur_get_scheduler_log npublimitdpop_token
Read recent scheduler-tick outcomes. Each ``process_scheduled_posts`` run — fired by the Cloudflare cron Worker or a manual trigger — records its summary. This surfaces them so th…
excalibur_get_snippet npubdpop_tokensnippet_id*
Read one of your saved snippets by id (full row incl. ``doc`` block document). Free and owner-scoped. Returns ``{"success": true, "snippet": …}`` or ``snippet_not_found``.
excalibur_get_voice npubdpop_token
Read your saved writing Voice — a profile blurb plus a list of "banned construction" chips (``{text, on}``) the editor passes to ``refine_post_region``. Owner-scoped; priced by the…
excalibur_get_x_profile npubdpop_token
Fetch the connected X account's handle and name for this patron (free). Uses the patron's vaulted X OAuth token to call X's ``/users/me``. Returns ``{connected: true, username, na…
excalibur_harvest_metrics npubdpop_tokenrequeue_dead_id
Operator-only: one cadence-aware metrics harvest sweep. Drains due ``metrics_harvest_job`` rows (t+15m … t+28d), fetches X ``non_public_metrics`` / ``organic_metrics`` under each…
excalibur_list_canonical_identities
Return canonical (tool_id, mcp_name, …) for every tool the wheel exposes. The authoritative source for any client (Studio, agents, FE) that needs to know how this MCP identifies i…
excalibur_list_constraint_types
List all available constraint types and their parameter schemas. Returns the type, category, description, and parameter specs for every constraint that can be used in a pricing pi…
excalibur_list_coupons dpop_token
List every coupon this operator has minted (newest first). Each row carries the current ``times_redeemed`` counter — the Studio renders a progress bar from this against ``total_us…
excalibur_list_my_coupons npub*dpop_token
List the coupons this patron has redeemed on this operator. Returns both active and exhausted redemptions with a per-row ``status`` (``active`` / ``window_closed`` / ``patron_limi…
excalibur_list_notarizations limitstatus
List recent Bitcoin notarization records.
excalibur_list_posts npubpagesearchstatusdate_tosort_col +8
List your stored posts, server-side sorted, filtered, and offset-paginated. Optional ``status`` filter — a single status or a comma-separated set (e.g. ``draft,scheduled``), match…
excalibur_list_snippets npubpagesearchdate_tosort_colsort_dir +4
List your saved post snippets, server-side sorted, filtered, and offset-paginated. ``sort_col`` is one of ``favorite|created|updated|name`` (default ``favorite``); ``sort_dir`` is…
excalibur_mint_coupon name*dpop_tokentotal_usesvalid_from*valid_until*uses_per_patron +1
Create a new operator-owned discount coupon.
excalibur_notarize_ledger
Build a Merkle tree of all patron balances and submit the root to Bitcoin via OpenTimestamps. Operator-only background task. Bitcoin confirmation takes 1-6 hours. Free — no credit…
excalibur_oracle_about
Describe the DPYC ecosystem via the Oracle. Free.
excalibur_oracle_get_tax_rate
Get the current DPYC certification tax rate. Free.
excalibur_oracle_how_to_join
Get DPYC onboarding instructions from the Oracle. Free.
excalibur_oracle_lookup_member npub*
Look up a DPYC community member by npub. Free.
excalibur_oracle_network_advisory
Get active network advisories from the Oracle. Free.
excalibur_post_nostr_message npubmessage*dpop_token
Publish a public Nostr note (kind 1) authored by your proven npub. eXcalibur cannot sign a note *as* you — a Nostr event must be signed by the key it claims to come from, and eXca…
excalibur_post_performance npubdpop_token
Patron: derived reach scores across your harvested post corpus. Computes escape velocity (t+15m vs rolling median), breakout ratio (final reach ÷ rolling-median final reach; suppr…
excalibur_post_performance_infographic npubdpop_token
Patron: SVG infographic of post performance (gold-steel theme). Mirrors ``account_statement_infographic`` — a dark-themed SVG of corpus size, median t+15m impressions, top posts,…
excalibur_post_tweet npubtext*dpop_token
Post a text tweet with markdown formatting converted to Unicode rich text. Accepts standard markdown inline formatting and converts it to Unicode Mathematical Alphanumeric Symbols…
excalibur_post_tweet_image npubtext*image_urlbanner_svgdpop_token
Post a tweet with a hero banner image to X/Twitter. Provide either an image_url (fetched and attached) or banner_svg (rendered to PNG and attached). Text supports the same markdow…
excalibur_process_scheduled_posts npubdpop_token
Launch a publisher for every due post (operator-only). Selects ``scheduled`` posts whose ``publish_at`` has arrived, claims each atomically, and starts one background publisher pe…
excalibur_publish_nostr_profile npubsigned_event
Publish a CLIENT-SIGNED kind-0 profile to relays for an npub. The wheel never holds a patron nsec. The frontend signs the kind-0 metadata event with the patron's session key or a…
excalibur_purchase_credits npub*dpop_token*amount_sats
Buy credits via Bitcoin Lightning. Creates a Lightning invoice. Pay it with any Lightning wallet, then call check_payment to confirm. Proof of npub ownership is required so credit…
excalibur_receive_credentials servicedpop_tokensender_npubcredential_card
Pick up credentials from the Secure Courier. Completes the CREDENTIAL-DELIVERY flow (the ownership-proof counterpart is ``receive_npub_proof``). **Call this only after the user c…
excalibur_receive_npub_proof dpop_tokenpatron_npub
Receive npub ownership confirmation from a patron. Completes the npub-OWNERSHIP-PROOF flow (the credential-delivery counterpart is ``receive_credentials``). **Call this only afte…
excalibur_redeem_coupon code*npub*dpop_token
Claim a coupon by its name (the code the operator shared). Looks up the operator's coupon by ``code``, validates the window and total cap, and records a per-patron redemption row.…
excalibur_refine_post_region bansnpubvoiceregion*full_textdpop_token +1
Refine a flagged region of a post with an LLM — server-side. The operator's LLM key stays in the vault and never leaves the server. Send the flagged ``region``, the surrounding ``…
excalibur_report_issue body*npub*title*tool_namedpop_token*
File a field report about this service as a GitHub issue on the operator's repo. Found a tool's metadata or response wrong or confusing? Report it where the tool lives. The **auth…
excalibur_request_adoption notedpop_tokenservice_urlauthority_npub*
Ask a chosen Authority to adopt this operator (deferred courtship). RESTRICTED to the operator — requires proof the caller controls this operator's npub. Resolves the Authority's…
excalibur_request_credential_channel servicesender_npub
Open a Secure Courier channel for credential delivery. This is the CREDENTIAL-DELIVERY flow — use it to hand over a service secret (API keys, tokens). To merely prove you control…
excalibur_request_npub_proof reasonverify_atpatron_npub
Request npub ownership proof from a patron via Nostr DM. This is the npub-OWNERSHIP-PROOF flow — use it when a call returns ``proof_required``. It proves the caller controls an np…
excalibur_reset_pricing_model dpop_token
Erase all pricing models and restore a viable default. Deletes every stored model, then self-initializes a fresh one from the tool registry — all tools at 0 sats with proper UUIDs…
excalibur_resolve_dynamic_block bansnpubvoiceprompt*contextdpop_token +3
Start resolving a dynamic post block with an LLM — returns a CLAIM CHECK. A dynamic block's ``prompt`` is run by the model (with web search + web fetch for live data) and woven in…
excalibur_restore_credits dpop_token*invoice_id*patron_npub*
Credit a patron's ledger from a BTCPay-settled invoice. **RESTRICTED to the operator** — the operator owns the books and is the only party who can issue a manual credit grant. Pat…
excalibur_restore_neon_schema dpop_token
Re-run ``ensure_schema()`` on every NeonVault this operator uses. Diagnostic / recovery tool for the case where the Neon HTTP SQL API is returning persistent 4xx errors and the op…
excalibur_save_snippet docnamenpubtextfavoritedpop_token +1
Save a reusable post snippet (opening/footer/CTA). Omit ``snippet_id`` to create a new one; pass it to update an existing snippet in place (name/text/ favorite/doc). On update only…
excalibur_save_voice bansnpubprofiledpop_token
Save your writing Voice (replaces the previous one — it is a per-npub singleton). ``profile`` is free text. ``bans`` is a list of ``{text, on}`` objects: ``text`` is the constructi…
excalibur_scheduler_check_now npubdpop_token
Ask the scheduler to run one tick now (free; any proven patron). Pokes the Worker's ``/tick`` — the same work the ~30-minute cron does: it claims a pending proof reply (completing…
excalibur_scheduler_pending npubdpop_token
What is the scheduled-post cron Worker waiting on? (operator-only). When the Worker's authorization lapses it DMs the operator a challenge phrase and parks. This returns that pend…
excalibur_scheduler_status npubdpop_token
The scheduler's configuration and current status (free; any proven patron). Relays the cron Worker's public ``/status`` — cadence, version, renewal window, and current authorizati…
excalibur_service_status
Check the health and configuration of this service. Free.
excalibur_session_status patron_npub
Check operator readiness. Returns the operator lifecycle state and clear guidance on what to do next. Free. Lifecycle states: - ready: Operator is warm and fully operational — vau…
excalibur_set_pricing_model dpop_tokenmodel_json*
Set the active pricing model. RESTRICTED to operator. Requires a valid proof (Schnorr-signed kind-27235 event) proving the caller holds the operator's nsec.
excalibur_update_coupon namecoupon_id*dpop_tokentotal_usesvalid_fromvalid_until +4
Patch a coupon's editable fields. Pass only the fields you want to change. To set a cap to unlimited (NULL in the schema), pass ``clear_uses_per_patron=true`` or ``clear_total_us…
excalibur_update_operator_credential field*value*dpop_token*
Add or update a single operator secret field. Merges into the operator's stored credentials without touching the others — the field-level counterpart to re-delivering the whole bu…
excalibur_update_patron_credential npub*field*value*dpop_token*
Add or update a single patron credential field. Merges into existing stored credentials without affecting other fields. Useful for setting an account identifier after OAuth, chang…
excalibur_update_post npubpatch*post_id*dpop_tokentext_cacheclient_req_id
Patch a stored post. ``patch`` may set ``doc, publish_at, recurrence, cease_at, status`` (omit a field to leave it unchanged). ``text_cache`` is written when supplied (alongside a…