Stellar区块链协议服务器

一个用于与Stellar区块链网络交互的模型上下文协议(MCP)服务器实现,使AI代理和LLM能够通过标准化接口执行Stellar区块链操作。

  • by christopherkarani
  • 本地部署
  • 更新于
在 GitHub 查看 christopherkarani/stellar-mcp

使用说明

恒星mcp

用于与Stellar区块链网络交互的模型上下文协议(MCP)服务器实现。该服务器使AI代理和LLM能够通过标准化接口执行Stellar区块流操作。

什么是MCP?

模型上下文协议(MCP)是一种开放协议,它规范了应用程序如何向LLM(大型语言模型)提供上下文。将MCP想象成AI应用程序的USB-C端口——它提供了一种将AI模型连接到不同数据源和工具的标准化方法。

为什么选择恒星MCP?

此MCP服务器实现为AI代理提供了对Stellar区块链功能的直接访问,使他们能够:

  • 创建和管理Stellar帐户
  • 带有测试网流明的基金账户
  • 获取账户信息和交易历史
  • 签署并提交Soroban智能合约交易
  • 与Passkey钱包互动

特性

  • 账户管理
    • 创建新的Stellar帐户
    • 使用Friendbot(测试网)的基金账户
    • 获取账户详细信息和余额
  • 交易操作
    • 查看交易历史记录
    • 签署并提交Soroban交易
    • 支持常规Stellar钱包和Passkey钱包
  • 智能合约集成
    • 与Soroban智能合约互动
    • 处理合同授权
    • 支持钱包合约交互

入门指南

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • Stellar测试网帐户(用于测试)

安装

1.来自NPM(推荐)

您可以直接从npm安装并运行服务器:

2.来源

  1. 克隆存储库:
git clone https://github.com/JoseCToscano/stellar-mcp.git
cd stellar-mcp
  1. 安装依赖项:
npm install

配置

环境变量

服务器需要几个环境变量才能正常运行:

核心变量
  • NETWORK_PASSPHRASE:标识恒星网络(测试网/公共)
  • RPC_URL:用于区块链交互的Soroban RPC端点
密钥钱包集成
  • LAUNCHTUBE_URL 和 LAUNCHTUBE_JWT:密钥钱包集成所需。Launchtube用于处理密钥签名和交易提交。
  • MERCURY_URL, MERCURY_JWT,以及 MERCURY_PROJECT_NAME:需要通过Mercury的基础设施进行密钥钱包管理和数据存储。
  • WALLET_WASM_HASH:钱包合约WASM的哈希值,用于验证目的。

资源文件

服务器支持两个特殊的资源文件,可用于为AI代理提供上下文:

  1. AGENT_KEYPAIR_FILE_PATH:存储AI代理Stellar密钥对的文件的路径。这允许代理在会话之间保持一致的身份。

  2. USAGE_GUIDE_FILE_PATH:包含使用指南和示例的markdown文件的路径。此文件可作为AI代理的资源,帮助他们了解如何与Stellar区块链交互。

创建一个 .env 使用您的配置文件:

# Core Variables
NETWORK_PASSPHRASE="Test SDF Network ; September 2015"
RPC_URL="https://soroban-testnet.stellar.org"

# Passkey Integration
LAUNCHTUBE_URL="https://testnet.launchtube.xyz"
LAUNCHTUBE_JWT="your_launchtube_jwt"
MERCURY_URL="https://api.mercurydata.app"
MERCURY_JWT="your_mercury_jwt"
MERCURY_PROJECT_NAME="your_project_name"
WALLET_WASM_HASH="your_wallet_wasm_hash"

# Resource Files
AGENT_KEYPAIR_FILE_PATH="/path/to/agent-keys.txt"
USAGE_GUIDE_FILE_PATH="/path/to/USAGE.md"

运行服务器

npm run build
node build/mcp-server.js

通过克劳德桌面连接

要将MCP服务器连接到Claude Desktop,请将以下配置添加到您的Claude Desktop配置文件中(通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "servers": {
    "stellar-mcp": {
      "command": "node",
      "args": ["/path/to/your/stellar-mcp/build/mcp-server.js"],
      "env": {
        "LAUNCHTUBE_URL": "https://testnet.launchtube.xyz",
        "LAUNCHTUBE_JWT": "your_launchtube_jwt",
        "AGENT_KEYPAIR_FILE_PATH": "/path/to/your/stellar-mcp/agent-keys.txt",
        "SAC_GUIDE_FILE_PATH": "/path/to/your/stellar-mcp/STELLAR_TOKENS_SAC.md",
        "USAGE_GUIDE_FILE_PATH": "/path/to/your/stellar-mcp/USAGE.md",
        "WALLET_WASM_HASH": "a8860280cb9f9335b623f81a4e80e89a7920024275b177f2d4bffa6aa5fb5606",
        "RPC_URL": "https://soroban-testnet.stellar.org",
        "NETWORK_PASSPHRASE": "Test SDF Network ; September 2015",
        "MERCURY_JWT": "your_mercury_jwt",
        "MERCURY_URL": "https://api.mercurydata.app",
        "MERCURY_PROJECT_NAME": "your_mercury_project_name"
      }
    }
  }
}

确保:

  1. 替换 /path/to/your/ 使用您的实际项目路径
  2. 获取必要的API密钥和令牌:
  3. 创建所需文件:
    • agent-keys.txt:用于存储AI代理的Stellar密钥对
    • STELLAR_TOKENS_SAC.md:令牌目录(提供)
    • USAGE.md:使用指南

添加配置后,重新启动Claude Desktop以使更改生效。

使用示例

1.创建新的Stellar帐户

// Example MCP tool call
await server.tool('create-account', {});

2.使用Testnet Lumens为账户提供资金

// Example MCP tool call
await server.tool('fund-account', {
  address: 'GCYK...KLMN',
});

3.获取账户信息

// Example MCP tool call
await server.tool('get-account', {
  address: 'GCYK...KLMN',
});

4.提交索罗班交易

// Example MCP tool call
await server.tool('sign-and-submit-transaction', {
  transactionXdr: 'AAAAAgA...',
  contractId: 'CC...',
  secretKey: 'SDFG...',
});

智能合约交易签署

这 sign-and-submit-transaction 该工具是专门为处理Soroban智能合约交易而设计的。它提供了两个关键功能:

1.智能合约交易组装

  • 接受来自Soroban合约调用的预组装交易XDR
  • 处理正确的交易签名顺序
  • 管理交易提交和确认
  • 为合同特定故障提供详细的错误处理

2.智能钱包策略签名

该工具支持两种类型的交易签名:

await server.tool('sign-and-submit-transaction', {
  transactionXdr: 'AAAAAgA...',
  contractId: 'CC...',
  secretKey: 'SDFG...', // Standard Stellar secret key or Policy Signer's secret key
});
  • 该工具自动与Launchtube对接,以提交交易
  • 处理基于策略的授权流
  • 为基于策略的拒绝提供适当的错误处理

这种双重签名功能使该工具既适用于传统的Stellar账户,也适用于现代智能钱包实现。

关键组件

MCP服务器(mcp-server.ts)

通过MCP工具公开Stellar区块链功能的主要服务器实现:

  • create-account:生成新的恒星键对
  • fund-account:使用Friendbot为测试网账户充值
  • get-account:检索帐户信息
  • get-transactions:获取交易历史记录
  • sign-and-submit-transaction签署并提交Soroban交易

公用事业(utils.ts)

辅助功能:

  • Passkey钱包集成
  • 交易签名逻辑
  • 资源文件处理
  • 发射管提交
  • SAC(恒星资产合约)客户端创建

贡献

欢迎投稿!请随时提交拉取请求。

许可证

国际协调委员会

支持

有关问题和支持,请在GitHub存储库中打开问题。