MantraChain MCP Server
The MantraChain MCP Server is a versatile tool for interacting with the MantraChain blockchain through the Model Context Protocol (MCP). It offers comprehensive functionality including:
Token Management: Send tokens (
bank-send), query account balances (get-balance)Staking Operations: Delegate/undelegate tokens, claim rewards, query validator and delegation information
Network Operations: Fetch account details, block information, execute custom queries
IBC Operations: Transfer tokens across chains
Smart Contract Interactions: Query and execute smart contract functions
DEX Functionality: View liquidity pools, find swap routes, simulate and execute token swaps with slippage protection
Transaction Management: Sign and broadcast arbitrary transactions
The server supports both stdio and HTTP+SSE transport modes for flexible integration with various applications.
Provides OpenAPI/Swagger specifications for different networks through the openapi resource, allowing developers to explore and understand the available blockchain API endpoints.
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., "@MantraChain MCP Servercheck my OM token balance"
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.
MantraChain MCP Server
A Model Context Protocol (MCP) server for interacting with MantraChain (Cosmos SDK) blockchain. This server provides tools for sending tokens, delegating to validators, querying balances, and more using the MCP protocol.
Features
Send tokens to other addresses (bank send)
Delegate tokens to validators (staking)
Query account balances
Get validator information
Sign and broadcast arbitrary transactions
Configure mnemonic and network via environment variables
Choose between Dukong testnet and Mainnet
Supports both stdio and HTTP+SSE transport modes
Related MCP server: EVM MCP Server
Available Tools
Bank Operations
bank-send: Send tokens to another address (supports multiple coins per transaction)
get-balance: Get balance of an address (defaults to your own address if none provided)
get_evm_balance: Get native token (OM) balance for an EVM address
get_token_balance: Get ERC20 token balance for an address
get_nft_balance: Get ERC721 NFT count for an address from a collection
get_erc1155_balance: Get ERC1155 token balance for a specific token ID
get_address_from_mnemonic: Get EVM address derived from mnemonic
Staking Operations
delegate: Delegate/Stake tokens to a validator
undelegate: Undelegate/Unstake tokens from a validator
claim-rewards: Claim rewards for a specific validator
get-validators: Get all validators
get-delegations: Get current staking information for an address
get-available-rewards: Get all available rewards for an address
Network Operations
get-account-info: Get current account information
get-block-info: Get block information from Cosmos (cometbft) RPC
get-block-info-evm: Get block information from EVM RPC
query-network: Execute a generic network query against chain APIs
IBC Operations
ibc-transfer: Send tokens via IBC transfer
Smart Contract Operations
cosmwasm-contract-query: Query a CosmWasm smart contract (read-only)
cosmwasm-contract-execute: Execute a function on a CosmWasm contract (state-changing)
read_evm_contract: Read data from an EVM contract (view/pure function)
write_evm_contract: Write data to an EVM contract (state-changing function)
deploy_evm_contract: Deploy a new EVM contract
is_contract: Check if an address is a contract or EOA
DEX Operations
dex-get-pools: Get all available liquidity pools from the DEX
dex-find-routes: Find available swap routes between two tokens
dex-simulate-swap: Simulate a token swap to get expected outcome without executing it
dex-swap: Execute a token swap on the DEX with slippage protection
Transaction Operations
sign-and-broadcast: Sign and broadcast a generic Cosmos transaction
get_transaction: Get detailed information about a specific EVM transaction by hash
get_transaction_receipt: Get EVM transaction receipt by hash
estimate_gas: Estimate gas cost for a transaction
transfer_om: Transfer native tokens (OM) via EVM
transfer_erc20: Transfer ERC20 tokens to another address
approve_token_spending: Approve another address to spend your ERC20 tokens
transfer_nft: Transfer an ERC721 NFT to another address
transfer_erc1155: Transfer ERC1155 tokens to another address
transfer_token: Transfer ERC20 tokens to an address
Available Resources
networks://all: JSON resource showing all available networks with their configuration
openapi://{networkName}: OpenAPI/Swagger specification for the specified network
Running the Server
The server can run in two modes:
Stdio Mode (Default): Communicates over standard input/output. This is the default mode when running the server directly or via
npx.# Using installed package mantrachain-mcp # Using npx npx -y mantrachain-mcp@latestStreamable HTTP Mode: Runs an HTTP server on port 3000, communicating via Server-Sent Events (SSE). Activate this mode using the
--httpflag or the dedicated npm scripts.# Using installed package mantrachain-mcp --http # Using npx export MNEMONIC="YOUR_MNEMONIC" export CUSTOM_NETWORKS="YOUR_CUSTOM_NETWORKS_JSON" npx -y mantrachain-mcp@latest -- --http
MCP Configuration
Installing via Smithery
To install MantraChain MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @allthatjazzleo/mantrachain-mcp --client claudeTo integrate with MCP client applications, add the server configuration to your MCP client configuration file:
{
"mcpServers": {
"mantrachain-mcp": {
"command": "npx",
"args": [
"-y",
"mantrachain-mcp@latest"
],
"env": {
"MNEMONIC": "YOUR_MNEMONIC",
"CUSTOM_NETWORKS": "{\"my-custom-net\":{\"rpcEndpoint\":\"https://rpc.custom-network.io\",\"apiEndpoint\":\"https://api.custom-network.io\",\"chainId\":\"my-custom-net-1\",\"prefix\":\"custom\",\"denom\":\"ucustom\",\"gasPrice\":\"0.01\",\"isMainnet\":false}}"
}
}
}
}Connecting remote MCP server in cline:
{
"mcpServers": {
"mantrachain-mcp-sse": {
"url": "http://localhost:3000/sse",
"transportType": "sse"
}
}
}If you build the package locally instead of globally
After building the package, you can run it directly from the build directory. Make sure to replace your_path with the actual path to your build directory.
npm run buildThen, you can use the following configuration:
{
"mcpServers": {
"mantrachain-mcp": {
"command": "node",
"args": [
"your_path/mantrachain-mcp/build/index.js"
],
"env": {
"MNEMONIC": "YOUR_MNEMONIC"
}
}
}
}Environment Variables
MNEMONIC: Required. The mnemonic seed phrase for the wallet to use.
CUSTOM_NETWORKS: Optional. JSON string containing additional network configurations.
Available Tools
18 toolsbank-sendC
Send tokens to another address. Supports sending multiple coins in one transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| coins | Yes | Array of coins to send, each with denom and amount | |
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| recipientAddress | Yes | Address of the recipient |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states it 'supports sending multiple coins in one transaction.' It doesn't disclose critical behavioral traits like whether it's a write operation (implied by 'Send'), authentication needs, rate limits, transaction fees, confirmation times, or error conditions. This leaves significant gaps for a tool that likely modifies blockchain state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with zero waste. The first sentence states the core purpose, and the second adds a useful behavioral detail. It's appropriately sized and front-loaded, though it could be slightly more structured with bullet points or separation of key points.
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 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks information about return values, error handling, network dependencies (beyond the parameter hint), and behavioral implications like transaction finality or security considerations. This is inadequate for a tool that likely performs financial transactions.
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 description coverage is 100%, providing clear documentation for all parameters (coins, memo, networkName, recipientAddress). The description adds minimal value beyond the schema, only reinforcing that multiple coins can be sent. No additional syntax, format, or constraints are provided beyond what's in 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 the action ('Send tokens') and resource ('to another address'), with the additional detail about supporting multiple coins. It distinguishes from siblings like 'get-balance' or 'delegate' by focusing on token transfers, though it doesn't explicitly contrast with similar tools like 'ibc-transfer'.
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 explicit guidance on when to use this tool versus alternatives like 'ibc-transfer' (for cross-chain) or 'contract-execute' (for smart contract interactions). The description implies it's for direct token transfers but lacks context about prerequisites, network selection, or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim-rewardsC
Claim rewards for a specific validator
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| operatorAddress | Yes | Address of the validator to claim rewards from |
TDQS
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 'claim rewards' which implies a write/transaction operation, but doesn't disclose critical traits: whether this requires authentication, has side effects (e.g., on-chain transaction), involves fees, is irreversible, or has rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, though it could be slightly more informative without losing conciseness (e.g., by hinting at transaction behavior).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a blockchain transaction tool with no annotations and no output schema, the description is incomplete. It doesn't address key contextual aspects: what the tool returns (success/failure, transaction hash), error conditions, or behavioral implications (e.g., that it's a write operation). This leaves gaps for the agent to understand the tool's full impact.
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 description coverage is 100%, with clear descriptions for all three parameters in the input schema (e.g., 'operatorAddress' as the validator address, 'networkName' with usage instructions). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting.
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 ('claim rewards') and the target resource ('for a specific validator'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get-available-rewards' or 'undelegate', which would require mentioning what makes this tool distinct (e.g., that it's a transaction vs. a query).
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. The description doesn't mention prerequisites (e.g., needing available rewards first), exclusions, or comparisons to siblings like 'get-available-rewards' (which might check rewards before claiming) or 'delegate' (which involves staking). This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract-executeC
Execute a function on a smart contract that changes state
| Name | Required | Description | Default |
|---|---|---|---|
| contractAddress | Yes | Address of the smart contract to execute | |
| executeMsg | Yes | The execute message to send to the contract as a JSON object | |
| funds | No | Optional funds to send with the execution | |
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check available networks |
TDQS
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 mentions 'changes state' which indicates this is a write/mutation operation, but doesn't describe transaction costs, gas requirements, confirmation times, error conditions, or what happens on failure. For a state-changing blockchain operation, this is a significant gap in behavioral context.
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?
Single sentence, zero waste. Every word contributes to the core purpose. The description is appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing blockchain operation with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, transaction lifecycle, or important behavioral aspects. The agent would need to guess about many critical operational details.
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 description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's in the schema. Baseline 3 is appropriate when the schema does the heavy lifting, though the description could have provided context about how these parameters interact.
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 ('execute a function') and target ('on a smart contract'), with the qualifier 'that changes state' indicating this is a write operation. It distinguishes from sibling 'contract-query' which would be read-only, but doesn't specify what kind of functions or state changes are possible.
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 explicit guidance on when to use this tool versus alternatives like 'bank-send', 'delegate', or other contract-related operations. The description implies it's for state-changing contract interactions, but doesn't specify prerequisites, constraints, or when other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract-queryB
Query a smart contract by executing a read-only function
| Name | Required | Description | Default |
|---|---|---|---|
| contractAddress | Yes | Address of the smart contract to query | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the networks resource | |
| queryMsg | Yes | The query message to send to the contract as a JSON object |
TDQS
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 it's 'read-only' without detailing behavioral aspects like error handling, response format, rate limits, or authentication needs. It mentions executing a function but doesn't explain what happens if the contract address is invalid or the query fails.
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, efficient sentence that front-loads the core purpose ('Query a smart contract') with a clarifying detail ('executing a read-only function'). There is no wasted verbiage, and it directly communicates the essential information without redundancy.
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 3 parameters, no annotations, and no output schema, the description is insufficient. It lacks details on behavioral traits, error cases, or output format, leaving gaps in understanding how to use it effectively beyond the basic purpose. The schema covers parameters, but the description doesn't compensate for missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters. The description adds no additional semantic context beyond implying 'queryMsg' is for read-only functions, which is already suggested by 'read-only' in the description. Baseline 3 is appropriate as the schema handles parameter documentation adequately.
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 ('query') and target ('smart contract') with the specific operation mode ('executing a read-only function'). It distinguishes from siblings like 'contract-execute' by specifying read-only nature, though it doesn't explicitly contrast with all query-related tools like 'get-balance' or 'query-network'.
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 read-only contract interactions, suggesting when to use it versus write operations. However, it doesn't provide explicit guidance on when to choose this over other query tools like 'get-balance' or 'query-network', nor does it mention prerequisites like network availability checks referenced in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegateC
Delegate/Stake tokens to a validator
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of tokens to delegate | |
| denom | No | Optional denomination of the tokens, default is network's default denom | |
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| operatorAddress | Yes | Address of the validator to delegate to |
TDQS
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 the basic action. It doesn't disclose critical behavioral traits like whether this is a write operation (implied but not explicit), what permissions are needed, transaction costs, confirmation times, or what happens on failure. For a financial transaction tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, with zero wasted text. It's front-loaded with the core action and target, making it immediately understandable.
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 financial transaction tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or important behavioral context. The schema handles parameter documentation, but the description fails to provide necessary operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond what's already in the schema descriptions, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delegate/Stake tokens') and target ('to a validator'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'undelegate' or 'get-delegations' beyond the basic verb 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 like 'undelegate' or 'get-delegations'. The description only states what it does, not when it's appropriate or what prerequisites might exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex-find-routesA
Find available swap routes between two tokens - must first check two tokens are available in the DEX pools by using dex-get-pools
| Name | Required | Description | Default |
|---|---|---|---|
| networkName | Yes | Name of the network to use | |
| tokenInDenom | Yes | Denomination of the token to swap from | |
| tokenOutDenom | Yes | Denomination of the token to swap to |
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 of behavioral disclosure. While it mentions a prerequisite check, it doesn't describe what the tool actually returns (e.g., route details, costs, limitations), whether it's read-only or has side effects, or any performance/rate limit considerations. For a tool that finds swap routes with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: the core purpose is stated first, followed by a crucial prerequisite instruction. Both sentences earn their place by providing essential information without any wasted words, making it easy for an agent to parse quickly.
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 that there's no output schema and no annotations, the description should provide more context about what the tool returns and its behavioral characteristics. While it helpfully mentions a prerequisite, it doesn't explain the output format, potential errors, or how routes are determined, leaving the agent with incomplete information for proper tool invocation and result interpretation.
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 description coverage is 100%, so the schema already fully documents all three parameters (networkName, tokenInDenom, tokenOutDenom). The description doesn't add any additional parameter semantics beyond what's in the schema, such as format examples or constraints. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find available swap routes between two tokens.' This specifies the verb ('find') and resource ('swap routes'), making it immediately understandable. However, it doesn't explicitly distinguish this tool from its sibling 'dex-simulate-swap' or 'dex-swap', which likely involve similar swap-related functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'must first check two tokens are available in the DEX pools by using `dex-get-pools`.' This clearly indicates a prerequisite action and names the specific alternative tool to use first, helping the agent understand when and how to properly sequence operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex-get-poolsB
Get all available liquidity pools from the DEX
| Name | Required | Description | Default |
|---|---|---|---|
| networkName | Yes | Name of the network to use - must first check available networks through `networks://all` |
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 of behavioral disclosure. It states what the tool does but doesn't describe behavioral traits such as whether it's a read-only operation, potential rate limits, authentication requirements, or what the output format looks like (e.g., list structure, pagination). This is a significant gap for a 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.
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 any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks context on usage, behavioral details, and output expectations. For a tool with no annotations or output schema, more completeness would be beneficial to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'networkName' fully documented in the schema itself. The description adds no additional meaning beyond what the schema provides, such as explaining why network selection is necessary or how it affects the results. This meets the baseline of 3 when schema coverage is high.
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' and the resource 'all available liquidity pools from the DEX', which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'dex-find-routes' or 'dex-simulate-swap', which also involve DEX operations but for different purposes.
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 (e.g., needing to check networks first, as hinted in the parameter description) or compare it to other DEX-related tools like 'dex-find-routes' for routing or 'dex-simulate-swap' for simulations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex-simulate-swapA
Simulate a token swap to get expected outcome without executing it - must first check two tokens are available in the DEX pools by using dex-get-pools
| Name | Required | Description | Default |
|---|---|---|---|
| networkName | Yes | Name of the network to use | |
| tokenInAmount | Yes | Amount of tokens to swap | |
| tokenInDenom | Yes | Denomination of the token to swap from | |
| tokenOutDenom | Yes | Denomination of the token to swap to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly indicates this is a simulation (non-executing) operation, which is valuable behavioral context. However, it doesn't mention potential limitations like whether it accounts for slippage, gas fees, or pool depth, which would be helpful for a simulation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that are front-loaded with the core purpose and followed by essential prerequisite guidance. Every word earns its place with no redundancy or unnecessary elaboration.
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 simulation tool with no annotations and no output schema, the description provides good purpose and usage guidance but lacks information about what the simulation returns (expected output amounts, fees, success indicators). The context about checking pools first is helpful but doesn't fully compensate for the missing output details.
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 description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description doesn't add any additional parameter information beyond what's in the schema, maintaining the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('simulate a token swap'), the resource ('tokens'), and distinguishes it from execution ('to get expected outcome without executing it'). It differentiates from sibling 'dex-swap' which would be the actual execution tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool ('to get expected outcome without executing it') and provides a prerequisite action ('must first check two tokens are available in the DEX pools by using `dex-get-pools`'). This gives clear guidance on the proper workflow and distinguishes it from the execution alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex-swapA
Execute a token swap on the DEX - must first check two tokens are available in the DEX pools by using dex-get-pools
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use | |
| slippage | No | Maximum acceptable slippage percentage (e.g., '1' for 1%) | |
| tokenInAmount | Yes | Amount of tokens to swap | |
| tokenInDenom | Yes | Denomination of the token to swap from | |
| tokenOutDenom | Yes | Denomination of the token to swap to |
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 of behavioral disclosure. It mentions the prerequisite check but doesn't describe key behavioral traits: it doesn't state that this is a destructive/write operation (implied by 'Execute' but not explicit), doesn't mention transaction costs, rate limits, or error conditions, and doesn't specify what happens on success/failure. For a financial transaction tool with zero annotation coverage, this leaves significant gaps in understanding its 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, efficient sentence that immediately states the core purpose and provides critical usage guidance. Every word earns its place, with no redundancy or unnecessary elaboration. It's perfectly front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a DEX swap (financial transaction with multiple parameters) and the absence of both annotations and output schema, the description is incomplete. It provides excellent usage guidance but lacks behavioral context about the transaction's nature, costs, or outcomes. The 100% schema coverage helps with parameters, but for a tool that likely modifies state and involves financial risk, more behavioral disclosure 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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
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 ('Execute a token swap') and the resource ('on the DEX'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'dex-simulate-swap' or 'dex-find-routes', which prevents a perfect score, but the verb 'Execute' suggests this performs the actual transaction rather than simulation or route finding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('must first check two tokens are available in the DEX pools by using `dex-get-pools`'), providing clear prerequisites and naming a specific alternative tool. This gives strong guidance on the required sequence of operations, which is crucial for correct usage in a DEX context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-account-infoC
Get current account information
| Name | Required | Description | Default |
|---|---|---|---|
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
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 of behavioral disclosure. The description only states what the tool does ('Get current account information') without adding any behavioral context such as authentication requirements, rate limits, error conditions, or what the return format might look like. It's minimal and lacks details needed for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence, 'Get current account information', which is front-loaded and wastes no words. Every part of the sentence contributes directly to stating the tool's purpose, making it efficient and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a tool with one required parameter in a blockchain context) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'current account information' entails, how it relates to other account tools, or what the output might contain. For a tool in this domain, more context is needed to ensure proper use.
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% description coverage, with the parameter 'networkName' fully documented in the schema itself. The description adds no additional information about parameters beyond what the schema provides. According to the rules, with high schema coverage (>80%), the baseline score is 3 even if the description lacks param info, which applies here.
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 'Get current account information' clearly states the verb ('Get') and resource ('current account information'), making the purpose understandable. However, it's somewhat vague about what specific account information is retrieved, and it doesn't differentiate from sibling tools like 'get-balance' or 'get-delegations', which might provide overlapping or related account data.
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. There are multiple sibling tools that might retrieve account-related information (e.g., 'get-balance', 'get-delegations', 'get-available-rewards'), but the description doesn't specify what makes this tool unique or when it should be preferred over others. No explicit context 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.
get-available-rewardsC
Get all available rewards for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Address to query for available rewards | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
TDQS
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 it 'gets' rewards, implying a read-only query, but doesn't clarify if this is a safe operation, what permissions are needed, how data is returned (e.g., format, pagination), or any rate limits. This leaves significant gaps for an agent to understand the tool's 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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (querying rewards with 2 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'available rewards' entail, how results are structured, or any behavioral traits like safety or performance. This leaves the agent with insufficient context for effective use.
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 description coverage is 100%, so the schema already documents both parameters ('address' and 'networkName') with descriptions. The description adds no additional meaning beyond what the schema provides, such as explaining how 'address' relates to rewards or elaborating on 'networkName' usage. Baseline 3 is appropriate as the schema handles the heavy lifting.
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 ('Get') and resource ('all available rewards for an address'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'claim-rewards' or 'get-balance', which might involve similar resources but different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to siblings such as 'claim-rewards' (which might be for claiming rather than querying) or 'get-balance' (which might retrieve different financial data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-balanceB
Get balance of an address (defaults to your own address if none provided)
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Optional address to get balance for, defaults to current address | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
TDQS
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 mentions the default behavior for the address parameter, which is useful context. However, it doesn't describe what the balance represents (e.g., native tokens, specific denomination), whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, or error conditions. For a financial tool with zero annotation coverage, this leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the core functionality and key behavioral nuance (the default address). Every word earns its place with zero redundancy or unnecessary elaboration. The structure is front-loaded with the primary purpose followed by the important qualification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (financial balance query), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It covers the basic purpose and one behavioral aspect (default address), but doesn't address what the return value contains, error conditions, or relationship to sibling tools. The description works but leaves the agent with unanswered questions about the operation's full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds marginal value by reinforcing the default behavior for the address parameter ('defaults to your own address if none provided'), but doesn't provide additional semantic context beyond what's in the schema. This meets the baseline expectation when schema coverage is complete.
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' and resource 'balance of an address', making the purpose immediately understandable. It distinguishes from siblings like 'get-account-info' or 'get-delegations' by focusing specifically on balance retrieval rather than broader account information. However, it doesn't explicitly contrast with these similar tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning the default behavior when no address is provided, which helps understand when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get-account-info' (which might include balance among other data) or provide any exclusion criteria. The guidance is helpful but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-block-infoC
Get block information
| Name | Required | Description | Default |
|---|---|---|---|
| height | No | Optional block height to query, defaults to latest block | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
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 of behavioral disclosure. 'Get block information' implies a read-only operation, but it doesn't specify whether this requires authentication, has rate limits, returns structured data, or involves side effects. For a tool with no annotation coverage, this is a significant gap in describing behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just three words: 'Get block information'. It's front-loaded and wastes no space, making it easy to parse. Every word earns its place by conveying the core action and resource without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of blockchain tools, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'block information' includes (e.g., transactions, timestamps), how results are formatted, or error conditions. For a tool in this context with rich sibling tools, more detail is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. With 100% schema description coverage, the schema fully documents both parameters ('height' and 'networkName'), including defaults and prerequisites. The description doesn't compensate or add extra meaning, so it meets the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get block information' states a clear verb ('Get') and resource ('block information'), but it's vague about what specific information is retrieved. It doesn't distinguish this tool from potential siblings like 'get-account-info' or 'query-network' beyond the resource type. The purpose is understandable but lacks specificity.
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. While the input schema hints at usage by requiring 'networkName' and referencing the 'networks' resource, the description itself offers no explicit when-to-use, when-not-to-use, or alternative tool recommendations. This leaves the agent to infer usage from schema details alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-delegationsC
Get current staking information for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Address to query for delegations | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
TDQS
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. It doesn't mention whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or response format, which are critical for a tool querying blockchain data.
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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of blockchain/staking tools, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'staking information' entails (e.g., delegation amounts, validator details), potential response structure, or error handling, leaving significant gaps for agent understanding.
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 description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't clarify what 'current staking information' includes or how the address should be formatted), meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and target resource ('current staking information for an address'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-available-rewards' or 'delegate', which also relate to staking operations, so it doesn't reach the highest score.
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 like 'get-available-rewards' or 'delegate'. It doesn't mention prerequisites, exclusions, or comparative contexts, leaving the agent with minimal usage direction beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-validatorsC
Get all validators
| Name | Required | Description | Default |
|---|---|---|---|
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments |
TDQS
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. 'Get all validators' implies a read-only operation but doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what format the validators data takes. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
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 maximally concise at just three words. Every word earns its place: 'Get' specifies the action, 'all' indicates scope, and 'validators' identifies the resource. There's zero wasted language or unnecessary elaboration in this minimal but complete phrase.
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 no annotations and no output schema, the description is inadequate. It doesn't explain what 'validators' means in this blockchain context, what data is returned, whether results are paginated, or any error conditions. Given the complexity implied by the sibling tools (delegation, contracts, DEX operations), this simple description leaves too much unspecified.
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 description mentions no parameters, which is appropriate since the single parameter 'networkName' is fully documented in the schema (100% coverage). The schema provides comprehensive details about the networkName requirement and even includes usage guidance about checking available networks first. The description correctly avoids duplicating this information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all validators' states the verb ('Get') and resource ('validators'), making the basic purpose clear. However, it's vague about scope and doesn't differentiate from sibling tools like 'get-delegations' or 'get-account-info' that also retrieve blockchain data. The description lacks specificity about what 'all' means in this context.
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. With siblings like 'get-delegations' and 'get-account-info' that also retrieve blockchain information, there's no indication of when this specific validator-focused tool is appropriate versus other data retrieval tools. The input schema mentions checking networks first, but this isn't part of the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ibc-transferC
Send tokens via IBC transfer.
| Name | Required | Description | Default |
|---|---|---|---|
| ibcMemo | No | Optional memo for the IBC transfer | |
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| recipientAddress | Yes | Address of the recipient | |
| sourceChannel | Yes | Source channel for the IBC transfer | |
| sourcePort | No | Source port for the IBC transfer | |
| timeoutHeight | No | Timeout height for the IBC transfer | |
| timeoutTimestamp | No | Timeout timestamp for the IBC transfer | |
| transferAmount | Yes | Amount to send |
TDQS
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 the basic action without disclosing behavioral traits. It doesn't mention whether this is a read-only or destructive operation, authentication requirements, rate limits, error conditions, or what happens on success/failure. For a complex 9-parameter tool with no annotations, this is inadequate.
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, efficient sentence with zero wasted words. It's appropriately sized and front-loaded with the core functionality. Every word earns its place in 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?
Given the tool's complexity (9 parameters, nested objects, no output schema, and no annotations), the description is insufficient. It doesn't explain what IBC transfer entails, what the expected outcome is, error handling, or how this differs from simpler transfer tools. For a tool with this level of complexity and no structured safety information, the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send tokens') and the mechanism ('via IBC transfer'), which is specific and distinguishes it from sibling tools like 'bank-send' that likely handle on-chain transfers. However, it doesn't explicitly differentiate from other cross-chain or transfer-related tools beyond the IBC specification.
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 like 'bank-send' or 'dex-swap'. It lacks context about prerequisites (e.g., needing IBC channels set up) or scenarios where IBC transfers are appropriate compared to other transfer methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query-networkA
Execute a generic network gRPC Gateway query against chain APIs when you cannot find the required information from other tools. You MUST first check the available query/service by reading the openapi specification from the resource openapi://{networkName} to understand available query/service, methods, required parameters and body structure.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body for POST/PUT requests | |
| method | Yes | HTTP method to use for the request | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| path | Yes | API endpoint path from the OpenAPI spec, e.g., '/cosmos/bank/v1beta1/balances/{address}' | |
| pathParams | No | Path parameters to substitute in the URL path | |
| queryParams | No | Query parameters to add to the request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that this is a generic query execution tool requiring pre-checks of OpenAPI specs and network availability, which adds useful behavioral context. However, it doesn't mention error handling, rate limits, authentication needs, or response formats, leaving gaps for a tool with 6 parameters.
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 appropriately sized with two sentences that are front-loaded: the first states the purpose and usage condition, the second provides prerequisites. Every sentence adds value, though it could be slightly more streamlined by integrating the prerequisites more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no output schema, no annotations), the description is partially complete. It covers usage context and prerequisites well but lacks details on behavioral traits like error handling or response structure. For a generic query tool with many siblings, more guidance on typical use cases would enhance completeness.
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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal parameter semantics beyond the schema, only implying that 'networkName' and 'path' relate to OpenAPI specs. It doesn't explain how parameters interact or provide examples, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Execute a generic network gRPC Gateway query against chain APIs.' It specifies the action (execute query) and target (chain APIs via gRPC Gateway). However, it doesn't explicitly differentiate from sibling tools like 'contract-query' or 'get-balance' beyond being a fallback option.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'when you cannot find the required information from other tools.' It instructs to first check available queries via the OpenAPI spec and networks via the networks resource, establishing clear prerequisites and when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undelegateC
Undelegate/Unstake tokens from a validator
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount of tokens to undelegate | |
| denom | No | Optional denomination of the tokens, default is network's default denom | |
| memo | No | Optional memo for the transaction | |
| networkName | Yes | Name of the network to use - must first check what networks are available through the mantrachain-mcp server by accessing the networks resource `networks://all` before you pass this arguments | |
| operatorAddress | Yes | Address of the validator to undelegate from |
TDQS
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 the action without behavioral details. It doesn't disclose whether this is a transaction requiring fees, confirmation time, irreversible effects, or network-specific constraints. The agent must infer these critical aspects from context alone.
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, efficient phrase that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 financial transaction tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It lacks crucial context about transaction behavior, outcomes, error conditions, or relationship to sibling tools like 'delegate' and 'get-delegations', leaving significant gaps for agent understanding.
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 description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional parameter semantics beyond implying 'tokens' relate to 'amount' and 'denom'. This meets the baseline for high schema coverage but doesn't enhance understanding.
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 ('Undelegate/Unstake') and resource ('tokens from a validator'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'delegate' beyond the opposite action, missing explicit comparison that would earn 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 about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., having delegated tokens first), contrast with 'delegate', or specify scenarios where undelegation is appropriate versus other actions like claiming rewards.
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.
18 tool updates
v1.0.0- First observed
bank-send - First observed
claim-rewards - First observed
contract-execute - First observed
contract-query - First observed
delegate - First observed
dex-find-routes - First observed
dex-get-pools - First observed
dex-simulate-swap - First observed
dex-swap - First observed
get-account-info - First observed
get-available-rewards - First observed
get-balance - First observed
get-block-info - First observed
get-delegations - First observed
get-validators - First observed
ibc-transfer - First observed
query-network - First observed
undelegate
TDQS
Scored across 18 tools
Most tools have distinct purposes, but there is some overlap between get-account-info and get-balance, and between get-available-rewards and claim-rewards, which could cause minor confusion. The DEX tools are well-differentiated with clear dependencies, and other tools like delegate/undelegate and contract-execute/contract-query are clearly separate.
The naming follows a consistent verb-noun pattern with hyphens (e.g., bank-send, get-balance, dex-swap), making it predictable and readable. There are minor deviations like query-network being more verbose and ibc-transfer using an acronym, but overall the pattern is maintained across most tools.
With 18 tools, the count is slightly high but reasonable for a blockchain server covering banking, staking, DEX, contracts, and IBC. It provides comprehensive functionality without being overwhelming, though it borders on the upper limit of typical scoping.
The tool set offers complete coverage for the blockchain domain, including core operations like sending tokens, staking/delegating, querying contracts, DEX swaps, and IBC transfers. It includes both read and write operations, with no obvious gaps, and even provides a fallback query-network tool for extended functionality.
Maintenance
Related MCP Connectors
Tenzro Network MCP server: wallet, identity, payments, inference, staking, bridges, verification.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Hosted MCP server for live Bittensor chain reads and self-custodial on-chain writes.
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.5MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.2865 npm379MIT
- FlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that provides onchain tools for Claude AI, allowing it to interact with the Solana blockchain through a standardized interface for operations like managing assets, executing token operations, and retrieving network information.7-

Hashkey MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides onchain tools for AI applications to interact with the Hashkey Network, enabling cryptocurrency transfers, smart contract deployment, and blockchain interactions.13 npm2MIT