프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Excalibur MCP

제작자: lonniev버전 0.43.0i★ –i클라우드에서 실행
레지스트리 이름io.github.lonniev/excalibur-mcp

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 클라우드에서 실행
  • 전송 방식: Streamable HTTP
  • 카테고리: 마케팅 및 소셜 미디어

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 3개 중 3개 통과
  • 제작자의 서버에서 실행돼요. 내가 요청한 내용은 제작자의 서버를 거쳐요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:

  1. Settings → Connectors 열기
  2. Add custom connector 누르기
  3. 아래 주소를 붙여 넣고 Add 누르기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Add2https://…3
https://excalibur-mcp.fastmcp.app/mcp

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http excalibur https://excalibur-mcp.fastmcp.app/mcp

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "excalibur": {
      "url": "https://excalibur-mcp.fastmcp.app/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "excalibur": {
      "type": "http",
      "url": "https://excalibur-mcp.fastmcp.app/mcp"
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:

  1. 웹에서 ChatGPT 열기 → Settings → Connectors (Apps)
  2. Create 또는 Add 누르기(일부 요금제는 먼저 Advanced에서 Developer mode를 켜야 해요)
  3. 아래 주소를 붙여 넣고 이름을 정한 뒤 저장하기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Create2https://…3
https://excalibur-mcp.fastmcp.app/mcp

메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 lonniev 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    524ms 만에 응답(HTTP 401)

  • ✓ 통과

    OAuth로 로그인

    OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요

마케팅 및 소셜 미디어 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 3632개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 3632개 중 64%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 3632개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Excalibur MCP, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.43.0)은 19일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

MCP YouTube Transcript

An MCP server retrieving transcripts of YouTube videos

제작자: jkawamoto성장 중★ 49512일 전 업데이트

내 컴퓨터에서 실행

Google Analytics MCP

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

제작자: surendranb성장 중↓ 1.1천/주★ 24412일 전 업데이트

내 컴퓨터에서 실행

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

제작자: JimmyLv성장 중★ 13712일 전 업데이트

클라우드에서 실행✓ bibigpt.co

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

eXcalibur MCP

Sword-swift posting of pretty tweets to X (Twitter) via AI agents, monetized with Bitcoin Lightning micropayments through the DPYC(TM) Tollbooth protocol.

eXcalibur is a FastMCP server that lets AI agents post to X (Twitter) with rich Unicode formatting and optional images. Patron authentication for X uses OAuth2 Authorization Code + PKCE -- no credentials appear in chat. Operator credentials (X app keys, BTCPay) arrive via human-in-the-loop Secure Courier and are stored in the operator's per-operator Neon vault schema. Tool calls are metered with Tollbooth DPYC(TM) pre-funded Lightning balances -- Don't Pester Your Customer.

Part of the DPYC(TM) Social Contract.

Getting Started

Connect via Horizon -- no local install needed:

https://excalibur-mcp.fastmcp.app/mcp

The web editor at https://excalibur.tollbooth-dpyc.com drives the same tools from a browser.

Step 1: Check Session

Call excalibur_session_status to see your current session state. If you have an active session with funded credits, you are ready to post.

Step 2: Prove Your Npub on the Connection

Identity rides on the connection, not on tool arguments. Connecting from an AI assistant is an OAuth holder connection: call excalibur_request_npub_proof(patron_npub= ), reply to the Nostr DM it sends, then call excalibur_receive_npub_proof(patron_npub= , nonce= ) once. The connection then holds your npub for the lifetime you chose in the reply (up to 30 days), and every tool call passes only npub. A caller that holds the nsec may instead sign each HTTP request (NIP-98).

Step 3: X OAuth2 + PKCE (Patron Credentials for X)
  1. Get your Nostr npub -- use the dpyc-oracle's how_to_join() tool, or any Nostr client.
  2. Call excalibur_begin_oauth(npub= ) -- returns an authorize_url. Open the primary authorize_url (not a shortlink) in your browser and authorize the app on X.
  3. Call excalibur_check_oauth_status(npub= ) -- completes the code exchange, vaults the tokens, and activates your session.

Sessions are keyed by npub. Tokens are stored in the Neon vault and auto-refresh on expiry.

Step 4: Secure Courier (Operator Credentials)

Operator credentials (X OAuth2 app keys, BTCPay connection) are delivered via Secure Courier (service="excalibur-operator"). This is a human-in-the-loop flow: the operator consciously approves each credential delivery via their Nostr client. On receive_credentials, the relay DM is destructively drained -- credentials exist only in the Neon vault after receipt.

Credits Model

Tool calls cost api_sats per call. Each purchase creates a tranche; it expires only if the operator's pricing model sets a tranche_lifetime. Auth and balance tools are always free. Use excalibur_check_balance to see your balance and tranche expiry. Top up via excalibur_purchase_credits.

Available Tools

Standard Tools (from the wheel)

Standard DPYC(TM) tools are registered by register_standard_tools() from tollbooth-dpyc. These include session management, credit operations, Secure Courier, pricing, notarization, and Oracle delegation. Each tool is identified by a deterministic UUID v5.

CategoryTools
Session & Billingsession_status, check_balance, account_statement, account_statement_infographic, restore_credits, service_status, check_price, check_authority_balance
Secure Courierrequest_credential_channel, receive_credentials, forget_credentials, update_operator_credential, delete_operator_credential, update_patron_credential, delete_patron_credential, get_patron_credential_fields
Npub Proofrequest_npub_proof, receive_npub_proof, check_proof_status, held_identities
Purchase & Couponspurchase_credits, check_payment, mint_coupon, list_coupons, update_coupon, delete_coupon, redeem_coupon, list_my_coupons, forget_coupon
Pricing & Constraintsget_pricing_model, set_pricing_model, reset_pricing_model, list_constraint_types, list_canonical_identities
Notarizationnotarize_ledger, list_notarizations, get_notarization_proof
Onboarding & Adoptionget_operator_onboarding_status, get_patron_onboarding_status, request_adoption, adoption_status, restore_neon_schema
Nostr & Diagnosticsget_nostr_profile, publish_nostr_profile, request_echo, report_issue
OAuth (X)begin_oauth, check_oauth_status
Oracle (delegated)oracle_about, oracle_how_to_join, oracle_lookup_member, oracle_get_tax_rate, oracle_network_advisory
Domain Tools (eXcalibur-specific)

Domain tools are defined in server.py (with storage handlers under tools/). Prices are set by the operator's pricing model -- preview any call with check_price. Read and auth tools are free.

Posting to X

ToolDescription
post_tweetPost a text tweet with markdown-to-Unicode rich text formatting
post_tweet_imagePost a tweet with a hero banner image (image URL or SVG rendered to PNG)
get_x_profileFetch the connected X account's handle and name for this patron (free)
post_nostr_messagePublish a public Nostr note (kind 1) for your proven npub, signed by an ephemeral scribe key that p-tags you

Stored posts (drafts & scheduling)

ToolDescription
create_postStore a new post (draft or scheduled); returns its post_id
get_postRead one stored post by id (owner-scoped)
list_postsList your stored posts, server-side sorted, filtered, and paginated
update_postPatch a stored post (doc, publish_at, recurrence, status)
delete_postDelete a stored post (soft delete by default)

Snippets & Voice

ToolDescription
list_snippetsList your saved post snippets (server-side sorted/filtered/paginated)
get_snippetRead one saved snippet by id
save_snippetSave a reusable snippet (opening/footer/CTA)
delete_snippetDelete a saved snippet (free, owner-scoped)
get_voiceRead your saved writing Voice (profile blurb + banned words)
save_voiceSave your per-npub writing Voice

AI editorial & dynamic blocks

ToolDescription
refine_post_regionRefine a flagged region of a post with an LLM, server-side
resolve_dynamic_blockStart resolving a dynamic (prompt-backed) post block; returns a claim check
fetch_dynamic_blockRedeem a resolve_dynamic_block claim check (free, proof-gated)

Conversation leads

ToolDescription
find_conversationsSearch X for people asking questions you could answer; score and store them as leads
list_conversationsPage through your stored leads (free)
reply_to_conversationPost your reply into a lead's thread on X and mark the lead engaged
set_conversation_statusMark a lead new, seen, engaged or dismissed (free)
list_conversation_queriesList your saved conversation queries (free)
save_conversation_queryCreate or update a saved conversation query (free)
delete_conversation_queryDelete a saved query; its leads are kept (free)

Post metrics

ToolDescription
harvest_metricsCadence-aware sweep that snapshots X metrics for sent posts (operator-only)
get_post_metricsRead the metrics snapshot series for one of your posts
post_performanceDerived reach scores across your harvested post metrics
post_performance_infographicSVG infographic of post performance

Scheduler

ToolDescription
process_scheduled_postsPublish every due scheduled post (operator-only)
get_scheduler_logRead recent scheduler-tick outcomes
scheduler_statusThe scheduler's configuration and current status (free; any proven patron)
scheduler_pendingWhat the scheduled-post cron Worker is waiting on (operator-only)
scheduler_check_nowRun one scheduler tick now (any proven patron)
scheduler_reissueSend the scheduler's proof request again, now (operator-only)

OAuth flow tools (begin_oauth, check_oauth_status) are now standard tools provided by the wheel (see the Standard Tools table above).

Tools that take an npub take only the npub: the connection proves it (see Security).

Security

  • Npub identity -- Patrons are identified by a Nostr public key (npub), not an email or password. One keypair per role, managed by the user.
  • Identity on the connection -- A connection proves its npub in one of two ways: each HTTP request is signed with the npub's key (NIP-98, kind 27235), or an OAuth holder connection carries an Operator-signed grant earned through request_npub_proof / receive_npub_proof. The patron chooses the grant's lifetime, up to 30 days; held_identities and check_proof_status show what a connection holds.
  • Human-in-the-loop Secure Courier -- Credential delivery requires conscious operator approval via Nostr DM. On receipt, the relay message is destructively drained so secrets exist only in the encrypted Neon vault.
  • Per-operator Neon schema -- Each operator's credentials are stored in an isolated Postgres schema with a dedicated LOGIN role. No cross-operator access.

Architecture

src/excalibur_mcp/

server.py FastMCP server -- domain tools + register_standard_tools() config.py Pydantic settings from environment variables oauth_flow.py X-specific OAuth2 Authorization Code + PKCE wrapper x_client.py X API v2 client with OAuth 2.0 Bearer token auth formatter.py Markdown -> Unicode rich text (bold, italic, headers) refine.py Server-side editorial refinement for the post editor resolve.py Server-side resolution of dynamic (prompt-backed) post blocks resolver.py Builds one post's finished body (the slow half: dynamic blocks) publisher.py Carries a finished body to X (the fast half: bill, post, record) scheduler.py Scheduled-post firing (publishes due posts on the owner's behalf) conversation_scoring.py Pure scoring + query composition for conversation leads metrics_harvest.py Post-metrics harvest cadence and derived reach scores nostr_note.py Public Nostr notes signed by an ephemeral scribe key tools/ Domain storage handlers (posts, snippets, voices, conversations, metrics) db/ eXcalibur persistence on the wheel's NeonVault (posts, snippets, voices, conversations, metrics, scheduler runs, migrations) modal_app.py Detached runner for long dynamic-block resolves (Modal) scheduler-worker/ Cloudflare Worker cron that fires due scheduled posts frontend/ The web editor (excalibur.tollbooth-dpyc.com)

Key design choices:

  • OAuth2 Authorization Code + PKCE -- Patron tokens acquired via browser flow. begin_oauth returns the primary authorize_url (not a shortlink); check_oauth_status completes the exchange. Tokens stored in Neon vault, auto-refreshed on expiry. No OAuth 1.0a.
  • UUID v5 tool identity -- Every tool (standard and domain) has a deterministic UUID derived from its capability name. Pricing, constraints, and billing all key on UUID.
  • Standard tools from the wheel -- register_standard_tools() provides all DPYC(TM) infrastructure tools. Only domain-specific X/Twitter tools are defined in server.py.

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기