persistenceone-bridgekitty
OfficialBridgeKitty 🐱
Cross-Chain-Bridge-Aggregator-MCP-Server für KI-Agenten. Ein Server, 5 Bridge-Backends, beste Routen über EVM-, Solana- und Cosmos-Chains.
BridgeKitty gibt KI-Agenten (Claude, Cursor, GPT oder jede MCP-kompatible KI) die Fähigkeit, Cross-Chain-Bridge-Transfers zu finden und auszuführen – mit automatischer Routenoptimierung, Gebührenvergleich, Saldoüberprüfungen und Sicherheitswarnungen.
Neuestes npm-Release: @persistenceone/bridgekitty@0.3.9
Was ist neu in v0.3.9
XPRT-Tools extrahiert — Staking-, Rewards- und Farming-Tools wurden in das eigenständige
xprt-farming-toolkit-Paket verschobenPersistence Interop-Backend entfernt — BridgeKitty ist jetzt ein fokussierter Bridge-Aggregator über 5 Backends (deBridge, Relay, LI.FI, Across, Squid)
Schlankere Oberfläche — weniger Tools, klarerer Anwendungsbereich für Agenten
sign_and_send-Parameter — Agenten können jetzt Transaktionen direkt mit lokal gespeicherten Wallet-Keys signieren und übertragenVollständige EVM-Signierungsunterstützung — funktioniert mit allen EVM-Backends (Across, Relay, LI.FI, Squid, deBridge) + Persistence Interop (EIP-712)
Simulations-Fix — ERC20-Bridges funktionieren jetzt bei neuen Wallets (zuvor durch vorzeitige Simulation blockiert)
Solana-Signierung — kommt im nächsten Release
Solana-Unterstützung — bidirektionales Bridging EVM ↔ Solana (native SOL-Zustellung, nicht gewrappt)
Cosmos-Unterstützung — EVM → Persistence/Cosmos Hub via Squid (Axelar)
Transparenz der Protokollgebühren — deBridge fixFee, Betriebskosten und Gesamtkosten in jedem Angebot sichtbar
Saldo-Warnungen — warnt, wenn das Wallet den Bridge-Betrag + Protokollgebühren + Gas nicht decken kann
XPRT-Staking — Staking/Unstaking/Claiming von Rewards direkt vom MCP-Server aus
Farming-Multiplikator — verfolgt dein Staking-Tier (1x → 3x → 5x) über die Rewards-API
Automatische Aktualisierung von Angeboten — abgelaufene Angebote werden bei der Ausführung automatisch neu abgerufen (60s Ablaufzeit)
ERC-20-Genehmigungen — werden immer für Token-Bridges generiert (Relay + deBridge)
Bridge-Status-Tracking — On-Chain-Fallback, wenn der Provider-API noch nicht indexiert hat
Related MCP server: LI.FI MCP Server
Unterstützte Bridges
Backend | Typ | Chains | Stärke |
deBridge (DLN) | Direkt | EVM + Solana | Schnelle intent-basierte Fills, Solana-Unterstützung |
Relay | Direkt | EVM + Solana | Keine Protokollgebühr, Gas-optimiert |
LI.FI | Aggregator | EVM | Größte Abdeckung (30+ Bridges, Any-to-Any-Swap) |
Across | Direkt | EVM | Schnellste Fills (~6s), Bridging desselben Tokens |
Squid (Axelar) | Aggregator | EVM + Cosmos | Einzige Option für EVM → Cosmos-Routen |
Bridge-Richtungen
Richtung | Backends | Status |
EVM → EVM | Alle 5 | ✅ Produktion |
EVM → Solana | deBridge, Relay | ✅ Produktion |
Solana → EVM | deBridge | ✅ Produktion |
EVM → Cosmos | Squid | ✅ Produktion |
Schnellstart
npx (keine Installation)
npx @persistenceone/bridgekittyClaude Code
Zur MCP-Konfiguration hinzufügen (~/.claude/claude_code_config.json):
{
"mcpServers": {
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}
}Cursor IDE
Zu den MCP-Einstellungen von Cursor hinzufügen (Settings > MCP Servers):
{
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}Claude Desktop
Zu claude_desktop_config.json hinzufügen:
{
"mcpServers": {
"bridgekitty": {
"command": "npx",
"args": ["@persistenceone/bridgekitty"]
}
}
}Wallet-Einrichtung
BridgeKitty kann Wallets für autonomes Bridging verwalten. Führe wallet_setup aus, um Wallets für EVM, Cosmos und Solana zu erstellen – oder gib deine eigenen Adressen in den Angeboten an.
Die Wallet-Konfiguration wird in ~/.bridgekitty/.env gespeichert (oder in dem Verzeichnis, aus dem du das Programm ausführst). Keys verlassen niemals den lokalen Rechner.
Variable | Beschreibung |
| EVM Private Key (hex) |
| BIP-39 Mnemonic (leitet EVM-, Cosmos-, Solana-Keys ab) |
| Solana Private Key (base58) |
Transaktionssignierung
Standardmäßig gibt bridge_execute unsignierte Transaktionen zurück, die der Agent oder Benutzer extern signieren muss.
Setze sign_and_send: true, um autonomes Signieren zu aktivieren — BridgeKitty verwendet die in ~/.bridgekitty/.env gespeicherten Wallet-Keys, um den gesamten Ablauf zu handhaben:
Genehmigung — sendet die ERC-20-Genehmigungstransaktion (falls erforderlich)
Neuaufbau — ruft die Bridge-Transaktion mit aktualisierter Nonce erneut ab (falls eine Genehmigung gesendet wurde)
Simulation — führt einen
eth_estimateGas-Pre-Flight-Check durchSignieren — signiert die Transaktion mit dem lokalen Private Key
Übertragung — sendet sie an die Chain und gibt den Tx-Hash + Explorer-Link zurück
Optionale API-Keys
Variable | Beschreibung |
| LI.FI API-Key (höhere Ratenlimits) |
| deBridge API-Key |
| Squid Integrator-ID |
MCP-Tools
Core-Bridge-Tools
Tool | Beschreibung |
| Erhalte wettbewerbsfähige Angebote von allen Backends. Zeigt Gebühren, Zeitschätzungen, Saldo-Warnungen. |
| Erstelle Transaktion(en) aus einem Angebot. Handhabt Genehmigungen, aktualisiert abgelaufene Angebote automatisch. Setze |
| Verfolge den Bridge-Fortschritt. On-Chain-Fallback, wenn die API noch nicht indexiert hat. |
| Liste unterstützte Chains mit Provider-Abdeckung auf. |
| Suche nach Token auf einer Chain. |
Multi-Hop & Discovery
Tool | Beschreibung |
| Multi-Hop-Routenauflösung, wenn keine direkte Route existiert. |
| Agenten-Onboarding-Guide mit Beispielen und Tool-Nutzung. |
| Geführter Onboarding-Ablauf für Erstbenutzer. |
Wallet-Tools
Tool | Beschreibung |
| Erstelle Wallets für EVM, Cosmos, Solana aus einer einzigen Mnemonic. |
| Importiere ein bestehendes Wallet aus einer Mnemonic oder einem Private Key. |
| Zeige konfigurierte Wallet-Adressen und Key-Quelle an. |
| Überprüfe Salden über alle Chains hinweg mit USD-Preisen (CoinGecko). |
XPRT-Staking & Farming wurde in das eigenständige
xprt-farming-toolkit-Paket verschoben.
Beispiel: Bridge USDC von Base nach Arbitrum
Standard (unsignierte Transaktionen)
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 confirmedMit sign_and_send (autonomes Signieren)
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 confirmedArchitektur
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)Routing-Engine: Parallele Angebote von allen Backends, sortiert nach Ausgabebetrag
Circuit Breaker: Überspringt automatisch fehlerhafte Backends, schrittweise Wiederherstellung
Token-Registry: 45+ verifizierte Token mit kanonischen Adressen pro Chain
Gas-Schätzer: Chain-bewusste Gas-Kostenschätzung mit Multi-RPC-Failover
Saldo-Prüfer: Validiert Token- + natives Guthaben für Gebühren vor der Ausführung
Gebührentransparenz: Protokollgebühren (deBridge fixFee, Betriebskosten) werden in jedem Angebot angezeigt
Sicherheit
Nur exakte Genehmigungsbeträge (niemals unbegrenzt)
Transaktionssimulation vor der Ausführung
Verifizierte Token-Registry verhindert Adress-Spoofing
Keine Private Keys im MCP-Protokoll — Agenten signieren Transaktionen extern
sign_and_sendverwendet nur lokal gespeicherte Keys (werden niemals über das Netzwerk übertragen)Circuit Breaker verhindert kaskadierende Fehler
Fehlermeldungen bereinigt (kein Leak von Keys/Pfaden)
.env-Datei-Berechtigungsprüfungen + Überschreibungsschutz
Bekannte Einschränkungen
Solana → EVM gibt eine serialisierte Transaktion für die externe Signierung zurück (keine automatische Ausführung)
Relay-Status-Tracking zeigt möglicherweise "unbekannt" für abgeschlossene Cross-Chain-Bridges an
Solana SPL-Token werden noch nicht in
wallet_balanceangezeigt (nur natives SOL)Cosmos → EVM Bridging noch nicht unterstützt (nur EVM → Cosmos)
Lizenz
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