eXcalibur MCP 服务端

使用说明(Markdown 格式)

项目简介

  • eXcalibur MCP 是一个基于 MCP 模型的后端服务,设计目标是为大语言模型(LLM)提供可标准化的上下文信息、外部工具调用能力以及可定制的提示渲染能力。通过 JSON-RPC 与 MCP 客户端通信,支持多种传输场景,并实现会话管理、信用体系与多租户凭证存储。
  • 核心组成包括:凭证 vault(多租户凭证的加密存储)、Secure Courier(用于安全传输凭证)、X API 客户端、可视化账户信息的 SVG infographic 生成、以及若干工具的注册与执行入口。

主要功能点

  • MCP 服务实现与工具注册
    • 通过 FastMCP 框架实现服务器端,暴露一组 MCP Tool(如 health、service_status、session_status、register_credentials、activate_session、purchase_credits、check_balance、account_statement、account_statement_infographic 等等)。
    • 工具采用装饰器式注册,支持免费工具与付费工具的信用门控(credit gating)。
    • 提供账户状态、信用余额、账单历史、以及账户信息的可视化 SVG(account_statement_infographic)等能力。
  • 资源与凭证管理
    • 多租户凭据以 PBKDF2 + Fernet 的方式进行加密存储,支持按用户分组的会话缓存(UserSession、_sessions、_dpyc_sessions)。
    • 支持 Secure Courier 流程,通过 Nostr 渠道传递凭证,管理和激活 DPYC 身份。
    • 提供基于凭证的本地/云端两种模式的会话激活与回滚能力。
  • Tooling 与 Prompts
    • 内置的文本格式化器,将 Markdown 样式转换为在 X/Twitter 上显示的 Unicode 形式(markdown_to_unicode、格式转换工具)。
    • 提供促成 LLM 交互的提示指导(如 onboarding 指南、错误信息中嵌入的指导步骤)。
  • 服务器与凭证的持续性
    • 支持 NeonVault/Neon Commerce 作为账本后端、以及可选的 Neon Vault 远端持久化。
    • Infographic 渲染、PNG 转换(可选依赖 cairosvg),以及图片上传与媒体附加(upload_to_postimg、X API 图片上传等)。
  • 安全与审计
    • OAuth 1.0a 签名实现(手工签名的授权头,兼容 X API v2 的无体签名要求)。
    • 额度与成本的门控、全局需求计价、以及对低余额的警告提示。

安装步骤

  • 需要的环境
    • Python 3.10 及以上
    • 依赖项通过 setuptools/pyproject 安装(开发模式:pip install -e ".[dev]")
  • 基本安装与运行
    • 克隆仓库后进入项目根目录,创建并激活虚拟环境
    • 安装开发依赖
    • 在本地运行服务器入口:执行 python -m excalibur_mcp.server(或等效的入口命令,具体开发环境可根据实际部署脚本调整)
    • 运行后服务将暴露 MCP 工具,LLM 客户端可通过指定的命令与参数建立连接并调用工具

服务器配置 MCP 客户端需要的最低配置信息(JSON,描述服务器信息,客户端无需也不可变更服务器端实现细节):

  • server name: "excalibur-mcp"
  • command: "python"
  • args: ["-m", "excalibur_mcp.server"]

注释说明

  • server_name 对应 MCP 服务的标识名称,确保与客户端使用的一致以便正确路由。
  • command/args 指向服务器启动入口(通常是运行 server.py 的模块入口),以便客户端在本地或云端环境正确启动并连接到 MCP 服务。

基本使用方法

  • 客户端对接流程概览
    • 启动 MCP 服务器,确保环境变量与依赖就绪。
    • 使用 MCP 客户端通过 JSON-RPC 调用服务器暴露的工具(如 health、session_status、account_statement_infographic、post_tweet 等)。
    • 根据需要配置 Secure Courier、凭证 vault、以及 BC/Credit gate 的相关参数。
  • 常用操作说明
    • 查询健康状态:调用 health 工具获取服务版本、状态等信息。
    • 管理会话与凭证:通过 register_credentials、activate_session、request_credential_channel、receive_credentials、forget_credentials 等工具管理多租户凭证与 DPYC 身份。
    • 账户与账单:调用 check_balance、account_statement、account_statement_infographic,若开启图像渲染,账户统计信息可视化呈现。
    • 发帖与媒体:post_tweet、post_tweet_with_image、post_tweet(含 banner SVG 转 PNG 并附带图像)实现对 X 的内容发布,且具备信用扣费与回滚能力。

注意事项

  • MCP 服务依赖外部组件(如 NeonVault NeonCommerce、Tollbooth DPYC、Secure Courier、X API)等,请在生产环境内完成相应配置(API 密钥、凭证、Nostr NSEC、雷同等)。
  • 配置密钥、凭证、以及回滚策略等应在安全合规的环境中管理,避免凭证在日志或外部通道暴露。
  • 客户端调用的具体格式与传输协议需遵循 MCP 客户端实现的约定,服务端提供工具清单、接口定义及错误返回格式以便对接。

关键词 X/Twitter API, Secure Courier, 多租户凭证库, Infographic SVG, 银行/信用门控

分类ID 5

服务器信息