SVM - MCP 是一个集成了 Claude AI 与 SOON 及其他基于 SVM 的区块链的模型上下文协议(MCP)服务器。它提供了丰富的工具,可用于检查余额、获取最近交易以及查看代币持有量,适用于 SOON 的测试网和主网,涵盖了账户余额、交易和代币持有量等方面的查询。
此 MCP 服务器的主要目标是连接 Claude 与 SOON 生态系统,让用户能够进行以下操作:
目前,该服务器使用了 SOON 的 RPC 端点,不过可以轻松进行修改,以适配任何 Solana 兼容区块链或其他不同的区块链。
git clone https://github.com/yourusername/svm-mcp.git
cd svm-mcp
npm install
# 或者使用 yarn
yarn install
npm run build
# 或者使用 yarn
yarn build
node build/index.js
async function getBalance(address: string, connection: Connection) {
try {
const balance = await connection.getBalance(new PublicKey(address));
return `${balance} SOL`;
} catch (error) {
throw new Error(`无法获取余额:${error.message}`);
}
}
async function getRecentTransactions(address: string, connection: Connection) {
try {
const transactions = await connection.getSignaturesForAddress([new PublicKey(address)]);
return transactions;
} catch (error) {
throw new Error(`无法获取交易:${error.message}`);
}
}
async function getToken Holdings(address: string, connection: Connection) {
try {
const tokenAccounts = await connection.getTokenAccountsByOwner(new PublicKey(address), {
programId: new PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),
});
return tokenAccounts;
} catch (error) {
throw new Error(`无法获取代币持有量:${error.message}`);
}
}
async function main() {
try {
console.log("启动 MCP 服务器...");
const transport = new StdioServerTransport();
console.log("传输已初始化,正在连接到服务器...");
await server.connect(transport);
console.log("服务器连接成功");
// 服务器将保持在此状态运行
} catch (error) {
console.error("连接服务器时出错:", error);
process.exit(1);
}
}
main().catch((err) => {
console.error("启动服务器时出错:", err);
process.exit(1);
});
要在 Claude Desktop 中使用此 MCP 服务器,将以下内容添加到 claude_desktop_config.json 文件中:
{
"mcpServers": {
"svm-mcp": {
"command": "bun",
"args": ["/path/to/svm-mcp/build/index.js"]
}
}
}
要使用不同的 RPC 端点或连接到其他区块链,编辑 src/index.ts 中的端点 URL:
const connectionTestnet = new Connection("YOUR_TESTNET_RPC_URL");
const connectionMainnet = new Connection("YOUR_MAINNET_RPC_URL");
一旦 MCP 服务器运行并连接到 Claude,您可以使用以下命令:
你能检查这个 SOON 测试网地址的余额吗:
在 SOON 测试网上做的最近一笔交易是什么?
在 SOON 主网上持有的有哪些代币?