Skip to main content
Glama

trippy-mcp

让你的编码代理在 Injective 上进行交易。trippy-mcp 是一个 stdio MCP 服务器,可接入 Claude Code、Codex、Cursor(任何 MCP 客户端),并为其提供以下工具:

  • 在 SHROOM Pad 上启动代币(联合曲线 → 毕业至 Choice CLMM 池)

  • 交易联合曲线代币(买入/卖出/报价,链上精确报价)

  • 通过 Choice 聚合路由器(AMM + CLMM + 订单簿智能订单路由)交换任何 Injective 代币

  • 携带代理身份:来自你代理的交易将在 Trippy Terminal 上获得 AGENT 徽章,并可选择链接到你的个人资料

非托管设计。 init 会在你的机器上生成一个新密钥;服务器永远不会看到它。代理钱包是一个有预算的燃烧钱包,你从主钱包向其充值——永远不会使用你的主密钥。

快速开始

npx trippy-mcp init      # generate the agent wallet, pick a name, register,
                         # and wire up every coding agent found on this machine
# then fund the printed address with a small INJ budget

然后只需对你的代理说:"shroom pad 上什么最热门?对排名第一的代币报价 0.5 INJ 的买入"——或者*"启动一个名为……的代币,使用这个标志"*。

init 会为你写入 MCP 条目。要稍后添加更多客户端,或连接到一个仓库:

trippy-mcp connect --client claude,codex,cursor,windsurf   # or --client all
trippy-mcp connect --scope project                         # writes ./.mcp.json
trippy-mcp connect --print                                 # just show the snippets

写入操作采用合并后重命名的方式,并在后台保留一份 .trippy-bak 副本,因此 ~/.claude.json(或你的 Codex TOML,包括注释等)中的其他内容不会受到影响。密钥库密码短语仅嵌入在用户作用域文件中,权限为 0600——项目配置会提交到 git,因此会将其排除并附上说明。

Related MCP server: seashail

安全模型

密钥永远不会离开你的机器,四个独立的层保护你的资金免受行为不当(或提示注入)的模型影响:

  1. 有预算的燃烧钱包——钱包只持有你发送给它的资金。你的主钱包永远不会被触及。

  2. 签名器中的策略引擎(不在工具中,也不在模型中):每笔交易美元上限、滚动 24 小时预算、滑点上限,以及硬性合约白名单(LaunchpadCore、其报价资产、Choice 聚合器、空投领取合约——没有其他)。在 ~/.trippy-mcp/config.json 中配置;更改它是人类操作。

  3. 归集是单向回家——sweep 不接受目标地址。资金只能发送到你在 init 时固定的所有者地址。空投是唯一的例外,它会将价值发送到你未命名的地址,因此它们有自己的上限(airdropCapUsd,与交易上限分开),绝不允许跳过美元估值,并且需要预览的计划 ID 而不是原始条件。

  4. 不可信数据纪律——代币名称/描述是攻击者控制的互联网文本;工具会对其进行清理,并将其置于 untrusted_metadata 下,以便你的代理将其视为数据,而不是指令。

此外:默认加密密钥库(scrypt + AES-256-GCM)、仅追加审计日志(~/.trippy-mcp/audit.log)、dryRun 模式,以及 tradingEnabled 终止开关。export-key 存在但会发出警告。

工具

工具

功能

explain

协议如何运作——曲线机制、报价资产选择、每项费用/折扣/门槛、Choice 路由注意事项、代理自身的策略。每个数字在调用时从链上读取,因此文档不会在版本之间过时

search_tokens / token_info

解析并检查任何代币(曲线状态、毕业进度、本次启动自身的费用/门槛条款、Choice 市场数据)

trending / new_launches / recent_trades

发现 + 交易记录

candles

OHLCV 价格历史,以 CSV 行形式呈现,带有 columns 标题——曲线启动(报价计价 + 每桶美元汇率)或 Choice 市场(美元计价)

my_activity

代理在两个场所的自身历史:曲线交易 + Choice 交换、订单簿成交、窗口流盈亏

quote

预览买入/卖出——自动路由曲线与 Choice

buy / sell

执行——SHROOM Pad 上的曲线交易,其他一切通过 Choice 聚合器

create_token

在联合曲线上启动(图片上传 → IPFS,约 0.2 INJ 创建费,可选初始买入)

claim_fees

创建者费用、推荐费用、已取消启动的退款(先读取,仅领取非零项)

wallet_status / sweep

余额 + 策略预算;将资金发送回家

portfolio

以美元计价的每项持仓(报价汇率馈送 / 上次曲线交易 / Choice 统计数据)

agent_info

身份 + 如何将代理认领到你的 Terminal 个人资料

airdrop_preview / airdrop_execute / airdrop_status

向快照进行空投——CSV、代币/启动持有者、NFT(CW721 + CW404)、治理投票者、Mito 金库 LP 或 BuyBack 参与者。两种方式:默克尔认领空投(任何列表大小只需一笔交易,未认领资金可在到期后收回)或直接推送到每个钱包(最多 1000 个接收者,无需认领,不可逆)。两步提交:预览不发布也不广播任何内容,执行仅资助已预览的计划。推送运行可恢复——重新运行相同的 planId,不会重复支付任何人

airdrop_manage

收回已过期活动的剩余资金、延长其到期时间、冻结列表、暂停/恢复认领。仅使用 campaignId 调用以查看合约当前将接受哪些操作以及原因——检查是本地进行的,不花费任何费用

buy/sell/quote/portfolio/sweep 在其描述中说明了各自的作用范围,因此同时连接了 Injective MCP 的模型会选择正确的服务器(以及正确的钱包)——详见下文。

工具名称是裸动词。Claude Code 会为你添加命名空间(mcp__trippy__buy);在显示平面列表的环境中,请在服务器环境中设置 TRIPPY_MCP_TOOL_PREFIX=trippy,以注册 trippy_buy、trippy_sell 等。

与 Injective AI SDK 配合使用

@injectivelabs/ainj 自带了自己的 MCP 服务器,两者设计为一起运行——名称上不会冲突,分工明确:

关注点

trippy-mcp

Injective MCP(ainj mcp main)

负责

现货:曲线、聚合器交换、代币发行

永续合约、子账户、桥接、转账、authz、链查询

交易

buy / sell / quote

trade_open / trade_close / trade_limit_*

余额

portfolio、wallet_status

account_balances、account_positions

代币数据

token_info(市场 + 曲线状态)

token_metadata(链上代币元数据)

它们为不同的钱包签名。 Injective MCP 的 wallet_generate / wallet_import 会写入 ~/.injective-agent/keys/;这些地址无法在此处交易。当该密钥库存在时,wallet_status 和 agent_info 会在 otherAgentWallets 下报告它,以便模型明确说明,而不是报告一个令人困惑的零。

请保持这种状态。预期的配对是资金循环——从你自己的钱包向这个代理提供资金(Injective MCP 的 transfer_send 可以正常工作),sweep 利润回来——而不是共享密钥。该服务器在签名时没有支出策略,并将密钥库密码作为工具参数接受,因此将此代理的密钥导入其中将一次性废除每笔交易限额、每日预算和固定的 sweep 目标。

有一个技能教代理以上所有内容:

npx skills add danvaneijck/trippy-mcp --skill injective-memecoin-trading

代理身份

init 将你的代理名称注册到 Trippy 注册表(由代理密钥签名——证明密钥控制,非托管)。此后,它的交易会在 Trippy Terminal 上显示 AGENT 徽章。要将其附加到你的个人资料(“由你操作”),请运行 trippy-mcp claim-code 并在 Terminal → Settings → Agents 中使用你的主钱包输入代码。

使用 --avatar 为代理提供个人资料图片(在 init 或任何后续 register 时):传入 https URL,或本地 .png/.jpg/.webp/.gif 文件——本地文件将通过 SHROOM API 上传到 IPFS。该图片会显示在 Terminal 为该代理地址显示个人资料头像的任何地方。重新注册时不带 --avatar 会保留当前图片。一旦代理被认领,其名称和头像也可以在 Terminal → Settings → Agents 中编辑,无需 CLI 往返。

链上身份(ERC-8004)

以上注册表是 Trippy 的。Injective 也有一个生态系统范围内的链上身份:ERC-8004 身份 NFT,背后有一个声誉注册表,位于主网地址 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432。铸造一个 NFT 将使你的代理在此终端之外也可被发现,并可移植到该注册表部署到的每个链上。它只需要一次交易,成本不到一分钱。

trippy-mcp identity register        mint the identity (one tx)
trippy-mcp identity show            read it back from the chain
trippy-mcp identity transfer --yes  hand it to your owner wallet
trippy-mcp identity link            sign the wallet link your wallet submits

register 使代理拥有自己的身份。将身份转移给你,是为了防止受损的代理密钥带走身份,顺序很重要:

  1. identity transfer --yes 将 NFT 发送到 init 时固定的所有者地址。这会清除注册表中指向代理的指针,因此其交易将不再归因于该身份,直到步骤 3。

  2. identity link 签署一条消息,授权你的钱包重新指向它。注册表拒绝任何超过 300 秒的截止时间,因此该签名设计为大约四分钟内有效,重新运行命令是免费的。

  3. 在 Terminal → Settings → Agents 中,按下 Complete on-chain link。这是来自你钱包的实际交易,因此需要 gas。如果倒计时过期,请重新运行 identity link。

agent_info 会报告身份以及哪一方拥有保管权,因此代理可以自己告诉你,连同它在 8004scan 上的页面。

CLI

trippy-mcp init          create wallet + identity, then connect detected clients
                         (interactive; --plaintext, --network testnet, --avatar <url|path>, --no-connect)
trippy-mcp serve         run the MCP server (this is what your agent client launches)
trippy-mcp connect       write the MCP entry into your coding agent's config
                         (--client claude|codex|cursor|windsurf|all, --scope user|project,
                          --name <server-name>, --no-passphrase, --print)
trippy-mcp status        balances (bank-authoritative), policy budget, registration
trippy-mcp register      re-register / rename; --avatar <url|path> sets the profile image
trippy-mcp claim-code    mint a profile-link code
trippy-mcp identity <register|show|link|transfer>
                         the agent's ERC-8004 on-chain identity
trippy-mcp sweep <asset> <amount|all>
trippy-mcp export-key --yes-i-understand

配置(~/.trippy-mcp/config.json)

{
  "network": "mainnet",
  "agentName": "my-agent",
  "ownerSweepAddress": "0x…",        // immutable — the only sweep destination
  "policy": {
    "perTxCapUsd": 200,
    "dailyBudgetUsd": 1000,
    "maxSlippageBps": 300,
    "tradingEnabled": true,
    "allowUnpricedSpend": false,      // permit spends with no USD price; each one is charged
                                     // perTxCapUsd against the 24h budget, since an unpriced
                                     // spend that counted as $0 would bypass the budget entirely
    "airdropCapUsd": 1000            // max USD per airdrop campaign; 0 = airdrop tools not
                                     // registered at all — including `airdrop_manage`, so wind
                                     // down any live campaign before switching them off
  },
  "dryRun": false,
  "cw20Tokens": []                   // extra CW20 contracts `portfolio` should probe, on top of
                                     // the built-ins (SHROOM, dINJ, NONJA, hINJ, DOJO, COKE,
                                     // Pedro). A CW20 balance is not bank state and cannot be
                                     // enumerated from the chain, so a holding is only visible
                                     // if its contract is known up front — `quote`/`sell` handle
                                     // any CW20 fine, but `portfolio` can only show these
  // optional: rpcUrls, lcdUrl, pumpApiBase, choiceApiBase, gasBufferPct, gasPriceWei, referrer
}

本包为你处理的 Injective 特性

  • eth_getBalance 可能在 Injective 的 EVM RPC 上为有资金的账户报告 0——余额从 Cosmos 银行(LCD)读取,一个传输层垫片确保 viem 的预检是诚实的。探索器/MetaMask 可能为代理钱包显示 0;trippy-mcp status 是权威的。

  • Gas 按限制收取,而不是使用量——签名者会估算并添加一个小缓冲,而不是固定限制。

  • 公共 RPC 间歇性返回 502,回执会延迟——请求会在多个端点之间重试,缺失的回执会触发状态重新读取,而不是错误地报告失败。

  • 代币发行开始时状态为 Reserved,直到守护者绑定它们(约几秒):create_token 会等待并真实报告。

开发

npm ci && npm run typecheck && npm test && npm run build
node scripts/sync-abi.mjs --check     # ABI-drift guard against the vendored artifact
SHROOM_REPO=../shroom_launchpad node scripts/sync-abi.mjs --refresh

版本发布从 CI 在 v* 标签上发布(npm 通过 OIDC 进行可信发布,因此没有令牌,且来源自动验证)——更新版本号、打标签、推送。

设计和测试说明:

  • docs/DESIGN-protocol-docs-and-airdrops.md —— 为什么 explain 和空投轨道的形状如此,构建它们时做出的决策,以及首次在链上运行它们的全轨道 sweep(包括代码认为但链反驳的五件事)。

  • docs/TESTING-airdrops.md —— 如何在测试网上练习这些轨道而不影响实时安装,以及哪些尚未测试。

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Agent-native, self-hosted MCP server for crypto trading and DeFi management. Enables agents to query balances, execute trades, and manage positions with a policy engine and secure key storage.
    7
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that lets agents launch and trade coins on cook4.fun, a Uniswap-V3-native launchpad on the Robinhood chain.
    6
    1
    -