persistenceone-bridgekitty
OfficialBridgeKitty 🐱
AIエージェント向けのクロスチェーンブリッジアグリゲーターMCPサーバー。1つのサーバーで5つのブリッジバックエンドを統合し、EVM、Solana、Cosmosチェーン全体で最適なルートを提供します。
BridgeKittyは、AIエージェント(Claude、Cursor、GPT、またはMCP互換のAI)に対し、クロスチェーンブリッジ転送を検索・実行する機能を提供します。これには、自動ルート最適化、手数料比較、残高確認、安全警告が含まれます。
最新のnpmリリース: @persistenceone/bridgekitty@0.3.9
v0.3.9の新機能
XPRTツールの抽出 — ステーキング、報酬、ファーミングツールをスタンドアロンの
xprt-farming-toolkitパッケージに移行しましたPersistence Interopバックエンドの削除 — BridgeKittyは、5つのバックエンド(deBridge、Relay、LI.FI、Across、Squid)に特化したブリッジアグリゲーターとなりました
スリム化されたインターフェース — ツールの数を減らし、エージェントにとってのスコープを明確化しました
sign_and_sendパラメータ — エージェントがローカルに保存されたウォレットキーを使用して、トランザクションに直接署名・ブロードキャストできるようになりました完全なEVM署名サポート — すべてのEVMバックエンド(Across、Relay、LI.FI、Squid、deBridge)およびPersistence Interop (EIP-712) で動作します
シミュレーションの修正 — ERC20ブリッジが新規ウォレットで動作するようになりました(以前は時期尚早なシミュレーションによってブロックされていました)
Solana署名 — 次回リリースで対応予定
Solanaサポート — EVM ↔ Solana間の双方向ブリッジ(ラップされていないネイティブSOLの送金)
Cosmosサポート — Squid (Axelar) を介したEVM → Persistence/Cosmos Hubのブリッジ
プロトコル手数料の透明性 — deBridgeのfixFee、運営費、合計コストをすべての見積もりで表示
残高警告 — ブリッジ額 + プロトコル手数料 + ガス代をウォレットがカバーできない場合に警告
XPRTステーキング — MCPサーバーから直接ステーキング/アンステーキング/報酬請求が可能
ファーミング倍率 — 報酬APIからステーキングティア(1x → 3x → 5x)を追跡
見積もりの自動更新 — 期限切れの見積もりは実行時に自動再取得(60秒で期限切れ)
ERC-20承認 — トークンブリッジ用に常に生成(Relay + deBridge)
ブリッジステータスの追跡 — プロバイダーAPIがまだインデックスしていない場合のオンチェーンフォールバック
Related MCP server: LI.FI MCP Server
対応ブリッジ
バックエンド | タイプ | チェーン | 強み |
deBridge (DLN) | 直接 | EVM + Solana | 高速なインテントベースのフィル、Solanaサポート |
Relay | 直接 | EVM + Solana | プロトコル手数料なし、ガス最適化 |
LI.FI | アグリゲーター | EVM | 最も広いカバレッジ(30以上のブリッジ、任意のトークン間スワップ) |
Across | 直接 | EVM | 最速のフィル(約6秒)、同一トークンブリッジ |
Squid (Axelar) | アグリゲーター | EVM + Cosmos | EVM → Cosmosルートの唯一の選択肢 |
ブリッジ方向
方向 | バックエンド | ステータス |
EVM → EVM | 全5種 | ✅ 本番稼働 |
EVM → Solana | deBridge, Relay | ✅ 本番稼働 |
Solana → EVM | deBridge | ✅ 本番稼働 |
EVM → Cosmos | Squid | ✅ 本番稼働 |
クイックスタート
npx (インストール不要)
npx @persistenceone/bridgekittyClaude Code
MCP設定 (~/.claude/claude_code_config.json) に追加してください:
{
"mcpServers": {
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}
}Cursor IDE
CursorのMCP設定(Settings > MCP Servers)に追加してください:
{
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}Claude Desktop
claude_desktop_config.json に追加してください:
{
"mcpServers": {
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}
}ウォレット設定
BridgeKittyは自律的なブリッジングのためにウォレットを管理できます。wallet_setupを実行してEVM、Cosmos、Solana用のウォレットを作成するか、見積もり時に独自のアドレスを指定してください。
ウォレット設定は ~/.bridgekitty/.env(または実行ディレクトリ)に保存されます。キーがローカルマシンから外部へ送信されることはありません。
変数 | 説明 |
| EVMプライベートキー (16進数) |
| BIP-39ニーモニック (EVM、Cosmos、Solanaキーを生成) |
| Solanaプライベートキー (base58) |
トランザクション署名
デフォルトでは、bridge_executeはエージェントやユーザーが外部で署名するための未署名トランザクションを返します。
sign_and_send: trueを設定すると自律的な署名が有効になります。BridgeKittyは~/.bridgekitty/.envに保存されたウォレットキーを使用して、以下のフロー全体を処理します:
承認 — ERC-20承認トランザクションを送信(必要な場合)
再構築 — 更新されたナンスでブリッジトランザクションを再取得(承認が送信された場合)
シミュレーション —
eth_estimateGasによる事前チェックを実行署名 — ローカルのプライベートキーでトランザクションに署名
ブロードキャスト — チェーンに送信し、txハッシュとエクスプローラーリンクを返す
オプションのAPIキー
変数 | 説明 |
| LI.FI APIキー (レート制限緩和) |
| deBridge APIキー |
| SquidインテグレーターID |
MCPツール
コアブリッジツール
ツール | 説明 |
| すべてのバックエンドから競争力のある見積もりを取得。手数料、時間見積もり、残高警告を表示。 |
| 見積もりからトランザクションを構築。承認の処理、期限切れ見積もりの自動更新。 |
| ブリッジの進捗を追跡。APIが未インデックスの場合のオンチェーンフォールバック。 |
| プロバイダーが対応するチェーンの一覧を表示。 |
| チェーン上のトークンを検索。 |
マルチホップ & 発見
ツール | 説明 |
| 直接ルートが存在しない場合のマルチホップルート解決。 |
| 例とツールの使用方法を含むエージェント向けオンボーディングガイド。 |
| 初心者向けのガイド付きオンボーディングフロー。 |
ウォレットツール
ツール | 説明 |
| 単一のニーモニックからEVM、Cosmos、Solanaのウォレットを作成。 |
| ニーモニックまたはプライベートキーから既存のウォレットをインポート。 |
| 設定されたウォレットアドレスとキーソースを表示。 |
| USD価格(CoinGecko)を含む全チェーンの残高を確認。 |
XPRTステーキングとファーミングは、スタンドアロンの
xprt-farming-toolkitパッケージに移行しました。
例: BaseからArbitrumへUSDCをブリッジする
デフォルト(未署名トランザクション)
Agent: "Bridge 100 USDC from Base to Arbitrum"
→ bridge_get_quote: Gets quotes from deBridge, Relay, LI.FI, Across
→ Shows: best rate, fees, estimated time, balance check
→ bridge_execute: Builds approval tx + bridge tx
→ Agent signs and sends both transactions
→ bridge_status: Tracks until destination confirmedsign_and_sendを使用(自律署名)
Agent: "Bridge 100 USDC from Base to Arbitrum"
→ bridge_get_quote: Gets quotes from all backends
→ bridge_execute with sign_and_send: true
→ Auto-signs approval tx + bridge tx using local wallet keys
→ Returns tx hash + explorer link
→ bridge_status: Tracks until destination confirmedアーキテクチャ
Agent → MCP Tools → Routing Engine → [deBridge, Relay, LI.FI, Across, Squid]
↓
Quote Cache (60s) + Circuit Breaker
↓
Best Quote → buildTransaction
↓
┌──────────┴──────────┐
↓ ↓
Unsigned TX Signed + Broadcast
(default) (sign_and_send)ルーティングエンジン: 全バックエンドからの並列見積もり、出力額によるランキング
サーキットブレーカー: 失敗したバックエンドを自動スキップし、段階的に復旧
トークンレジストリ: チェーンごとの正規アドレスを持つ45以上の検証済みトークン
ガス見積もり: マルチRPCフェイルオーバーを備えたチェーン対応のガス代見積もり
残高チェッカー: 実行前にトークンとネイティブ残高が手数料をカバーできるか検証
手数料の透明性: すべての見積もりでプロトコル手数料(deBridge fixFee、運営費)を表示
セキュリティ
正確な金額のみの承認(無制限承認は行わない)
実行前のトランザクションシミュレーション
検証済みトークンレジストリによるアドレススプーフィング防止
MCPプロトコル内にプライベートキーを含まない — エージェントは外部でトランザクションに署名
sign_and_sendはローカルに保存されたキーのみを使用(ネットワーク経由で送信されない)サーキットブレーカーによる連鎖的な障害の防止
エラーメッセージのサニタイズ(キーやパスの漏洩防止)
.envファイルの権限チェックと上書き保護
既知の制限事項
Solana → EVMは外部署名用のシリアライズされたトランザクションを返します(自動実行不可)
Relayのステータス追跡で、完了したクロスチェーンブリッジが「不明」と表示される場合があります
Solana SPLトークンは
wallet_balanceにまだ表示されません(ネイティブSOLのみ)Cosmos → EVMブリッジはまだサポートされていません(EVM → Cosmosのみ)
ライセンス
MIT
Available Tools
12 toolsbridge_chainsA
List supported chains for cross-chain bridging. Shows which providers support each chain. Chains are deduplicated and grouped by ecosystem: EVM, Cosmos, and Solana. Use 'search' parameter to filter by chain name. Use this to discover available routes before calling bridge_get_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Filter chains by name (e.g. 'base', 'arb') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses key behaviors: lists supported chains, deduplicates, groups by ecosystem, and shows provider support. Lacks output format details but sufficient for a read-only list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, and efficient wording. Could be slightly more concise but no unnecessary content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional param, no output schema), the description covers purpose, filtering, grouping, deduplication, and usage sequence. Lacks output structure but adequate for a listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one optional parameter 'search' described. The description adds value by explaining its purpose (filter by name) and giving examples, going beyond the schema's bare description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists supported chains for cross-chain bridging, specifies deduplication and grouping by ecosystem, and differentiates from sibling tools like bridge_get_quote by indicating it's for discovering routes before getting a quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use the 'search' parameter for filtering and recommends using this tool before bridge_get_quote to discover available routes, providing clear usage context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_executeA
Get the unsigned transaction data to execute a cross-chain bridge transfer. Supports all providers: LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop. By default returns unsigned transaction(s) for the agent/user to sign and send. Set sign_and_send=true to sign and broadcast using the locally-stored wallet key (requires wallet_setup). Preconditions: Call bridge_get_quote first and pass the quoteId. Ensure sufficient gas on source chain. If an approval is needed (unsigned mode), send the approvalTransaction first, then the main transaction. After execution, use bridge_status with the returned trackingId to monitor progress.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | Quote ID from bridge_get_quote result | |
| slippage | No | Max slippage tolerance (0.005 = 0.5%). Applied by backends during quoting; reserved for future per-execution override. | |
| sign_and_send | No | If true, sign and broadcast the transaction server-side using the wallet key from wallet_setup. Supports EVM chains and Persistence Interop. Solana falls back to unsigned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description thoroughly discloses behavior: returns unsigned transaction(s) by default, optional signing with wallet key, preconditions (sufficient gas, approval flow), and post-use monitoring (bridge_status). It also notes a limitation: 'Solana falls back to unsigned.' This is highly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph but efficiently structured: main purpose first, then details. Every sentence adds value—preconditions, modes, approval flow, post-execution step. No redundant or vague statements. Slightly long but appropriate for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values and workflow. It mentions 'unsigned transaction(s)', approval transaction sequencing, and a trackingId for bridge_status. It covers preconditions, execution modes, and post-execution monitoring, making it complete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful context: explains that slippage has a default and is reserved for future overrides, describes sign_and_send behavior across chains, and clarifies that quoteId comes from bridge_get_quote. This exceeds the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the unsigned transaction data to execute a cross-chain bridge transfer.' It specifies the supported providers and distinguishes from siblings like bridge_get_quote (quote) and bridge_status (monitoring). The verb 'execute' and resource 'bridge transfer' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit preconditions: 'Call bridge_get_quote first and pass the quoteId.' It also explains when to use sign_and_send vs unsigned mode, and mentions handling approval transactions. While it doesn't explicitly state when not to use the tool, the context is clear for an AI agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_get_quoteA
Get the best cross-chain bridge quote across multiple providers (LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop). Supports EVM chains, Cosmos chains (Persistence, Cosmos Hub), and Solana. Accepts token symbols (e.g. 'USDC', 'ETH', 'WBTC', 'XPRT', 'ATOM') or contract addresses (0x...). Symbols are resolved to verified canonical addresses only — no unverified tokens. Returns ranked options by output amount, speed, and fees. Includes failedProviders array showing which providers didn't return quotes and why. Preconditions: None for quoting. Use bridge_execute to act on a quote. Error codes: 'Token resolution failed' (unknown symbol), 'Rate limited' (too many requests), 'Validation error' (invalid params).
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount in human-readable units (e.g. '100' for 100 USDC) | |
| toChain | Yes | Destination chain | |
| toToken | Yes | Token to receive — symbol (e.g. 'USDC', 'ETH') or contract address (0x...). Symbols resolve to verified canonical addresses only. | |
| fromChain | Yes | Source chain (e.g. 'ethereum', 'base', 'arbitrum', or chain ID like '1', '8453') | |
| fromToken | Yes | Token to send — symbol (e.g. 'USDC', 'ETH', 'WBTC') or contract address (0x...). Symbols resolve to verified canonical addresses only. | |
| providers | No | Optional: only query specific providers (e.g. ['squid', 'lifi']). Default: query all. | |
| toAddress | No | Recipient address (defaults to fromAddress) | |
| preference | No | Optimize for lowest cost or fastest delivery | fastest |
| fromAddress | Yes | Sender wallet address (0x... for EVM, base58 for Solana) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that symbols resolve to verified canonical addresses only, includes a failedProviders array, lists error codes, and mentions the return format (ranked options by output amount, speed, fees). It does not mention auth needs or rate limits, but the error code 'Rate limited' hints at rate limiting. Overall, good transparency for a non-destructive query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the main purpose. It covers supported chains, token resolution, return format, preconditions, and error codes in a logical order. Every sentence adds value, though the list of providers could be shortened. Still, it is appropriately sized for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, cross-chain, multiple providers) and no output schema, the description covers inputs, behavior, and outputs adequately. It describes the return as ranked options by output amount, speed, and fees, plus a failedProviders array. While it lacks detailed output structure, it provides enough context for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). The description adds meaningful context beyond the schema: explains that amounts are in human-readable units, fromChain accepts names or IDs, symbols resolve to verified addresses, providers optional defaults to all, and fromAddress format depends on chain. This extra detail justifies a score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the best cross-chain bridge quote across multiple providers, listing specific providers and supported chains. It differentiates itself from sibling tools like bridge_execute (to act on a quote) and bridge_quote_multi (implied alternative). The inclusion of error codes adds to clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Preconditions: None for quoting' and 'Use bridge_execute to act on a quote', providing clear when-to-use guidance. However, it does not distinguish from bridge_quote_multi or mention when to avoid using this tool (e.g., for historical data). The guidance is sufficient for the primary use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridgekitty_helpA
Get help and guidance on using BridgeKitty. Topics: overview (default), bridging, farming, wallet, troubleshooting. Returns structured guides with recommended tool sequences and common pitfalls.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Help topic: 'overview', 'bridging', 'farming', 'wallet', or 'troubleshooting' | overview |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It states that the tool returns structured guides with recommended tool sequences and common pitfalls, which adds behavioral context. However, it does not disclose any potential side effects (though unlikely for a help tool), auth requirements, or rate limits. The description adds modest value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It front-loads the purpose, then lists topics and output characteristics. Every sentence provides essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is complete. It explains what the tool does, which topics are available, and what kind of output to expect. There is no missing information that would hinder correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the 'topic' parameter. The tool description adds additional context about what the returned guides contain (structured guides with sequences and pitfalls), which enhances understanding beyond the enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides help and guidance on BridgeKitty, listing specific topics (overview, bridging, farming, wallet, troubleshooting). It differentiates itself from sibling tools that perform actions (e.g., bridge_execute, wallet_import).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists topics and indicates the default topic is 'overview'. It implies using this tool for guidance before using other tools, but does not explicitly state when not to use it or provide alternatives. However, the sibling tools are all actions, so the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_quote_multiA
Get quotes for multi-hop routes across supported EVM chains. Resolves optimal path internally -- e.g., ETH on Base to USDC on Arbitrum may route through WBTC. Returns the full route as ordered hops with per-hop detail. Note: For Cosmos destinations (Persistence, Cosmos Hub), use xprt_farm_boost or bridge_get_quote with Squid Router.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount in human-readable units (e.g. '100' for 100 USDC) | |
| toChain | Yes | Destination chain (e.g. 'arbitrum', 'bsc', or chain ID) | |
| toToken | Yes | Token to receive -- symbol (e.g. 'USDC', 'ETH') or contract address (0x...) | |
| optimize | No | Optimize for lowest cost or fastest delivery | cheapest |
| fromChain | Yes | Source chain (e.g. 'base', 'ethereum', or chain ID like '8453') | |
| fromToken | Yes | Token to send -- symbol (e.g. 'USDC', 'ETH') or contract address (0x...) | |
| fromAddress | Yes | Sender wallet address (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It reveals that the tool resolves optimal paths internally and returns ordered hops with per-hop detail. However, it omits details like latency, error behavior, or whether quotes are estimates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences plus a short note. It front-loads the purpose, gives an example, states the return format, and adds a crucial usage caveat. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description covers the main purpose, example, return structure, and alternative tools. It could be enhanced by mentioning that quotes are non-binding estimates, but overall it equips the agent with essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters are fully described in the input schema (100% coverage). The tool description adds no additional parameter-level information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get quotes for multi-hop routes across supported EVM chains' and provides an illustrative example. It distinguishes from Cosmos-specific tools by directing users to alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises against using this tool for Cosmos destinations, directing users to xprt_farm_boost or bridge_get_quote. However, it does not clarify when to prefer this over bridge_get_quote for EVM single-hop routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_statusA
Check the status of a cross-chain bridge transfer. Supports all providers: LI.FI, Squid Router, deBridge, Across, Relay, Persistence Interop. Provide the tracking ID from bridge_execute, or a transaction hash with provider name. Returns: status (pending/in_progress/completed/failed), source/destination tx hashes, elapsed time, and estimated remaining time.
| Name | Required | Description | Default |
|---|---|---|---|
| txHash | No | Source chain transaction hash | |
| toChain | No | Destination chain ID (needed with txHash for LI.FI) | |
| provider | No | Bridge provider (e.g. 'lifi', 'persistence') | |
| fromChain | No | Source chain ID (needed with txHash for LI.FI) | |
| trackingId | No | Tracking ID from bridge_execute |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return values (status, tx hashes, times) and notes support for all providers. No annotations provided, so description carries burden; it implies a read-only operation without stating explicitly, which is acceptable for a status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, usage instructions, return summary. Front-loaded and free of fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return values. Covers all necessary usage aspects for a status check tool with multiple optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds significant meaning by explaining the two usage modes (trackingId alone vs txHash+provider+chains) and detailing return fields. This goes beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks the status of a cross-chain bridge transfer, lists supported providers, and specifies how to identify the transfer (tracking ID or tx hash + provider). This distinguishes it from siblings like bridge_execute or bridge_get_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on when to use (after bridge_execute) and how to provide identifiers (trackingId or txHash+provider). Does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_tokensA
List popular tokens available for bridging on a given chain. Returns verified token symbols, contract addresses, and decimals. Supports EVM chains and Cosmos chains (Persistence, Cosmos Hub). Use token symbols or addresses from this list in bridge_get_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name or ID (e.g. 'base', '8453') | |
| search | No | Filter by token name or symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool returns 'verified token symbols, contract addresses, and decimals' and supports specific chains. It is transparent about the output format and scope, though it does not mention rate limits or error handling, which is acceptable for a read-only list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no redundancy. The first sentence states purpose and output, the second adds supported chains and a usage hint. Every sentence is essential and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description adequately covers purpose, output format, supported chains, and downstream usage. It does not mention pagination or limits, but for a list of popular tokens, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (chain, search). The description adds no new parameter-specific information beyond the schema; it only provides broader context about output usage. Therefore, it meets the baseline expectation for a tool with high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List popular tokens available for bridging on a given chain' with a specific verb (List) and resource (tokens for bridging). It distinguishes from sibling tools like bridge_chains (lists chains) and bridge_get_quote (gets quotes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs 'Use token symbols or addresses from this list in bridge_get_quote', guiding the agent on how to use the output. It also mentions supported chains (EVM, Persistence, Cosmos Hub). However, it doesn't provide when-not-to-use or alternative tools beyond the implicit differentiation from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_balanceA
Check wallet balances across EVM, Cosmos, and Solana chains. Returns native token balances AND key ERC-20 token balances (USDC, USDT, WETH, WBTC, cbBTC, BTCB) by default. Uses multiple RPCs with automatic failover. Returns per-token balance, USD value (via CoinGecko), and total portfolio value. Call this before any bridging or farming operation to verify sufficient funds and gas.
| Name | Required | Description | Default |
|---|---|---|---|
| chains | No | Chains to check (default: all). Options: ethereum, optimism, bsc, polygon, arbitrum, avalanche, base, linea, scroll, zksync, mantle, blast, persistence, solana | |
| tokens | No | Custom tokens to check per chain, e.g. { "base": [{ "address": "0x...", "symbol": "FOO", "decimals": 18 }] } | |
| includeUsd | No | Include USD valuations for each balance (default: true). Uses CoinGecko prices, cached for 60s. | |
| includeTokens | No | Include ERC-20 token balances (USDC, USDT, WETH, WBTC, cbBTC, BTCB). Default: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses automatic RPC failover, multiple chains, default tokens, and USD valuation via CoinGecko with caching. No destructive behavior is implied, which is appropriate for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each providing essential information: what the tool does, what it returns, and when to use it. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently explains return values (per-token balance, USD value, total portfolio value) and mentions important behavior like RPC failover and caching. For a wallet balance tool, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 4 parameters with descriptions (100% coverage). The description adds value by explaining default behavior (default tokens, CoinGecko with 60s cache) and the purpose of the tool. It reinforces and augments schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks wallet balances across EVM, Cosmos, and Solana chains, returns native and key ERC-20 token balances, and provides USD values. It distinguishes from siblings by mentioning bridging operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this before any bridging or farming operation to verify sufficient funds and gas,' providing clear when-to-use. It doesn't explicitly mention alternatives, but context from sibling tools suggests this is the balance check tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_importA
Import existing keys. Alternative: edit ~/.bridgekitty/.env directly (MNEMONIC=, PRIVATE_KEY=0x). Mnemonic gives EVM + Persistence + Solana; privateKey alone gives EVM only. Use wallet_status to check current state.
| Name | Required | Description | Default |
|---|---|---|---|
| mnemonic | No | 12 or 24 word BIP-39 mnemonic phrase | |
| overwrite | No | Set true to overwrite existing keys (back up first!) | |
| privateKey | No | 0x-prefixed hex EVM private key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It reveals important traits: overwrite behavior with a backup warning, and the multi-chain vs EVM-only outcome based on parameter choice. This transparently informs the agent of consequences, though it could mention whether the operation is reversible or requires permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of four concise sentences, each adding unique value. It front-loads the core purpose and immediately provides an alternative, then explains parameter outcomes, and ends with a follow-up action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and three optional parameters, the description adequately covers what the tool does, the effects of inputs, and a post-action suggestion. It lacks explicit mention of return value or error conditions, but for a state-modifying tool, the behavioral and usage guidance is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining what each key type provides ('Mnemonic gives EVM + Persistence + Solana; privateKey alone gives EVM only'), which goes beyond the schema's parameter descriptions. This semantic enrichment justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Import existing keys.' It also distinguishes itself by detailing the effects of different inputs (mnemonic vs privateKey) and mentions an alternative method (editing .env). This provides unambiguous purpose and differentiation from sibling tools like wallet_setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly offers an alternative method ('edit ~/.bridgekitty/.env directly') and advises checking state with wallet_status. While it doesn't list explicit when-not conditions, this guidance effectively helps the agent choose between methods and verify outcomes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_setupA
Create wallets for all supported chains (EVM, Cosmos, Solana). Keys saved to ~/.bridgekitty/.env. Use wallet_status first to check if already configured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the side effect: 'Keys saved to ~/.bridgekitty/.env'. No annotations exist, so description carries full burden. Could be more explicit about overwrite behavior or idempotency, but the hint to check wallet_status mitigates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded action. Every sentence adds value: first states purpose, second adds behavioral context and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides prerequisite (check wallet_status) and side effect (file save). For a setup tool with no parameters and no output schema, it covers key aspects. Lacks idempotency detail but is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so description does not need to add param info. The baseline for 0 params is 4, and the description covers the tool's operation without needing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the specific resource 'wallets for all supported chains (EVM, Cosmos, Solana)'. It distinguishes the tool from sibling tools like wallet_status and wallet_import by specifying the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use wallet_status first to check if already configured', providing clear when-to-use context and directing to a sibling tool for pre-conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_statusA
Check if a wallet is configured. Returns wallet address, key status, and config file location. Call this FIRST before wallet_setup or wallet_import.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the tool is a read-only status check and lists return values. While it doesn't specify behavior when wallet is not configured, the description is sufficiently transparent for a simple status tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no fluff. Purpose and usage guideline are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and low complexity, the description provides sufficient context: purpose, return info, and order of operations relative to siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (no parameters), baseline is 3. Description does not add parameter details, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks wallet configuration and returns specific fields (address, key status, config file location). It also distinguishes from siblings by advising to call this first before wallet_setup or wallet_import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call this tool first before wallet_setup or wallet_import, providing clear when-to-use and alternatives context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xprt_onboardA
Personalized onboarding for XPRT farming. Detects current wallet state and returns an ordered action plan to go from your current position to actively farming XPRT rewards.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the tool detects state and returns a plan, implying a read-only operation. However, it does not detail potential side effects, prerequisites (e.g., wallet existence), or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both essential and front-loaded with the purpose. No wasted words while conveying the personalized and state-aware nature of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and zero params, the description adequately covers what the tool does and what it returns. It could be more complete by mentioning that a wallet context is required, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, schema coverage is 100%. The description adds value by explaining the tool automatically uses the current wallet state, so no parameters are needed. This exceeds the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides personalized onboarding for XPRT farming by detecting wallet state and returning an action plan. It uses specific verbs and resource, distinguishing it from sibling tools like bridge and wallet utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user wants to start farming XPRT rewards, but does not explicitly exclude other scenarios or mention prerequisites like having a wallet connected. Context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v0.3.1- Added
bridge_chains - Added
bridge_execute - Added
bridge_get_quote - Added
bridge_quote_multi - Added
bridge_status - Added
bridge_tokens - Added
bridgekitty_help - Added
wallet_balance - Added
wallet_import - Added
wallet_setup - Added
wallet_status - Added
xprt_onboard
12 tool updates
- Removed
bridge_chains - Removed
bridge_execute - Removed
bridge_get_quote - Removed
bridge_quote_multi - Removed
bridge_status - Removed
bridge_tokens - Removed
bridgekitty_help - Removed
wallet_balance - Removed
wallet_import - Removed
wallet_setup - Removed
wallet_status - Removed
xprt_onboard
12 tool updates
v0.3.9- First observed
bridge_chains - First observed
bridge_execute - First observed
bridge_get_quote - First observed
bridge_quote_multi - First observed
bridge_status - First observed
bridge_tokens - First observed
bridgekitty_help - First observed
wallet_balance - First observed
wallet_import - First observed
wallet_setup - First observed
wallet_status - First observed
xprt_onboard
TDQS
Scored across 12 tools
Each tool targets a distinct function: quoting, executing, status checking, chain/token discovery, and wallet operations. The two quote tools (single-hop vs multi-hop) are clearly differentiated by descriptions, eliminating ambiguity.
All tools use snake_case and follow a domain_verb pattern (bridge_get_quote, wallet_balance). Minor deviations like bridge_quote_multi and xprt_onboard are still readable and predictable, with no mixed conventions.
12 tools is well within the ideal scope for a cross-chain bridging and wallet management server. Each tool contributes to the core workflows of quoting, executing, tracking, and wallet setup.
The bridging lifecycle is covered (quote, execute, status, token/chain discovery, multi-hop), and wallet management is complete (setup, import, balance, status). Onboarding and help tools fill gaps, though farming-specific execution tools are absent.
Maintenance
Related MCP Connectors
Multi-aggregator swap router for AI agents on Base. 10 bps fee. MCP-native, non-custodial.
Agent MCP for DeFi: cross-chain LINQ fan-out, AMM quotes/swaps, bridge, AI. Solana+EVM. Free+x402.
Li.Fi MCP: cross-chain aggregation — quotes, routes, status, chains, tokens, execution.
Non-custodial DEX aggregator for autonomous AI agents: best-price swaps on 8 chains, no API key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that delivers real-time cross-chain bridge rates and optimal transfer routes to onchain AI agents.7 npm5MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with LI.FI's cross-chain infrastructure, providing access to blockchain networks, token data, bridges, and transaction services through a standardized protocol.-
- FlicenseNot gradedqualityFmaintenanceEnables cross-chain cryptocurrency swap quotes and operations using the deBridge DLN protocol. Provides read-only access to swap estimates, supported chains, token information, and order status tracking across multiple blockchain networks.1-
- AlicenseAqualityCmaintenanceProvides cross-chain bridge and swap tools for AI agents using the Relay Protocol to interact with multiple blockchain networks. It enables agents to query supported chains, obtain transaction quotes, and generate unsigned transaction data for token transfers and swaps.1067 npm4MIT