leverage
Server Details
Leveraged-yield router on Morpho. List strategies, simulate, and build UNSIGNED txs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- spiral-stake/mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 7 of 7 tools scored.
Each tool has a clearly distinct purpose: building opening vs. managing transactions, reading positions, getting prices, listing/querying strategies, and simulating. No overlapping or ambiguous functionality.
All tool names follow a consistent verb_noun pattern with underscores (e.g., build_leverage_tx, get_positions, list_strategies). The naming is predictable and uniform.
7 tools is well-scoped for the domain of non-custodial leverage positions. It covers all essential operations without being too few or excessive.
The tool set covers the full lifecycle: preview (simulate), open (build_leverage_tx), manage (build_manage_tx with close/adjust actions), read positions, and explore strategies/prices. No obvious gaps for the intended purpose.
Available Tools
7 toolsbuild_leverage_txBuild Leverage TransactionAInspect
Build the UNSIGNED transaction to open a leveraged position, for the given wallet to sign. Non-custodial: this server never signs, sends, or holds keys. The canonical output is the executable { approvals[], tx{to,data,value} } — sign and broadcast it directly (approvals first), plus the same position preview as simulate_leverage. meta.signingUrl is an optional one-click link for a human to sign in their own wallet. The embedded swap calldata is time-sensitive (see meta.expiresAt) — rebuild if stale.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of payToken in human units (e.g. '10000' for 10,000 USDC). | |
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. | |
| leverage | No | Target leverage, e.g. 3. Provide this OR desiredLtv. | |
| payToken | Yes | Address of the token you pay in. May be the collateral (opened directly) or any other token (zapped: swapped to collateral first). Native ETH = the zero address 0x0000…0000. | |
| slippage | No | Swap slippage as a ratio (0.005 = 0.5%). Default 0.005, capped at 0.01. | |
| desiredLtv | No | Target LTV percent, e.g. '66.67'. Provide this OR leverage. | |
| strategyId | Yes | Morpho market id of the strategy (from list_strategies / get_strategy). | |
| userAddress | Yes | The wallet address that will sign and send. Approvals and onBehalfOf are built for it. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the transaction is unsigned and non-custodial, and that the server never signs or holds keys. Warns about time-sensitive calldata and need to rebuild if stale. Adds value beyond annotations (readOnlyHint false, destructiveHint false) by clarifying output safety.
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 well-structured sentences, front-loaded with core purpose. Each sentence adds distinct value: purpose, output format and non-custodial nature, time sensitivity. 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?
Covers output format, signing steps, optional URL, and expiry. References simulate_leverage for preview. Lacks error conditions or failure modes, but sufficient for a transactions builder with no output schema.
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 100% coverage with detailed parameter descriptions. Tool description does not add new parameter-level information beyond schema, but provides important context about output format. 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?
Clearly states it builds an unsigned transaction to open a leveraged position. Distinguishes from sibling tools like simulate_leverage (preview only) and build_manage_tx (manage existing positions). Emphasizes non-custodial nature.
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 describes when to use (to open a leveraged position) and what to do with output (sign and broadcast). Mentions optional signing link and expiry. Implicitly distinguishes from simulate_leverage, which is for preview only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_manage_txBuild Manage TransactionAInspect
Build the UNSIGNED transaction to adjust or close an OPEN position, for the given wallet to sign. Non-custodial (never signs/holds keys). Canonical output is the executable { approvals[], tx{to,data,value} } (sign/broadcast directly); meta.signingUrl is an optional link for a human to sign in their own wallet. Actions: 'close' (unwind fully), 'increase_leverage' (borrow to a higher LTV), 'add_collateral' (top up — pay in collateral or any token), 'remove_collateral' (withdraw), 'repay' (pay down debt; set full=true to clear it), 'borrow' (draw more loan token). Get the position id from get_positions. Swap calldata (close/increase/zap paths) is time-sensitive — see meta.expiresAt.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | On-chain position index, from get_positions (its `id`). | |
| full | No | repay only: clear the entire remaining debt. | |
| action | Yes | What to do to the position. | |
| amount | No | Human-units amount. Required for add_collateral/remove_collateral/repay/borrow. | |
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. | |
| leverage | No | increase_leverage: target leverage. Provide this OR desiredLtv. | |
| payToken | No | Token to pay in (add_collateral/repay). Collateral/loan = direct; any other = zapped. ETH = zero address. | |
| slippage | No | Swap slippage ratio (0.005 = 0.5%). Default 0.005, capped at 0.01. | |
| desiredLtv | No | increase_leverage: target LTV percent (e.g. '80'). Provide this OR leverage. | |
| userAddress | Yes | Wallet that owns the position and will sign. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false. The description adds that the tool is non-custodial and never signs/holds keys, and mentions the output structure and optional signing URL. It also notes time-sensitivity via meta.expiresAt, providing useful behavioral context beyond annotations.
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 thorough but somewhat lengthy. It is well-structured with important information front-loaded, but contains more detail than necessary, reducing conciseness.
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 10 parameters, no output schema, and complex actions, the description covers actions, parameters, and prerequisites. However, it lacks a detailed explanation of the output format (besides mentioning canonical output), leaving some ambiguity for an agent.
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 3. The description adds meaning by explaining each action's purpose, the role of amount for certain actions, details about payToken (zapping behavior), and slippage meaning. This adds value beyond the 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 that the tool builds unsigned transactions to adjust or close open positions. It lists specific actions (close, increase_leverage, etc.) and distinguishes itself from sibling tools like build_leverage_tx by focusing on managing existing positions.
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 clear context on when to use each action and directs users to get the position id from get_positions. However, it does not explicitly compare with sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_positionsGet PositionsARead-onlyInspect
Read a wallet's open/closed Spiral leverage positions from chain state (read-only). For each: collateral/loan, leveraged collateral, net equity, debt, current LTV vs liquidation LTV (with headroom), current leverage, net USD value, and current leveraged APY. No cost-basis / realized P&L (those need off-chain history). Newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. | |
| userAddress | Yes | Wallet address to read positions for. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true, so the description reiterates read-only. However, it adds valuable behavioral context: the data fields returned (collateral/loan, leveraged collateral, net equity, debt, LTV, leverage, USD value, APY), the ordering (newest first), and the limitation (no cost-basis/realized P&L). This goes beyond what annotations provide.
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 concise and well-structured, with the most important information first. It consists of three sentences that pack a lot of detail without extraneous words. 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?
No output schema is provided, but the description compensates by listing the data fields returned (collateral/loan, leveraged collateral, net equity, etc.). It also mentions ordering and limitations. For a read-only query tool with moderate complexity, 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%, and the parameter descriptions in the schema are clear (userAddress as wallet address, chainId with default). The description adds no additional parameter semantics beyond what the schema already provides, 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 the tool reads a wallet's open/closed leverage positions from chain state (read-only), specifies it's read-only, and lists the data returned. It distinguishes from siblings by explicitly stating what it does not provide (cost-basis/realized P&L), making the purpose 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 indicates when to use (to read positions) and explicitly mentions what it does not provide (cost-basis/realized P&L), implying those are handled elsewhere. It does not explicitly name alternative tools, but the list of siblings provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricesGet PricesARead-onlyInspect
Current USD prices for loan/collateral tokens (token address -> USD).
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The tool has readOnlyHint=true in annotations, and the description adds additional context about returning current USD prices for specific tokens. No contradictions, and the description complements the annotation well.
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 redundant information, efficiently conveying the tool's purpose.
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 read-only tool with one optional parameter and no output schema, the description sufficiently explains what the tool returns and its scope, requiring no additional information.
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 covers 100% of parameters, so the baseline is 3. The description does not add extra meaning beyond what the schema already provides for the optional chainId parameter.
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 current USD prices for loan/collateral tokens with a mapping from token address to USD. It distinguishes itself from sibling tools which are for building transactions or getting positions/strategies.
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 for retrieving token prices but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_strategyGet StrategyARead-onlyInspect
Get one eligible strategy's full raw facts by its Morpho market id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Morpho market id (0x followed by 64 hex chars). | |
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds the context that it returns 'full raw facts' and applies to 'eligible' strategies. This adds value beyond the annotations, though it could mention auth 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?
The description is a single, front-loaded sentence that immediately communicates the tool's function with 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 hints at 'full raw facts' but is vague about return structure. It omits clarification of 'eligible' and optionality of chainId. Adequate but not 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?
Schema coverage is 100%, so id and chainId are already documented. The description reiterates the purpose of the 'id' parameter but does not add new semantic details beyond the schema.
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 (get), resource (strategy), and input (Morpho market id). It distinguishes from sibling tools like list_strategies (which lists many) and get_positions (which gets user positions).
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 for retrieving details of a single strategy by its ID, but it does not explicitly contrast with alternatives like list_strategies or get_prices. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_strategiesList StrategiesARead-onlyInspect
List eligible Spiral leveraged-yield strategies with raw risk facts (collateral/borrow APY, leverage ladder, oracle type, exit-liquidity, LTVs). Optionally filter by collateral category.
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. | |
| category | No | Filter by collateral category, e.g. 'stable', 'ETH', 'BTC', 'stable-PT'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds valuable context about returned risk facts (APY, leverage, oracle, LTVs), enhancing transparency without contradicting annotations.
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, front-loaded with core purpose, zero waste. Every word 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?
For a list tool with no output schema, description appropriately details return content (raw risk facts) and optional filter. No pagination or limitation details, but sufficient for a straightforward listing.
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 covers 100% of parameters with descriptions. Description repeats 'filter by collateral category' which is already in schema; no additional semantic value beyond schema.
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 lists 'Spiral leveraged-yield strategies with raw risk facts', specifying exact content and optional filter. Distinct from sibling tools like 'build_leverage_tx' (transaction building) and 'get_strategy' (single strategy).
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?
Describes optional filter by category, giving clear usage context. However, no explicit when-not-to-use or alternatives mentioned; sibling roles are implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_leverageSimulate LeverageARead-onlyInspect
Preview opening a leveraged position — deterministic, read-only, no wallet needed. Returns the resulting leverage, effective LTV, leveraged collateral, expected leveraged APY, price impact, the auto-selected execution path, flash-loan size, and (if the flash loan exceeds direct market liquidity) the public-allocator reallocation fee. Numbers move with market prices.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of payToken in human units (e.g. '10000' for 10,000 USDC). | |
| chainId | No | Chain to target. Supported: 1, 4663. Default: 1. | |
| leverage | No | Target leverage, e.g. 3. Provide this OR desiredLtv. | |
| payToken | Yes | Address of the token you pay in. May be the collateral (opened directly) or any other token (zapped: swapped to collateral first). Native ETH = the zero address 0x0000…0000. | |
| slippage | No | Swap slippage as a ratio (0.005 = 0.5%). Default 0.005, capped at 0.01. | |
| desiredLtv | No | Target LTV percent, e.g. '66.67'. Provide this OR leverage. | |
| strategyId | Yes | Morpho market id of the strategy (from list_strategies / get_strategy). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds significant detail: deterministic, read-only, no wallet needed, and lists the outputs including edge cases (public-allocator reallocation fee). This provides excellent behavioral insight.
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 dense paragraph that covers purpose and output list efficiently. However, it could be more structured (e.g., bullet points) for easier scanning, but it is not overly 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?
The description adequately explains return values but misses important contextual details like the mutual exclusivity of leverage and desiredLtv, and the default chainId. For a tool with 7 parameters and no output schema, some gaps remain.
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 does not add new parameter-specific insights beyond the schema. It lists outputs but not parameter details, 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 'Preview opening a leveraged position' and emphasizes it is deterministic and read-only. It distinguishes from sibling 'build_leverage_tx' by noting no wallet needed, indicating a simulation versus actual execution.
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 for previewing and notes it is read-only with no wallet needed. However, it does not explicitly state when to avoid this tool (e.g., when you want to execute) or mention alternatives like build_leverage_tx.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceSelf-custodial crypto portfolio and DeFi MCP server. Read balances and positions (Aave, Compound, Morpho, Uniswap V3, Lido, EigenLayer) across Ethereum, Arbitrum, Polygon, and Base, and prepare transactions for approval on a Ledger via WalletConnect.Last updated100744Business Source 1.1
- AlicenseAqualityAmaintenanceSelf-custodial crypto portfolio and DeFi MCP server. Read balances and positions (Aave, Compound, Morpho, Uniswap V3, Lido, EigenLayer) across Ethereum, Arbitrum, Polygon, and Base, and prepare transactions for approval on a Ledger via WalletConnect.Last updated100744Business Source 1.1
- Alicense-qualityBmaintenanceDeFi execution layer for AI agents - swap, zap in/out of LP, route across AMMs on 5 EVM chains.Last updated1297MIT
- FlicenseBqualityDmaintenanceEnables AI assistants to discover, evaluate, and execute DeFi yield strategies across EVM and Solana chains through natural conversation, with transactions signed locally.Last updated15241