使用说明
项目简介
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 的配置和部署流程:
-
环境准备:
- 确保您拥有 Cloudflare 账号和 Workers 服务。
- 安装 Wrangler CLI,Cloudflare Workers 的命令行工具。
- 确保已安装 Node.js 和 npm。
-
获取代码:
- 克隆 GitHub 仓库 stellar-mcp-server 到本地。
-
配置环境变量:
-
在本地项目根目录下,复制 '.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 命名空间绑定。
-
-
部署到 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,方便用户查阅更多信息。
基本使用方法
- 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述服务器配置信息,连接到 Stellar MCP 服务器。
- 设置钱包地址: 使用 'setWallet' 工具,设置您的 Stellar 钱包地址。
- 添加合约地址: 使用 'setContractAddress' 工具,添加您希望追踪的 Stellar 智能合约地址。
- 探索工具: 在 MCP 客户端中,您应该能看到已注册的工具列表,包括与您添加的智能合约相关的函数。
- 调用工具: 选择相应的工具,根据工具参数描述,填写参数值,即可调用 Stellar 智能合约的功能。 例如,调用合约的 'balance' 工具查询账户余额,或调用 'transfer' 工具进行代币转移。
注意:
- 本项目是一个演示 Demo,可能不包含完整的生产级 MCP 服务器功能。
- 安全性方面,请务必仔细审查代码,特别是密钥管理和交易签名部分,根据实际需求进行安全加固。
- Super Peach 钱包集成仅为示例,您可以根据需要替换为其他钱包或签名方案。
- Prompt 模板功能可能需要根据项目代码进行扩展和实现。
信息
分类
AI与计算