Puffer Finance MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Puffer Finance MCPbridge 5 pufETH from Ethereum to Arbitrum"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔥 Puffer Finance MCP Server
Complete MCP server for Puffer Finance with DeFi strategies, cross-chain bridging, and real contract addresses.
✨ Features
🌉 Cross-Chain Bridge Operations
8+ Supported Networks: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, BSC, zkSync Era, Soneium, Berachain
Bridge Provider Integration: Puffer Finance native bridge using EVERCLEAR + CHAINLINK CCIP
Live Puffer API: Direct connection to app.puffer.fi bridge endpoints
Live Everclear API: Real-time quotes, intents, and limits from api.everclear.org
Real Contract Addresses: All verified Puffer Finance contracts
Token Mapping: Automatic pufETH ↔ xpufETH conversion with xERC20 standard
$17.5M Bridge Volume: Proven Puffer-Everclear partnership with 30min settlement
📊 DeFi Strategy Management
30+ DeFi Strategies: Complete Puffer Finance ecosystem
Real-time Data: APR, TVL, daily rewards, protocol info
Deposit Instructions: Protocol-specific transaction data
Return Simulations: Accurate yield projections
Risk Analysis: Comprehensive safety assessments
🪙 Token Support
pufETH:
0xd9a442856c234a39a81a089c06451ebaa4306a72(Ethereum)xpufETH:
0x23da5f2d509cb43a59d43c108a43edf34510eff1(Base/L2s)PUFFER:
0x4d1c297d39c5c1277964d0e3f8aa901493664530(Governance)Multi-chain Support: ETH, USDC, USDT, wstETH across all networks
Related MCP server: Universal Crypto MCP
🚀 Installation
npm install⚙️ Usage
As MCP Server (Recommended)
Add to your Claude desktop config:
{
"mcpServers": {
"puffer-finance": {
"command": "node",
"args": ["/path/to/puffer-finance-mcp/index.js"]
}
}
}Standalone Testing
npm start🛠️ Available Tools (9 Total)
1. get_bridge_info 🌉
Comprehensive bridge information extraction
Bridge Routes: All 8 supported chains
Provider Detection: EVERCLEAR vs CHAINLINK
Contract Addresses: Real bridge contracts
Token Support: pufETH/xpufETH compatibility
2. execute_bridge ⭐ ADVANCED
Execute cross-chain bridge transactions
Provider Intelligence: Automatic EVERCLEAR/CHAINLINK selection
Real Contracts: Verified bridge addresses
Token Mapping: pufETH ↔ xpufETH conversion
Fee Optimization: Provider-specific cost analysis
Time Estimates: Accurate transfer durations
2b. create_everclear_intent 🔥 PUFFER-EVERCLEAR
Bridge pufETH/xpufETH via Puffer Finance using their Everclear integration
Puffer Native: Uses Puffer Finance's bridge API with Everclear provider
Partnership Proven: $17.5M bridge volume via official collaboration
Fast Settlement: 30-minute settlement time (improved from 2 hours)
xERC20 Standard: Bridge-agnostic standard for maximum security
Trust-minimized: Everclear's automated optimization for cost-efficiency
2c. puffer_bridge 🔥 PUFFER FINANCE NATIVE
Direct Puffer Finance bridge integration using their actual bridge providers
Native Integration: Connects to Puffer's actual bridge API at app.puffer.fi
Everclear Partnership: $17.5M bridged via Puffer-Everclear collaboration
Fast Settlement: 30-minute settlement time (down from 2 hours)
xERC20 Standard: Bridge-agnostic standard for maximum security
8+ Networks: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, BSC, zkSync Era
4. get_defi_strategies
Scrape all DeFi opportunities from Puffer Finance
30+ Strategies: Complete ecosystem coverage
Live Data: Real-time APR, TVL, rewards
Protocol Detection: Curve, Unifi, Euler, Uniswap, etc.
5. deposit_to_strategy
Generate protocol-specific deposit instructions
Smart Contracts: Real Puffer Finance addresses
Transaction Data: Ready-to-execute calls
Gas Estimates: Accurate cost predictions
Approvals: Required token approvals
6. get_strategy_details
Detailed strategy analysis
Comprehensive Info: Fees, risks, lockups
Contract Addresses: Verified protocol contracts
Requirements: Minimum deposits, token types
7. simulate_deposit
Calculate projected returns and costs
Yield Projections: Daily/weekly/monthly/yearly
Fee Impact: Real cost calculations
Risk Assessment: Strategy-specific warnings
8. get_vaults
Vault information from Puffer Finance
Vault Metrics: APY, TVL, token support
Real-time Data: Live vault performance
🌐 Supported Networks
Chain | ID | Bridge Provider | Token |
Ethereum | 1 | EVERCLEAR/CHAINLINK | pufETH |
Base | 8453 | EVERCLEAR | xpufETH |
Arbitrum | 42161 | CHAINLINK | pufETH |
Apechain | 33139 | EVERCLEAR | xpufETH |
BNB Chain | 56 | EVERCLEAR | xpufETH |
Berachain | 80094 | CHAINLINK | pufETH |
Soneium | 1868 | CHAINLINK | pufETH |
Zircuit | 48900 | EVERCLEAR | xpufETH |
📋 Example Usage
Bridge Operations
// Get all bridge options
get_bridge_info()
// Bridge via Puffer Finance native bridge
puffer_bridge({
"fromChain": "Ethereum",
"toChain": "Base",
"token": "pufETH",
"amount": "1.0",
"recipientAddress": "0x742d35cc6cd34b0532c4c0e4b8f0c7c7e1234567",
"provider": "EVERCLEAR"
})
// Bridge via Puffer-Everclear integration
create_everclear_intent({
"fromChain": "Ethereum",
"toChain": "Base",
"token": "pufETH",
"amount": "1.0",
"recipientAddress": "0x742d35cc6cd34b0532c4c0e4b8f0c7c7e1234567"
})
// Bridge via Chainlink CCIP for enterprise
puffer_bridge({
"fromChain": "Ethereum",
"toChain": "Soneium",
"token": "pufETH",
"amount": "0.5",
"recipientAddress": "0x742d35cc6cd34b0532c4c0e4b8f0c7c7e1234567",
"provider": "CHAINLINK_CCIP"
})DeFi Strategy Operations
// Get all strategies
get_defi_strategies()
// Deposit to specific strategy
deposit_to_strategy({
"strategyId": "curve-pufeth-wsteth",
"amount": "1.0"
})
// Simulate returns
simulate_deposit({
"strategyId": "pendle-finance",
"amount": "0.5"
})🔧 Puffer Finance Bridge Providers
EVERCLEAR ⭐ PRIMARY PROVIDER
Chains: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, BSC, zkSync Era
Token: pufETH ↔ xpufETH (xERC20 standard)
Features: Puffer native integration, 30min settlement, $17.5M volume
Partnership: Official Puffer-Everclear collaboration
CHAINLINK CCIP 🔒 ENTERPRISE GRADE
Chains: Ethereum, Soneium, Berachain
Token: pufETH (native token)
Features: Enterprise security, verifiable cross-chain, 5-15 min transfers
Use Cases: High-value transfers, enterprise applications
🏗️ Architecture
Real Contract Integration: All addresses verified from Puffer Finance
Native Bridge Support: Direct integration with Puffer's bridge providers
Token Intelligence: Automatic pufETH/xpufETH mapping with xERC20 standard
Error Handling: Comprehensive validation and safety checks
Live Data: Real-time scraping from app.puffer.fi
API Integration: Direct connection to Puffer Finance and Everclear APIs
Partnership Proven: $17.5M in bridge volume via Puffer-Everclear collaboration
📄 License
MIT License
🔥 Ready for production use with Claude Desktop for complete Puffer Finance interaction!
Supports all DeFi strategies, cross-chain bridging, and real contract execution across 8 networks.
Available Tools
9 toolscreate_everclear_intentC
Create pufETH/xpufETH bridge via Puffer Finance using Everclear (their primary bridge provider)
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token to bridge ('pufETH' or 'xpufETH') | |
| amount | Yes | Amount to bridge | |
| testnet | No | Use testnet mode (default: false) | |
| toChain | Yes | Destination chain name | |
| fromChain | Yes | Source chain name (e.g., 'Ethereum', 'Base') | |
| recipientAddress | Yes | Recipient wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state what creating the bridge intent entails (e.g., whether it requires approval, is irreversible, or triggers a transaction), nor does it describe any side effects or return behavior.
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 single, front-loaded sentence that uses efficient language. It conveys the core purpose without redundant phrases, though it omits important behavioral details that might have been included without bloating the text.
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?
This is a bridge-creation tool with 6 parameters, no output schema, and no annotations. The description is too sparse to be contextually complete: it does not mention what the user should expect after invoking it, whether any confirmation/execution step is required, or how to handle the testnet parameter. The schema documents parameters but the operational context is missing.
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 already covers 100% of parameters with descriptions, so the baseline is 3. The description adds context about tokens and provider but does not explain any parameter interactions, constraints, or format details beyond what the schema provides.
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 action ('Create') and the resource ('pufETH/xpufETH bridge via Puffer Finance using Everclear'). It names the specific tokens and provider, which distinguishes it from sibling tools like execute_bridge and get_bridge_info, though it does not explicitly mention 'intent' as the output.
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?
No guidance is given about when to use this tool versus alternatives like execute_bridge or puffer_bridge. The description mentions the provider but does not explain prerequisites, next steps, or scenarios where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deposit_to_strategyC
Deposit funds to a specific DeFi strategy on Puffer Finance
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to deposit (in ETH or token units) | |
| gasLimit | No | Gas limit for the transaction (optional) | |
| slippage | No | Maximum slippage tolerance (default: 1%) | |
| strategyId | Yes | Strategy ID or name to deposit to | |
| walletAddress | No | Wallet address for the transaction (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states 'Deposit funds' but does not disclose that this executes an on-chain transaction, entails gas costs, is likely irreversible, or requires user wallet authorization. This is a significant gap for a financial mutation 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 a single, clear, front-loaded sentence with no redundant or filler content. It efficiently conveys the core action and target, making it appropriately concise for its limited scope.
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?
This is a complex financial transaction tool with no output schema and no annotations. The description is minimal and does not cover important contextual aspects such as transaction finality, the need for gas/slippage configuration, or the existence of a simulation tool. It is under-specified for the task.
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 all parameters (amount, gasLimit, slippage, strategyId, walletAddress). The description adds no parameter-level insights beyond the schema, so the baseline of 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 the action ('Deposit funds') and target ('specific DeFi strategy on Puffer Finance'), making the tool's purpose obvious. However, it doesn't explicitly differentiate from the sibling tool 'simulate_deposit', which could be confused as a deposit action, though the verb 'simulate' vs 'deposit' provides some implicit distinction.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing to fetch strategies first, or suggest using 'simulate_deposit' before executing a real deposit. There is no contextual instruction at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_bridgeC
Execute a bridge transaction on Puffer Finance
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token to bridge (e.g., 'ETH', 'pufETH', 'USDC') | |
| amount | Yes | Amount to bridge | |
| toChain | Yes | Destination blockchain: 'Ethereum', 'Base', 'BNB Chain', 'Apechain', 'Soneium', 'Arbitrum', 'Zircuit', 'Berachain' | |
| slippage | No | Maximum slippage tolerance (default: 1%) | |
| fromChain | Yes | Source blockchain: 'Ethereum', 'Base', 'BNB Chain', 'Apechain', 'Soneium', 'Arbitrum', 'Zircuit', 'Berachain' | |
| walletAddress | No | Wallet address to receive tokens (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'execute a bridge transaction' without mentioning side effects, requirements (e.g., approvals), reversibility, or what happens on success. This is a significant transparency gap for a mutating operation.
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 single, short sentence, so it is not verbose. However, it largely restates the tool name and adds minimal information, so it does not fully earn its place. It is appropriately brief but under-specified.
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?
For a tool with 6 parameters, no output schema, and no annotations, the description is severely incomplete. It omits return values, prerequisite conditions, side effects, and any usage context, leaving the agent without adequate information to invoke the tool correctly.
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 100% of parameters with descriptions (e.g., token, amount, chains, slippage). The description adds no additional parameter semantics, but the schema already provides the necessary detail, so a baseline score of 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 the tool's function with a specific verb ('execute') and resource ('bridge transaction on Puffer Finance'). However, it does not differentiate from sibling tools like 'puffer_bridge' or 'create_everclear_intent', so it misses the distinction required for a 5.
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 no guidance on when to use this tool versus alternatives (e.g., 'get_bridge_info' for quotes or 'puffer_bridge' for another bridge route). It only says what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bridge_infoC
Scrape bridge information from Puffer Finance bridge page
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Timeout in milliseconds | |
| includeDetails | No | Include detailed bridge information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. 'Scrape' implies external web access but does not disclose potential latency, rate limits, read-only nature, or anything about the return format. The agent is left uninformed about side effects or dependencies.
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 single concise sentence with no filler. However, it is under-specified; while efficient, it lacks detail that could be included without bloating.
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?
Without an output schema, the description should explain what 'bridge information' includes, but it does not. Additionally, the presence of sibling bridge tools calls for clearer differentiation. The description is inadequate for a tool with optional parameters and unknown outputs.
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 schema description coverage is 100% for both parameters (timeout and includeDetails), each with defaults and descriptions. The tool description adds no extra semantic meaning beyond the schema, so a baseline score of 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 states the tool 'scrape[s] bridge information from Puffer Finance bridge page', providing a specific verb and resource. However, 'bridge information' is vague and it doesn't distinguish from sibling tools like execute_bridge or puffer_bridge.
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?
No guidance is given on when to use this tool versus alternatives. It fails to mention any context, prerequisites, or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_defi_strategiesC
Scrape DeFi strategies from Puffer Finance
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Timeout in milliseconds | |
| includeDetails | No | Include detailed strategy information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies an external fetch (via 'scrape') but does not state that it is read-only, whether it returns live data, or any rate-limit/auth constraints. This is a significant gap for an agent deciding between read and write tools.
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 single sentence and, if anything, too brief. It front-loads the action but omits important context such as return value or typical usage, making it under-specified rather than efficiently concise.
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?
The description is minimal: no output schema is defined, no annotations exist, and the description fails to explain what the tool returns or when to use it relative to siblings like get_strategy_details. Given the low complexity of parameters, some additional context about the data returned would be expected.
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 both parameters (timeout, includeDetails) clearly described. The description adds no additional parameter context, but since the schema already documents them, the 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 the action ('scrape') and the resource ('DeFi strategies from Puffer Finance'), which distinguishes it from sibling tools like get_strategy_details or get_vaults. However, 'scrape' is slightly informal and does not clarify whether the result is a list or individual strategies, so it falls short of a 5.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions, leaving the agent to infer from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_strategy_detailsA
Get detailed information about a specific strategy including deposit instructions
| Name | Required | Description | Default |
|---|---|---|---|
| strategyId | Yes | Strategy ID or name to get details for |
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 for behavioral disclosure. It only says 'Get', which implies read-only, but it does not explicitly confirm non-mutating behavior, permissions, or response format. For a tool with no annotation support, this minimal disclosure is insufficient.
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 single, front-loaded sentence with zero wasted words. It clearly states the action and resource, earning a perfect score for conciseness and structure.
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?
For a simple get-details tool with one fully described parameter and no output schema, the description is largely complete. It specifies a key output component ('deposit instructions') and implies the rest. A slightly richer description of the return contents would be helpful, but it is not critical given the tool's simplicity.
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 for its single parameter, 'strategyId', with a clear description. The tool description adds no additional parameter semantics beyond the schema, so the baseline score of 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 uses a specific verb 'Get' with a clear resource 'detailed information about a specific strategy', and adds the key detail 'including deposit instructions'. This distinguishes it from the sibling tool 'get_defi_strategies' (likely a list operation) and makes the tool's unique purpose immediately apparent.
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 use when you need details for a specific strategy and hints at its role in the deposit flow via 'deposit instructions'. However, it does not explicitly state when to use this over alternatives like 'simulate_deposit' or 'get_defi_strategies', nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vaultsC
Scrape vault information from Puffer Finance vaults page
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Timeout in milliseconds | |
| includeDetails | No | Include detailed vault information |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions scraping from a web page but does not disclose network dependence, potential errors, rate limits, or what 'vault information' includes. The read-only nature is implied by 'get' but not explicitly stated.
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 single sentence with no wasted words. It is front-loaded, though it lacks detail that could be added without becoming verbose.
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 no annotations, the description is thin. It does not explain return values, failure modes, or the exact structure of vault information. For a scraping tool with potential complexity, this is insufficient.
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?
Both parameters (timeout, includeDetails) are fully described in the schema with descriptions. The tool description adds no additional parameter context, but the schema coverage is 100%, so this is an acceptable baseline.
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 scrapes vault information from the Puffer Finance vaults page. The verb 'scrape' and resource are specific, but it does not explicitly contrast with sibling tools like get_defi_strategies or get_strategy_details, leaving some ambiguity about 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?
No usage context is provided. The description does not indicate when to use this tool versus alternatives such as get_strategy_details or get_defi_strategies, nor any preconditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
puffer_bridgeC
Execute pufETH/xpufETH bridge through Puffer Finance's native bridge using Everclear/Chainlink CCIP
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token to bridge ('pufETH' or 'xpufETH') | |
| amount | Yes | Amount to bridge | |
| toChain | Yes | Destination chain name | |
| provider | No | Bridge provider preference ('EVERCLEAR' or 'CHAINLINK_CCIP') | EVERCLEAR |
| fromChain | Yes | Source chain name (e.g., 'Ethereum', 'Base', 'Arbitrum', 'Polygon') | |
| recipientAddress | Yes | Recipient wallet address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'Execute', implying a state-changing on-chain operation. It does not mention requirements like wallet connection, gas, approvals, slippage, or that funds will actually move. This is minimal and adds little beyond the tool's name.
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 single concise sentence, front-loaded with the core action and object. It avoids filler and redundancy, making it extremely efficient and easy to parse.
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?
For a complex cross-chain bridge transaction with 6 parameters and no output schema, the description is too sparse. It lacks operational details such as chain support, cross-chain behavior, provider implications, and what happens on execution. This makes it inadequate for guiding an agent through a potentially risky/state-changing 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?
The input schema covers 100% of parameters with descriptions, listing token choices, provider default, and example chains. The tool description adds context that ties the token names to the bridge mechanism, but does not meaningfully supplement the schema. Since schema coverage is high, baseline 3 applies, and the description provides only minor additional context.
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 uses a specific verb ('Execute') with a clear resource ('pufETH/xpufETH bridge') and names the mechanism ('Puffer Finance's native bridge using Everclear/Chainlink CCIP'). It clearly states what the tool does, but does not explicitly differentiate from sibling tools like execute_bridge or create_everclear_intent, so it stops short of full distinction.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, provider selection rationale, or when to prefer one bridge provider over another. The description implies usage for bridging these specific tokens but offers no decision criteria, leaving the agent without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_depositA
Simulate a deposit to estimate gas costs and returns
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to simulate depositing | |
| strategyId | Yes | Strategy ID or name to simulate deposit for |
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 conveys the non-executing nature via 'simulate' and notes it estimates gas costs and returns, but it does not explicitly state that no state changes occur or provide any safety or authorization details.
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 single sentence, front-loaded with the primary action, and contains no redundant 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?
The description provides the essential purpose and hints at the output (gas costs and returns), and the schema covers the parameters. However, it lacks explicit usage guidance and does not state that it is a read-only simulation, leaving slight ambiguity about whether it actually executes the deposit.
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 already provides full descriptions for both parameters (strategyId and amount), so the description adds no additional parameter semantics. The baseline of 3 is appropriate because the schema covers everything.
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 uses the verb 'simulate' with the resource 'deposit', and states the purpose as estimating gas costs and returns. This clearly distinguishes it from the sibling tool 'deposit_to_strategy', which actually executes deposits.
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 the tool is for estimation before an actual deposit, but it does not explicitly mention when to use it versus alternatives like deposit_to_strategy, nor does it provide exclusions. The context is still clear from the word 'simulate'.
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.
9 tool updates
v1.0.0- First observed
create_everclear_intent - First observed
deposit_to_strategy - First observed
execute_bridge - First observed
get_bridge_info - First observed
get_defi_strategies - First observed
get_strategy_details - First observed
get_vaults - First observed
puffer_bridge - First observed
simulate_deposit
TDQS
Scored across 9 tools
The bridge-related tools (create_everclear_intent, execute_bridge, puffer_bridge) have overlapping purposes and could easily be confused. Additionally, get_strategy_details and get_defi_strategies serve different granularities but may appear similar at a glance.
The tools mix conventions: get_ is used for info retrieval, deposit_to and simulate_ are verb phrases, while puffer_bridge is not a standard verb construction, and create_everclear_intent includes a brand name. This inconsistency reduces predictability.
With 9 tools, the server is well-scoped, covering strategies, vaults, and bridging without unnecessary bloat. Each tool appears purposeful and the count is within the ideal range.
The server covers core actions like depositing to strategies and executing bridges, but lacks withdrawal functionality or user position queries, which are common in DeFi contexts. These gaps could cause agents to hit dead ends.
Maintenance
Related MCP Connectors
Browse, deposit, withdraw & rebalance stablecoins on Aave, Morpho & Euler across major EVM chains.
Visual DeFi workflow automation on Base + Ethereum mainnet.
Manage your blockchain infrastructure across 80+ chains with your agents.
Cross-chain token swaps for autonomous agents on Base L2 and partner rails
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform cross-chain bridging operations using natural language intents, with support for multiple protocols (Across, Stargate) and advanced security features like oracle validation and slippage protection. Provides comprehensive bridging tools including quote estimation, transaction building, and approval management across Arbitrum and Ethereum networks.MIT
- AlicenseCqualityCmaintenanceEnables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.10030 npm41-
- FlicenseAqualityFmaintenanceDeFi execution and agent-to-agent economy tools for AI agents — swaps, yield, transfers, policy enforcement, trust scoring, A2A jobs, and P\&L across Ethereum, Base, Arbitrum, and Polygon.311-
- AlicenseNot gradedqualityCmaintenanceEnables cross-chain transactions (swap, send, balance) on 10 blockchains from a single NEAR account, designed for AI agents and humans via MCP.6Apache 2.0