Skip to main content
Glama
leandrogavidia

Marinade Finance MCP Server

Official page

Integration

Register the server in your MCP-aware host configuration.

{
  "mcpServers": {
    "marinade-finance": {
      "url": "https://server.smithery.ai/@leandrogavidia/marinade-finance-mcp-server/mcp",
      "type": "streamable-http"
    }
  }
}

Note: Follow the Smithery's auth flow.

Related MCP server: Solana AI Terminal

Tools

  • Marinade Finance Docs

    • Docs

      • search_documentation: Search Marinade Finance Documentation for relevant information, code examples, API references, and guides.

  • Marinade Finance State

    • State

      • get_marinade_state: Retrieve the current state of the Marinade Finance protocol, including information about staked assets, mint address, price, rewards, and other relevant data.

  • Liquid Staking & Wallet Operations

    • Balance

      • get_msol_balance: Check the mSOL token balance of the environment wallet or any specified Solana wallet address.

    • Staking

      • stake_msol: Stake SOL tokens with Marinade Finance to receive mSOL tokens and earn rewards.

      • unstake_msol: Unstake mSOL tokens to receive SOL tokens back.

    • Transfers

      • send_msol: Send mSOL tokens to another Solana wallet address (automatically creates recipient token account if needed).


.env Config

  • PRIVATE_KEY: Base58-encoded private key for your Solana wallet (required for on-chain operations like staking, unstaking, and transfers).

  • SOLANA_RPC_URL: Solana RPC URL for mainnet operations.

  • SOLANA_RPC_URL_DEVNET: Solana RPC URL for devnet/testnet operations.

  • ENVIRONMENT: Working environment, either MAINNET or TESTNET.

  • USE_STREAMABLE_HTTP: Specifies whether your MCP server will run on stdio or streamable-http (set to true or false).

  • PORT: Port where your MCP server will run when using streamable-http (default: 3000).

  • HOST: Host where your MCP server will run when using streamable-http (default: 0.0.0.0).

Run the project locally

In one terminal window, run the following command: pnpx @modelcontextprotocol/inspector pnpx tsx ./src/index.ts in stdio mode.

Build and run

Run the command: pnpm run build and then: pnpm run start

Note: Run in http mode

Deployment

To deploy this MCP server, fork this project into your GitHub account, log in to smithery.ai, and click Publish server. Complete the steps, and once it is deployed, add the required environment variables in settings.


License

MIT

Available Tools

6 tools
get_marinade_stateGet Marinade StateA

Retrieve the current state of the Marinade Finance protocol, including information about staked assets, mint address, price, rewards, and other relevant data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully convey behavioral traits. It only indicates a read operation ('Retrieve') but omits details such as side effects, authorization needs, rate limits, or error conditions. This is insufficient for a bare description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of about 20 words, front-loading key information. It is efficient and avoids redundancy. Slightly under-specified but still well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 compensate. It lists some returned fields but ends with 'other relevant data', which is vague. Given the tool's simplicity (no params), the description provides adequate but incomplete context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, schema coverage is trivially 100%. The description adds value by enumerating example data fields (staked assets, mint address, price, rewards) beyond the empty schema. Baseline for 0 params is 4, and the description justifies that score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Retrieve' and the resource 'current state of the Marinade Finance protocol'. It lists specific data items (staked assets, mint address, price, rewards), making the purpose unambiguous. The sibling tool 'search_documentation' is distinct, so there is no confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit usage guidance is provided. There is no mention of when to use this tool versus alternatives or when not to use it. However, the single sibling tool suggests a straightforward distinction, so it meets the minimum viable level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_msol_balanceGet mSOL BalanceA

Check the mSOL token balance of the environment wallet or any specified Solana wallet address.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletAddressNoOptional: The Solana wallet address to check. If not provided, checks the environment wallet balance.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states what the tool does without disclosing behavioral traits like rate limits, authentication requirements, error conditions, or what 'environment wallet' means. It's a basic functional description lacking operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and includes all necessary information without any wasted words. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 100% schema coverage but no annotations or output schema, the description is adequate but incomplete. It explains what the tool does but lacks context about the return format, error handling, or what 'environment wallet' entails, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the single optional parameter. The description adds minimal value by restating the parameter's purpose but doesn't provide additional syntax, format details, or constraints beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Check'), resource ('mSOL token balance'), and scope ('environment wallet or any specified Solana wallet address'), distinguishing it from siblings like send_msol (transfer) or stake_msol (staking operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool (checking mSOL balances) and implicitly distinguishes it from siblings by focusing on balance queries rather than transactions or staking. However, it doesn't explicitly mention when NOT to use it or name specific alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_documentationSearch Marinade Finance DocumentationA

Search across the documentation to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Marinade Finance Docs, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with titles and direct links to the documentation pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query string

TDQS

A4/5.0
Behavior3/5

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 of behavioral disclosure. It states the search returns 'contextual content with titles and direct links,' which is useful. However, it does not mention idempotency, authentication requirements, rate limits, or any potential side effects. For a search tool, the behavior is fairly transparent, but there is room for improvement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, each adding value. It front-loads the purpose, then usage guidelines, and finally the return format. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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), the description adequately covers what the tool does and what it returns. It explains the return as 'contextual content with titles and direct links,' which is sufficient for an agent to understand the output. Minor improvement could include specifying if results are ranked or limited.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100% with a single parameter 'query' described as 'The search query string.' The description does not add any additional meaning beyond what the schema provides, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches documentation for relevant information, code examples, API references, and guides. It uses a specific verb ('search') and resource ('documentation'), and the purpose is distinct from the sibling tool 'get_marinade_state' which retrieves state data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use the tool: 'when you need to answer questions about Marinade Finance Docs, find specific documentation, understand how features work, or locate implementation details.' It provides clear context but does not mention when not to use it or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_msolSend mSOL to Another WalletA

Send mSOL tokens to another Solana wallet address. This tool automatically checks if the recipient's mSOL token account exists and creates it if necessary.

ParametersJSON Schema
NameRequiredDescriptionDefault
recipientAddressYesThe Solana wallet address of the recipient
amountYesThe amount of mSOL to send

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavior: 'automatically checks if the recipient's mSOL token account exists and creates it if necessary.' This reveals important transactional logic beyond basic sending. However, it doesn't mention potential costs, transaction finality, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with zero waste. The first sentence states the core purpose, and the second adds valuable behavioral context about account creation. Every word earns its place, and the information is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a financial transaction tool with no annotations and no output schema, the description is adequate but has clear gaps. It covers the core operation and one behavioral aspect (account creation) but doesn't address transaction costs, confirmation requirements, error handling, or what constitutes success. Given the complexity of blockchain transactions, more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema (recipientAddress as wallet address, amount as mSOL quantity). Baseline score of 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Send mSOL tokens') and resource ('to another Solana wallet address'), distinguishing it from sibling tools like get_msol_balance (read-only) and stake_msol/unstake_msol (different operations). The verb 'send' precisely indicates a transfer operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for transferring mSOL tokens between wallets but doesn't explicitly state when to use this tool versus alternatives like stake_msol or unstake_msol. It mentions automatic account creation, which provides some context but doesn't offer clear exclusions or comparisons with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stake_msolStake SOL for mSOLC

Stake your SOL tokens with Marinade Finance to receive mSOL tokens and earn rewards.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesThe amount of SOL to stake

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action and outcome but lacks details on permissions required, transaction costs, time to process, or potential risks (e.g., slashing). This leaves gaps in understanding the tool's behavior beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly explains the tool's purpose without unnecessary words. It is front-loaded with the core action, making it easy to understand quickly, though it could be slightly more structured for complex tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a staking operation with no annotations and no output schema, the description is incomplete. It lacks information on return values (e.g., transaction ID, mSOL received), error conditions, or integration details, which are crucial for effective tool use in this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the 'amount' parameter fully documented in the schema. The description does not add any additional meaning beyond what the schema provides, such as minimum viable amounts or unit clarifications, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Stake your SOL tokens') and the resource ('with Marinade Finance'), specifying the outcome ('to receive mSOL tokens and earn rewards'). It distinguishes from siblings like 'unstake_msol' by focusing on staking rather than unstaking, though it doesn't explicitly differentiate from other tools like 'send_msol'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like 'unstake_msol' or 'send_msol'. It mentions earning rewards, which implies a use case, but lacks explicit when-to-use or when-not-to-use instructions, such as prerequisites or timing considerations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unstake_msolUnstake mSOLB

Unstake your mSOL tokens with Marinade Finance to receive SOL tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesThe amount of mSOL to unstake

TDQS

B3.2/5.0
Behavior2/5

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 states the action and outcome but lacks details on behavioral traits such as transaction costs, time delays, irreversible nature, or error conditions. This is a significant gap for a financial transaction tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a financial unstaking operation, no annotations, and no output schema, the description is incomplete. It lacks critical context such as return values, error handling, or operational constraints, which are essential for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'amount' documented as 'The amount of mSOL to unstake'. The description adds no additional parameter semantics beyond what the schema provides, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Unstake') and resource ('mSOL tokens') with the specific service provider ('Marinade Finance') and outcome ('receive SOL tokens'). It distinguishes from siblings like 'stake_msol' by indicating the reverse operation, though it doesn't explicitly contrast with other tools like 'send_msol'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you want to convert mSOL back to SOL, but it doesn't provide explicit guidance on when to use this tool versus alternatives (e.g., 'send_msol' for transferring mSOL, 'stake_msol' for staking SOL). No prerequisites or exclusions are mentioned.

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.

  1. 6 tool updates
    • First observedget_marinade_state
    • First observedget_msol_balance
    • First observedsearch_documentation
    • First observedsend_msol
    • First observedstake_msol
    • First observedunstake_msol

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: get_marinade_state retrieves protocol-wide data, get_msol_balance checks wallet balances, search_documentation handles documentation queries, send_msol transfers tokens, stake_msol stakes SOL for mSOL, and unstake_msol reverses that process. The actions and targets are unambiguous.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case: get_marinade_state, get_msol_balance, search_documentation, send_msol, stake_msol, and unstake_msol. The naming is predictable and readable throughout the set.

Tool Count5/5

With 6 tools, this server is well-scoped for its domain of Marinade Finance operations. Each tool earns its place by covering essential functions like state retrieval, balance checking, documentation search, token transfers, and staking/unstaking, without being overly sparse or bloated.

Completeness4/5

The tool set covers core workflows for interacting with Marinade Finance, including staking, unstaking, transfers, balance checks, and protocol state. A minor gap is the lack of tools for managing rewards or advanced operations like liquidity provision, but agents can work around this with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Appeared in Searches