ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Excalibur MCP

โดย lonnievรุ่น 0.43.0i★ –iรันบนคลาวด์
ชื่อใน registryio.github.lonniev/excalibur-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: การตลาดและโซเชียล

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://excalibur-mcp.fastmcp.app/mcp

พิมพ์คำสั่งนี้ใน Terminal

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"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

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

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://excalibur-mcp.fastmcp.app/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub lonniev ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 524 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi

  • ดาวมากกว่า 0% ของอีก 3610 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 64% ของอีก 3610 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3610 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Excalibur MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.43.0) เข้า registry 18 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

MCP YouTube Transcript

An MCP server retrieving transcripts of YouTube videos

โดย jkawamotoกำลังโต★ 495อัปเดต 11 วันที่ผ่านมา

รันบนเครื่อง

Google Analytics MCP

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

โดย surendranbกำลังโต↓ 1.1K/สัปดาห์★ 244อัปเดต 11 วันที่ผ่านมา

รันบนเครื่อง

BibiGPT YouTube Video Summarizer

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

โดย JimmyLvกำลังโต★ 137อัปเดต 12 วันที่ผ่านมา

รันบนคลาวด์✓ bibigpt.co

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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.

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx