使用说明
恒星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.来源
- 克隆存储库:
git clone https://github.com/JoseCToscano/stellar-mcp.git
cd stellar-mcp
- 安装依赖项:
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代理提供上下文:
-
AGENT_KEYPAIR_FILE_PATH:存储AI代理Stellar密钥对的文件的路径。这允许代理在会话之间保持一致的身份。 -
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"
}
}
}
}
确保:
- 替换
/path/to/your/使用您的实际项目路径 - 获取必要的API密钥和令牌:
- 创建所需文件:
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存储库中打开问题。