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