article
README
🚀 Starknet 模型上下文协议服务器
本项目是 Model Context Protocol 在 Starknet 上的实现。该服务器能让 AI 助手与 Starknet 区块链进行交互,支持查看余额、解析地址、查询交易等多种操作,为区块链应用开发提供便利。
🚀 快速开始
import { createServer } from 'starknet-mcp-server'
async function main() {
const server = await createServer()
await server.start(3000)
console.log('服务器已启动,访问 http://localhost:3000')
}
main().catch(console.error)
✨ 主要特性
支持的区块链协议
- Starknet 主网
- Starknet 测试网
资源架构
{
chains: {
// 区块链配置信息
resources: {
// 可用资源列表
tools: {
// 提供的工具集
}
}
}
}
工具集
示例工具:查询地址余额
server.tool({
name: 'starknet_balance',
description: '查询 Starknet 地址的 ETH 和代币余额',
params: {
address: string().describe('目标地址')
},
async run({ address }) {
return await balance getAddress(address)
}
})
📦 安装指南
npm install starknet-mcp-server
配置
在 ~/.config/starknet-mcp-server/config.json 中添加以下配置:
{
"chains": {
"starknet-mainnet": {
"url": "https://alpha-mainnet.starknet.io",
"contract_address": "0x starknet-mainnet 合约地址"
},
"starknet-testnet": {
"url": "https://alpha-testnet.starknet.io",
"contract_address": "0x starknet-testnet 合约地址"
}
}
}
💻 使用示例
基础用法
- 查询地址余额:
balance of 0x04d07e40e93398ed3c76981e449d3446f7c4e52aac5b3e8a37d7b0ca30845a5d - 解析地址到 Starknet ID:
lookup starknet_id for 0x04d07e40e93398ed3c76981e449d3446f7c4e52aac5b3e8a37d7b0ca30845a5d - 查询最新区块:
latest block on starknet mainnet
📚 详细文档
项目架构
目录结构
src/
├── chains/ # 区块链配置文件
├── resources/ # 可用资源定义
├── tools/ # 提供的工具集
└── server.ts # 服务器主程序
开发规范
- 使用
name标识工具 - 配置环境变量:
CHAINS=starknet-mainnet,starknet-testnet CONTRACT_ADDRESS=0x mainnet_address,0x testnet_address
文档资源
⚠️ 重要提示
- 私钥仅用于签名交易,不会被服务器存储
- 所有输入都需要经过严格验证
- 使用 HTTPS 保护网络通信
微信扫一扫