使用说明

项目简介

stellar-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器演示项目,旨在展示如何利用 MCP 协议为大型语言模型 (LLM) 应用提供上下文信息和功能。该项目专注于 Stellar 区块链,允许 LLM 客户端通过标准化的 MCP 接口与 Stellar 智能合约进行交互。

主要功能点

  • 资源管理: 通过 Cloudflare Durable Objects 托管和管理用户信息 (如钱包地址、追踪的合约地址)。
  • 工具注册与执行: 注册并暴露 Stellar 智能合约的功能作为 MCP 工具,允许 LLM 客户端调用合约函数,例如查询余额、进行代币转移、部署新合约等。
  • 用户认证与授权: 集成 OAuth Provider,提供用户认证和授权机制,保障 MCP 服务器的安全访问。
  • 可扩展性: 基于 Cloudflare Workers 构建,具备良好的可扩展性和 Serverless 架构的优势。
  • Super Peach 钱包集成: 示例中集成了 Super Peach 钱包,用于自动化交易签名,简化用户操作流程。

安装步骤

由于这是一个基于 Cloudflare Workers 的项目,因此无需传统的“安装”步骤。部署和运行此 MCP 服务器的步骤主要围绕 Cloudflare Workers 的配置和部署流程:

  1. 环境准备:

    • 确保您拥有 Cloudflare 账号和 Workers 服务。
    • 安装 Wrangler CLI,Cloudflare Workers 的命令行工具。
    • 确保已安装 Node.js 和 npm。
  2. 获取代码:

  3. 配置环境变量:

    • 在本地项目根目录下,复制 '.dev.vars.example' 文件并重命名为 '.dev.vars'。

    • 修改 '.dev.vars' 文件,配置以下环境变量:

      • 'OAUTH_KV': Cloudflare KV 命名空间绑定名称 (用于 OAuth 状态存储)。
      • 'RPC_URL': Stellar 网络 RPC 节点的 URL (例如:'https://soroban-testnet.stellar.org').
      • 'FUNGIBLE_PAUSABLE_WASM_HASH': Fungible Pausable 合约 WASM 哈希值 (用于部署新合约)。
      • 'NETWORK_PASSPHRASE': Stellar 网络 passphrase (例如:'Test SDF Network ; September 2015').
      • 'LAUNCHTUBE_URL': LaunchTube URL (用于 Passkey Kit 集成,如 'https://testnet.launchtube.xyz').
      • 'LAUNCHTUBE_JWT': LaunchTube JWT (用于 Passkey Kit 认证)。
      • 'MCP_OBJECT': Durable Object 命名空间绑定名称 (用于 MCP Server 状态管理)。
      • 'STELLAR_MCP_STORE': Durable Object 命名空间绑定名称 (用于 Stellar MCP 存储)。
      • 'AI': Cloudflare AI 绑定名称 (如果需要使用 Cloudflare AI 功能)。
    • 确保在 'wrangler.toml' 文件中配置了相应的 KV 命名空间和 Durable Object 命名空间绑定。

  4. 部署到 Cloudflare Workers:

    • 在项目根目录下运行 'wrangler deploy' 命令,将代码部署到您的 Cloudflare Workers 账号。

服务器配置

MCP 服务器配置 (JSON 格式) 用于 MCP 客户端连接和调用服务。以下是基于仓库信息生成的配置示例,请根据实际部署情况调整:

{
  "serverName": "Stellar MCP Server Demo",
  "command": "https://<your-worker-subdomain>.workers.dev/sse",
  "args": [],
  "transport": "SSE",
  "capabilities": [
    "tools",
    "resources",
    "prompts"
  ],
  "description": "Stellar MCP Server Demo: 提供 Stellar 区块链智能合约交互能力的 MCP 服务器。",
  "documentationUri": "https://github.com/kalepail/stellar-mcp-server"
}

参数注释:

  • 'serverName': MCP 服务器的名称,用于标识服务器。
  • 'command': MCP 服务器的 SSE 端点 URL。请替换 '<your-worker-subdomain>.workers.dev' 为您 Cloudflare Worker 的实际子域名。
  • 'args': 启动命令的参数,本示例中 SSE 连接不需要额外参数,因此为空数组。
  • 'transport': 使用的传输协议,这里是 Server-Sent Events (SSE)。
  • 'capabilities': 服务器支持的 MCP 功能,包括 'tools' (工具调用), 'resources' (资源访问), 和 'prompts' (Prompt 模板,虽然仓库代码中未显式定义 Prompt 模板,但 MCP 服务器通常具备此能力,可以根据需要扩展)。
  • 'description': 服务器的详细描述,说明其功能和用途。
  • 'documentationUri': 指向仓库文档或项目主页的 URI,方便用户查阅更多信息。

基本使用方法

  1. 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述服务器配置信息,连接到 Stellar MCP 服务器。
  2. 设置钱包地址: 使用 'setWallet' 工具,设置您的 Stellar 钱包地址。
  3. 添加合约地址: 使用 'setContractAddress' 工具,添加您希望追踪的 Stellar 智能合约地址。
  4. 探索工具: 在 MCP 客户端中,您应该能看到已注册的工具列表,包括与您添加的智能合约相关的函数。
  5. 调用工具: 选择相应的工具,根据工具参数描述,填写参数值,即可调用 Stellar 智能合约的功能。 例如,调用合约的 'balance' 工具查询账户余额,或调用 'transfer' 工具进行代币转移。

注意:

  • 本项目是一个演示 Demo,可能不包含完整的生产级 MCP 服务器功能。
  • 安全性方面,请务必仔细审查代码,特别是密钥管理和交易签名部分,根据实际需求进行安全加固。
  • Super Peach 钱包集成仅为示例,您可以根据需要替换为其他钱包或签名方案。
  • Prompt 模板功能可能需要根据项目代码进行扩展和实现。

信息

分类

AI与计算