使用说明
Fystack SDK MCP服务器
A. 模型上下文协议(MCP)服务器 它整合了 Fystack平台SDK,使AI代理能够安全地创建钱包、管理资产、签署交易和执行区块链操作。
特性
钱包管理
- 创建MPC钱包:使用分布在MPC节点上的密钥共享生成安全钱包
- 创建标准钱包:为各种目的生成标准(非MPC)钱包
- 获取钱包资产:检索任何钱包的所有资产和余额
- 存款地址:获取EVM、Solana和Tron网络的存款地址
事务管理
- 多链支持:适用于以太坊、Solana、Tron和所有EVM链
- 交易重新扫描:重新处理区块链交易
- 安全操作:通过API凭据验证的所有操作
自然语言接口
- 会话操作用简单的英语描述你想做什么
- 智能解析:自动从自然语言中提取参数
- 灵活的命令:支持各种措辞和格式
DeFi集成
- Uniswap交易:获取报价并跨多个链执行掉期交易
- 智能订单路由:使用Uniswap的AlphaOuter自动选择最佳路径
- 多链支持:以太坊、乐观主义、Polygon、Arbitrum和Base上的交易
- 原生令牌支持:无缝ETH/MATIC/等交易,自动包装
未来功能
- 高级MPC密钥管理:安全地旋转、恢复或更新密钥共享
- 气体优化:自动优化交易的天然气费用
- 钱包恢复:使用MPC密钥共享恢复钱包
- 自定义令牌支持:管理自定义令牌和NFT
快速设置
先决条件
- Node.js v18+
- Fystack API证书(把他们带到这儿来)
安装
# Clone and setup
cd sdk-mcp-server
npm install # or bun install
# Build the project
npm run build
配置
服务器是通过MCP配置文件传递的环境变量进行配置的。看 mcp.example.json 对于模板。
所需的环境变量:
FYSTACK_API_KEY:您的Fystack API密钥FYSTACK_API_SECRET:您的Fystack API秘密FYSTACK_ENVIRONMENT:环境(local,sandbox,或production)
可选环境变量:
SOLANA_RPC_URL:自定义Solana RPC终结点ETHEREUM_RPC_URL:自定义以太坊RPC端点ETHEREUM_CHAIN_ID:以太坊链IDLOG_LEVEL:日志记录级别(debug,info,warn,error)
MCP配置
将此添加到您的Claude Desktop配置(或其他MCP客户端)中:
{
"servers": {
"Fystack MCP Server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"~/fystack/mpcium-mcp-server/src/index.ts" // Replace with your path to index.ts
],
"env": {
"FYSTACK_API_KEY": "YOUR_API_KEY_HERE",
"FYSTACK_API_SECRET": "YOUR_API_SECRET_HERE",
"FYSTACK_WORKSPACE_ID": "YOUR_WORKSPACE_ID_HERE",
"FYSTACK_ENVIRONMENT": "sandbox",
"LOG_LEVEL": "info"
}
}
}
}
与MCP客户端集成
在此处查看所有可能的MCP客户端: MCP客户端
- 找到您的MCP配置文件
- 添加服务器配置(见上文MCP配置)
- 重新启动客户端
- 客户端现在可以通过自然语言与Fystack交互!
建筑
┌─────────────────────────────┐
│ Claude / AI Agent │
│ (MCP Client) │
└──────────────┬──────────────┘
│ MCP Protocol (stdio)
┌──────────────▼──────────────┐
│ Fystack MCP Server │
├─────────────────────────────┤
│ • Tool Definitions │
│ • Tool Executors │
│ • Request Handlers │
└──────────────┬──────────────┘
│ REST API
┌──────────────▼──────────────┐
│ Fystack Platform SDK │
└──────────────┬──────────────┘
│
┌──────────────▼──────────────┐
│ Fystack Backend Services │
│ • Wallet Management │
│ • Transaction Processing │
│ • Asset Management │
└─────────────────────────────┘
可用工具
自然语言工具
wallet_operations
通过自然语言处理所有操作的主要工具。
示例:
{
"tool": "wallet_operations",
"message": "Create an MPC wallet named 'My Secure Wallet'"
}
{
"tool": "wallet_operations",
"message": "Get assets for wallet",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"tool": "wallet_operations",
"message": "Get deposit address for wallet on ethereum",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000"
}
直接工具
create_mpc_wallet
创建新的MPC钱包。
{
"tool": "create_mpc_wallet",
"name": "My MPC Wallet"
}
create_standard_wallet
创建标准钱包。
{
"tool": "create_standard_wallet",
"name": "My Standard Wallet",
"wallet_purpose": "user"
}
钱包用途: user, gastank, payment, custody
get_wallet_assets
获取钱包的所有资产。
{
"tool": "get_wallet_assets",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000"
}
get_deposit_address
获取特定区块链的存款地址。
{
"tool": "get_deposit_address",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000",
"address_type": "evm"
}
地址类型: evm, solana, tron
rescan_transaction
重新扫描区块链交易。
{
"tool": "rescan_transaction",
"tx_hash": "0x123...",
"network_id": "ethereum"
}
DeFi 工具
uniswap_get_price
通过智能订单路由获取Uniswap掉期的报价。
{
"tool": "uniswap_get_price",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000",
"chain_id": 1,
"token_in": "NATIVE",
"token_out": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amount_in": "1.0",
"trade_type": "exactIn"
}
支持的链: 1(以太坊),10(乐观主义),137(多边形),42161(Arbitrum),8453(基础)
uniswap_execute_swap
使用MPC钱包在Uniswap上执行代币交换。
{
"tool": "uniswap_execute_swap",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000",
"chain_id": 1,
"token_in": "NATIVE",
"token_out": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amount_in": "0.1",
"slippage_tolerance": 0.5,
"deadline_minutes": 20
}
uniswap_suggest_swap
根据流动性、费用和路线优化获得智能掉期建议。
{
"tool": "uniswap_suggest_swap",
"wallet_id": "550e8400-e29b-41d4-a716-446655440000",
"chain_id": 1,
"token_in": "NATIVE",
"amount": "1.0"
}
返回排名建议,包括:
- 每个令牌的输出金额
- 价格影响分析
- 天然气成本估算
- 费用比较
- 路线复杂性
- 人工智能生成推理
使用示例
示例1:创建钱包并获取资产
// 1. Create MPC wallet
const wallet = await client.call('create_mpc_wallet', {
name: "Trading Wallet"
});
// Response: { wallet_id: "...", status: "success" }
// 2. Get wallet assets
const assets = await client.call('get_wallet_assets', {
wallet_id: wallet.wallet_id
});
// Response: { wallet_id: "...", assets: [...], count: 5 }
示例2:获取存款地址
// Get Ethereum deposit address
const depositInfo = await client.call('get_deposit_address', {
wallet_id: wallet.wallet_id,
address_type: "evm"
});
// Response: { address: "0x...", qr_code: "...", ... }
示例3:自然语言操作
// Natural language: Create wallet
await client.call('wallet_operations', {
message: "Create an MPC wallet named 'My Investment Wallet'"
});
// Natural language: Get assets
await client.call('wallet_operations', {
message: "Show me the assets in my wallet",
wallet_id: "550e8400-e29b-41d4-a716-446655440000"
});
// Natural language: Get deposit address
await client.call('wallet_operations', {
message: "I need the deposit address for Solana",
wallet_id: "550e8400-e29b-41d4-a716-446655440000"
});
内置❤️ Fystack社区