关于 injective-mcp-servers
介绍如何配置和使用 Injective Documentation MCP Server 与 Injective MCP Server 的技能指南,涵盖文档查询、链上查询、交易、转账、跨链桥接及集成注意事项。
主要功能
- 01搜索 Injective 官方文档
- 02查询 Injective 市场与账户
- 03管理钱包和交易订单
- 04转移代币及跨链资产
- 05EIP-712 签名与保证金指引
适用场景
- 01查找带引用的 Injective 文档答案
- 02查看余额、市场或持仓
- 03提交和管理 Injective 交易
- 04转账或跨链到其他网络
MCP 相关
指南说明如何通过流式 HTTP 连接托管的 Injective Documentation MCP Server,以及如何安装和运行 Injective MCP Server。它介绍了文档搜索、账户和市场查询、交易、转账、桥接及原始 EVM 交易工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ injectivelabs/ agent-skills --skill injective-mcp-servers安装后在 Claude Code 中输入/injective-mcp-servers确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdTERMS_OF_USEreferences/sample-prompts.md详细介绍
Injective MCP 服务与技能指南
模型上下文协议(MCP)服务便于发现并公开供大模型调用的工具。 本技能介绍如何设置和使用对 Injective 至关重要的 MCP 服务。
适用场景
- 搜索 Injective 的权威信息时,请使用 Injective Documentation MCP Server。
- 查询 Injective 主网或测试网,或在其上进行交易时,请使用 Injective MCP Server。
- 使用完整交易功能(包括永续期货、现货转账、跨链桥接和原始 EVM 交易)时,请使用 Injective MCP Server。
活动
设置并运行 Injective Documentation MCP Server
无需设置,因为我们为你提供托管的 MCP 服务。
只需连接到 https://docs.injective.network/mcp,
该服务会公开一个大多数 MCP 客户端都能使用的可流式传输 HTTP 端点。
使用 Injective Documentation MCP Server
执行 MCP 工具调用:
SearchInjectiveDocs- 搜索 Injective 官方文档。返回的结果包含引用。
参见:https://docs.injective.network/developers-ai/documentation-mcp.md
设置并运行 Injective MCP Server
安装:
git clone https://github.com/InjectiveLabs/mcp-server injective-mcp-server
cd injective-mcp-server
npm install && npm run build
手动运行:
INJECTIVE_NETWORK="mainnet" node ./dist/mcp/server.js
通过 Claude Code 运行:
编辑 ~/.claude/mcp.json,或编辑项目中的 MCP 配置,并加入以下内容:
{
"mcpServers": {
"injective": {
"command": "node",
"args": ["/path/to/injective-mcp-server/dist/mcp/server.js"],
"env": {
"INJECTIVE_NETWORK": "mainnet"
}
}
}
}
使用 Injective MCP Server
执行 MCP 工具调用:
wallet_generate- 生成新的 Injective 钱包。返回地址和助记词(仅显示一次)。wallet_import- 从十六进制私钥导入钱包。wallet_list- 列出本地密钥库中的所有钱包(仅地址,不包含密钥)。wallet_remove- 从密钥库中永久删除钱包。market_list- 列出所有活跃的永续期货市场。market_price- 按交易对代码(例如BTC)获取市场的当前预言机价格。account_balances- 获取银行账户和子账户余额。支持所有代币类型。account_positions- 获取未平仓的永续仓位及未实现盈亏。token_metadata- 查询任意 denom 的代码、小数位数和类型。trade_open- 使用市价单开仓(Cosmos 签名)。trade_close- 使用市价单平仓(Cosmos 签名)。trade_open_eip712- 使用 EIP-712 Ethereum 签名开仓(兼容 MetaMask 的密钥)。trade_close_eip712- 使用 EIP-712 Ethereum 签名平仓(兼容 MetaMask 的密钥)。trade_limit_open- 创建限价单。trade_limit_orders- 列出未成交的限价单。trade_limit_close- 按orderHash取消限价单。trade_limit_states- 按订单哈希查询订单状态。transfer_send- 向另一个 Injective 地址发送代币。subaccount_deposit- 将银行账户余额存入交易子账户。subaccount_withdraw- 从交易子账户提取资金,转回银行账户余额。bridge_withdraw_to_eth- 通过 Peggy 桥提取到 Ethereum(约需 30 分钟,需支付手续费)。bridge_debridge_quote- 获取通过 deBridge DLN 转至任意支持链的报价。只读。bridge_debridge_send- 通过 deBridge DLN 将代币从 Injective 桥接到另一条链。evm_broadcast- 在 Injective EVM 上广播原始 EVM 交易。
参见:https://raw.githubusercontent.com/InjectiveLabs/mcp-server/refs/heads/main/README.md
已知注意事项
为任何构建或扩展 MCP 服务,或与 MetaMask 集成的人员提供的重要发现。
EIP-712 签名(MetaMask)
- 使用 V2,而不是 V1。 V1(
getEip712TypedData)使用非标准的域类型(verifyingContract: "cosmos"、salt: "0"均为字符串)。MetaMask 的eth_signTypedData_v4会静默地产生无效签名。始终使用getEip712TypedDataV2+SIGN_EIP712_V2。 - 费用对象必须完全一致。
getEip712TypedDataV2()和createTransaction()必须接收完全相同的费用对象。如果其中一个使用 SDK 默认费用,另一个使用自定义费用,链上重建的类型化数据就会不同 → 哈希不匹配 → 签名验证失败。 evmChainId可以是任意 EVM 链。 无论 MetaMask 连接到哪条 EVM 链,Injective EIP-712 签名都能正常工作。通过eth_chainId读取链 ID,并将其传递给 EIP-712 域和createWeb3Extension。
SDK fromJSON 的缩放处理
MsgCreateDerivativeMarketOrder.fromJSON内部会乘以 10^18。 它要求传入链单位的数值(USDT 市场的价格/保证金已乘以 10^6),然后会为 protobuf 补上 18 位小数。传入:price = humanPrice × 10^6、margin = humanMargin × 10^6、quantity = humanQty(不要按报价币的小数位缩放)。
保证金计算
- 在精确的最低值之上增加 1–2% 的缓冲。 如果
margin == price × qty × initialMarginRatio恰好相等,链可能会因舍入问题拒绝该订单。 - 验证时使用
max(oraclePrice, markPrice)。 链会根据预言机价格和标记价格中的较高者验证保证金。如果标记价格高于预言机价格,仅按预言机价格计算的保证金可能不足。 stakeUsdt指的是保证金,而不是名义价值。 在 Web 应用中,用户的质押参数就是其保证金。qty = stake × leverage / price,而不是notional / price。
平仓订单
- 减仓时使用
margin: '0'。 Injective 不需要单独的isReduceOnly标志。 - 平仓时使用 1% 的滑点。 对低杠杆仓位使用 5% 的滑点可能触发“订单价格超过破产价格”错误。
子账户存款
- 银行余额 ≠ 交易所子账户余额。 下达衍生品订单前,必须使用
MsgDeposit(或调用subaccount_deposit工具)将 USDT 从银行账户转入子账户。始终检查子账户余额,并在需要时自动存款。
部署(Express / Web 应用)
- 从正确的子目录提供文件。 如果
server.js从dist/提供文件,就应将构建文件部署到dist/,而不是项目根目录。 - 为 HTML 设置禁用缓存的响应头。 如果 HTML 响应没有
Cache-Control: no-cache, no-store, must-revalidate,浏览器在部署后可能仍会提供过期的 JS 包。
相关技能
此技能不使用也不依赖任何其他技能。
前置条件
必须安装 Node.js v22 或更高版本。
使用 node -v 检查。