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 StateB

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

B3.1/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 for behavioral disclosure. It states it 'retrieves' data, implying a read-only operation, but doesn't mention potential side effects, rate limits, authentication needs, or response format. For a protocol state tool, details like data freshness or update frequency would be helpful but are absent, leaving significant gaps.

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, well-structured sentence that efficiently conveys the purpose and scope. It's front-loaded with the main action and includes relevant examples without unnecessary detail. However, it could be slightly more concise by omitting 'and other relevant data' if the listed items are comprehensive.

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?

Given the tool's complexity (protocol state retrieval), lack of annotations, and no output schema, the description is minimally adequate. It covers what data is retrieved but doesn't explain the return format, potential errors, or operational constraints. For a tool with no structured behavioral hints, more context on data structure or usage limits would improve completeness.

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?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add param info beyond the schema, but with no params, this is acceptable. A baseline of 4 is appropriate as it doesn't need to compensate for any gaps.

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 verb ('Retrieve') and resource ('current state of the Marinade Finance protocol'), with specific examples of what's included ('staked assets, mint address, price, rewards, and other relevant data'). It distinguishes from siblings like 'get_msol_balance' by covering broader protocol state rather than just balance. However, it doesn't explicitly contrast with all siblings, preventing a perfect score.

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?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't specify if this should be used for general protocol overview versus more specific operations like 'stake_msol' or 'send_msol', nor does it mention prerequisites or context for usage. The description implies a read-only operation but lacks explicit usage rules.

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.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the search 'returns contextual content with titles and direct links to the documentation pages', adding useful behavioral context about the output format. However, it doesn't mention potential limitations like search scope, result limits, or error handling.

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 efficiently structured in two sentences: the first defines the tool's purpose and scope, the second provides usage guidelines and output details. Every sentence adds value with zero wasted words, making it front-loaded and easy to parse.

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?

For a simple search tool with one parameter and no output schema, the description is largely complete—it covers purpose, usage, and output behavior. The gap is the lack of annotations, which leaves some behavioral aspects (e.g., idempotency, error cases) unspecified, but overall it provides sufficient context for effective use.

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% for the single parameter 'query', which is documented as 'The search query string'. 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.

Purpose5/5

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

The description clearly states the verb 'search' and resource 'Marinade Finance documentation', specifying it finds 'information, code examples, API references, and guides'. It distinguishes from sibling tools (e.g., get_marinade_state, stake_msol) by focusing on documentation search rather than state queries or transactions.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool: 'when you need to answer questions about Marinade Finance Docs, find specific documentation, understand how features work, or locate implementation details'. This provides clear context for usage without alternatives needed, as no other documentation tools exist among siblings.

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.

TDQS

A3.7/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leandrogavidia/marinade-finance-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server