使用 Deno 和 TypeScript 实现的 Meson 跨链交易 MCP(模型上下文协议)服务器,帮助用户方便地在不同的区块链之间转移资产。
git clone <repository-url>
cd meson-mcp
# Linux/MacOS
export MESON_PRIVATE_KEY=your_private_key
# Windows
set MESON_PRIVATE_KEY=your_private_key
deno run --allow-net --allow-env main.ts
您可以通过在 MCP 配置文件中添加以下配置来使用 Meson 跨链交易 MCP 服务:
"meson_mcp": {
"command": "npx",
"args": [
"deno",
"run",
"--allow-env",
"--allow-net",
"--allow-read",
"jsr:@demcp/meson-mcp"
],
"env": {
"MESON_PRIVATE_KEY": "0x1234567890abcdef",
"MESON_USE_MAINNET": "true"
}
}
command: 执行命令,这里使用 npx 来运行 Deno
args: 命令参数列表
deno: 指定使用 Deno 运行时run: Deno 的运行命令--allow-env: 访问环境变量的权限
、 --allow-net: 网络访问权限--allow-read: 文件读取权限jsr:@demcp/meson-mcp: 从 JSR(JavaScript 注册表)加载的包名env: 环境变量配置
MESON_PRIVATE_KEY: 您的与以太坊兼容的私钥,用于交易签名(请替换示例值为您自己的密钥)MESON_USE_MAINNET: 设置为 "true" 使用主网,设置为 "false" 或省略使用测试网注意:出于安全考虑,请确保您的私钥不会泄露或公开。在生产环境中,建议使用安全的方法管理和存储私钥。
MCP 服务器提供三个核心工具:
准备跨链交易并生成签名数据。
参数:
fromChain: 源链 IDtoChain: 目标链 IDfromToken: 源代币符号toToken: 目标代币符号amount: 交换数量fromAddress: 发送方地址recipient: 接收方地址(可选,默认为发送方)返回:
对交易数据进行签名并提交到 Meson 网络。
参数:
encoded: 编码的交易数据signingRequest: 待签名的数据(包含消息和哈希)fromAddress: 发送方地址recipient: 接收方地址返回:
检查已提交交易的状态。
参数:
swapId: 交易 ID返回:
这是一个完整的跨链交易流程示例:
我想在测试网上执行一个跨链交易
请准备一个从 Ethereum Sepolia 测试网向 Arbitrum Sepolia 转移 10 USDC 的交易,
我的地址是 0x1234...abcd
请签名并提交上述准备的交易
请检查我刚刚提交的交易状态
此 MCP 服务器支持 Meson 协议支持的所有区块链和代币,包括但不限于:
具体支持的链和代币,请参阅 Meson 官方文档。
MIT