Peppermint MCP Server
Click on "Install 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., "@Peppermint MCP Serverdeploy a new ERC20 token called MyToken"
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.
MCP Peppermint Server
Un servidor Model Context Protocol (MCP) para la API de Peppermint Tools. Proporciona acceso completo a funcionalidades blockchain incluyendo contratos inteligentes, tokens, NFTs y más.
Características
18 herramientas MCP para operaciones blockchain
Autenticación flexible: Plain API Key (recomendada) y HMAC-SHA512
Operaciones completas: Blockchains, contratos, tokens, vaults, transacciones
Auto-configuración: Detecta vaults automáticamente
Related MCP server: Tatum MCP Server
Instalación
npm install
npm run buildConfiguración
Variables de entorno:
PEPPERMINT_API_KEY: Tu API key de PeppermintPEPPERMINT_INSECURE_KEY:"1"para Plain API Key,"0"para HMAC
Para Claude Desktop:
{
"mcpServers": {
"peppermint": {
"command": "node",
"args": ["/ruta/completa/al/proyecto/dist/flexible-server.js"],
"env": {
"PEPPERMINT_API_KEY": "tu-api-key",
"PEPPERMINT_INSECURE_KEY": "1"
}
}
}
}Uso
# Ejecutar servidor
npm start
# Desarrollo
npm run devHerramientas Disponibles
Información
get_auth_info- Ver método de autenticación actual
Blockchain
list_blockchains- Listar blockchains disponiblesget_blockchain- Obtener detalles de blockchain
Contratos
list_contracts- Listar contratosget_contract- Obtener contrato específicodeploy_contract- Desplegar contratoread_contract- Leer datos de contratowrite_contract- Escribir datos a contrato
Tokens
create_token- Crear token ERC20mint_token- Mint tokensburn_token- Burn tokenstransfer_erc20- Transferir tokens ERC20 desde un wallet
Vaults
list_vaults- Listar vaultsget_vault- Obtener vault específicocreate_vault- Crear vault
Transacciones
list_transactions- Listar transaccionesget_transaction- Obtener transacción específica
Wallets
create_wallet- Crear wallet
Estructura del Proyecto
src/
├── flexible-server.ts # Servidor MCP principal
├── flexible-client.ts # Cliente API de Peppermint
├── flexible-auth.ts # Sistema de autenticación
└── types.ts # Definiciones de tiposLicencia
ISC
Available Tools
18 toolsburn_tokenC
Burn tokens from the caller
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Amount to burn | |
| contractId | Yes | Contract ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of disclosing that burning is an irreversible, state-changing operation. It merely says 'burn tokens' without explaining that tokens are permanently destroyed, total supply may decrease, or that this action requires appropriate permissions. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—just five words—with no fluff. It is front-loaded and easy to parse. While it is minimal, it does not waste words and is structurally simple. A slightly more detailed explanation would be helpful, but the conciseness is not a flaw.
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 token-burning tool with no annotations or output schema, the description is incomplete. It fails to mention side effects (irreversibility, supply change), potential requirements (ownership/approval), or what the caller should expect in response. The presence of sibling tools does not compensate for this lack of 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?
The schema covers 100% of the parameters with simple descriptions: 'Amount to burn' and 'Contract ID'. The tool description adds no new meaning beyond the schema. Baseline 3 is appropriate since the schema already documents the parameters 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 verb 'burn' and the resource 'tokens' with the scope 'from the caller'. It distinguishes from sibling tools like mint_token and transfer_erc20 by indicating a destruction action. However, it could be more specific about which token standard or chain is involved.
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 gives no guidance on when to use this tool versus alternatives. It does not mention that burning is the opposite of minting or transferring, nor does it reference any prerequisites or conditions. Usage is implied only by the verb 'burn'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tokenB
Create a new ERC20 token
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Token name | |
| symbol | Yes | Token symbol | |
| vaultId | No | Vault ID (optional) | |
| decimals | Yes | Token decimals | |
| blockchainId | Yes | Blockchain ID | |
| initialSupply | Yes | Initial supply |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states 'Create a new ERC20 token'. It does not disclose whether this deploys a contract, requires funds, has irreversible side effects, or what happens on the blockchain. This leaves the agent guessing about the operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant words. It is appropriately sized for a straightforward tool and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, no output schema, and no annotations, yet the description is a single sentence. It does not explain parameter relationships, required contexts, return values, or side effects. This is inadequate for an agent to invoke correctly in complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description, so the baseline is 3. The tool description adds no additional parameter meaning beyond the schema, which is minimal but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the specific resource ('a new ERC20 token'), distinguishing it from sibling tools like mint_token or deploy_contract. It is unambiguous and directly conveys the tool's core function.
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 does not mention prerequisites, when to prefer create_token over deploy_contract or mint_token, or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_vaultC
Create a new vault
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Vault name | |
| description | No | Vault description (optional) | |
| blockchainIds | No | Blockchain IDs (optional) |
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 disclosing behavioral traits. 'Create a new vault' says nothing about side effects, permissions, reversibility, or what happens upon success. It only states the action itself, leaving the agent with no understanding of the tool's impact or requirements.
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—a single sentence with no filler—but it is under-specified for a tool with three parameters and no output schema. It is not overly wordy, but it is not appropriately sized because it lacks necessary context to guide the agent.
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 lack of annotations, output schema, and minimal description, the tool definition is incomplete. The agent has no information about return values, side effects, or error conditions. This is inadequate even for a simple creation tool.
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 describes all three parameters with 100% coverage: name, description, and blockchainIds. The description adds no additional information about parameters, so it goes no further than the schema. This matches 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 'Create a new vault' uses a specific verb+resource pair, clearly stating the tool's action. It distinguishes from sibling tools like list_vaults and get_vault through the 'create' verb, though it lacks scope details such as what a vault consists of. This is slightly above the minimum viable but not as rich as examples that include specific constraints.
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 does not mention prerequisites, typical use cases, or situations where other tools like create_wallet or deploy_contract might be more appropriate. The context is implied solely by the tool name, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_walletC
Create a new wallet
| Name | Required | Description | Default |
|---|---|---|---|
| vaultId | No | Vault ID (optional) | |
| blockchainId | Yes | Blockchain ID |
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. 'Create a new wallet' only conveys that a mutation occurs but says nothing about side effects, authorization needs, required inputs beyond the schema, or reversibility. This is a significant transparency gap.
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 short, but this brevity reflects under-specification rather than effective conciseness. It restates the tool name without adding any substantive value, so it fails the 'every sentence should earn its place' criterion.
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 this is a mutation tool with no annotations and no output schema, the description should explain what a wallet is, any prerequisites, and expected behavior. It does none of these, leaving the agent without enough context to invoke the tool correctly in a real workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for both parameters (blockchainId and vaultId), giving 100% coverage. The description adds no additional meaning about parameter usage or relationships, so it earns the baseline 3 without enhancement.
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 'Create a new wallet' clearly identifies the action (create) and resource (wallet), making the primary purpose unambiguous. However, it does not distinguish itself from sibling tools like create_vault or create_token, which also involve creation actions. Thus it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or context. With siblings like create_vault and deploy_contract, the absence of usage criteria leaves the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_contractC
Deploy a new smart contract
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI | |
| name | Yes | Contract name | |
| type | Yes | Contract type | |
| symbol | No | Contract symbol | |
| vaultId | No | Vault ID (optional) | |
| bytecode | No | Contract bytecode | |
| blockchainId | Yes | Blockchain ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It provides zero information about side effects such as gas costs, irreversibility, network requirements, or potential security implications of deploying a contract. The description is purely declarative and lacks any context about what happens during deployment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words, achieving good front-loading. It is appropriately sized for the void it fills, though the minimalism contributes to under-specification.
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 deployment tool with 7 parameters, no output schema, and no annotations, the description is severely incomplete. It does not cover what a successful deployment returns, possible errors, or any prerequisites, leaving the agent to rely on external knowledge.
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 already documented. However, the description does not add any additional meaning or clarify relationships between parameters (e.g., how blockchainId relates to the deployment). The baseline of 3 applies because 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 a specific verb ('deploy') and resource ('smart contract'), indicating a creation action. However, it does not explicitly distinguish this tool from sibling tools like create_token, which may also deploy contracts, so it falls short of full differentiation.
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?
There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites, intended scenarios, or cases where another tool (e.g., write_contract for interaction) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_auth_infoB
Get information about current authentication method
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only says 'get information' which implies a read operation, but does not reveal what specific auth details are returned, whether it makes network calls, or if it requires prior setup. This is a minimal disclosure.
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 communicates the tool's purpose. It is not verbose, but the brevity leaves out useful elaboration such as what 'auth information' consists of. Still, for a simple tool, it earns a high conciseness score.
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 absence of an output schema and annotations, the description should clarify what the tool returns (e.g., authentication method, expiry, user details). It gives a basic purpose but is incomplete in conveying the full scope of 'information.' Adequate for a simple zero-param tool but could be more descriptive.
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 tool has zero parameters, so the schema is trivially complete (100% coverage). The description does not need to explain parameter semantics, and its lack of parameter information is not a deficiency. Baseline 4 for zero-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get information') and the resource ('current authentication method'), making it specific and distinct from sibling tools that deal with blockchains, contracts, transactions, vaults, and tokens. There is no ambiguity in what this tool does.
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 others, nor any context about prerequisites or typical use cases. The description simply restates the function without explaining how it fits into a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blockchainA
Get details of a specific blockchain
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Blockchain ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. The phrase 'Get details' implies a read-only operation, but no specifics are given about potential errors, authentication requirements, or response format. For a simple getter this is minimally adequate, but it adds no extra context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly conveys the tool's purpose with no redundant words. Every word contributes to 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 low complexity (one required parameter, no output schema, simple read operation), the description is nearly complete. It could be enhanced by noting that the id likely comes from list_blockchains, but the current level is sufficient for a straightforward getter.
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%, as the 'id' parameter is documented as 'Blockchain ID'. The description does not add any additional meaning or usage hints for the parameter, so it meets the baseline but provides no extra value.
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 details) and resource (a specific blockchain), distinguishing it from list_blockchains and other resource-specific getters like get_contract and get_transaction. The wording is unambiguous and matches the tool's name.
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, such as when to prefer list_blockchains for multiple blockchains or how to obtain the required id. The description only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contractB
Get details of a specific contract
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Contract ID |
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 only states 'Get details' without revealing whether this is a read-only operation, what fields are included in 'details', or any potential side effects or prerequisites. This lacks transparency beyond the bare action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words or repetition. It is front-loaded and efficiently communicates the core action, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple (one parameter, no output schema), the description's vague term 'details' leaves ambiguity about what exactly is returned, especially given the existence of a similar sibling tool 'read_contract'. It is minimally viable but lacks sufficient context to fully disambiguate from alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the only parameter 'id' with a clear description ('Contract ID'), achieving 100% schema coverage. The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'details of a specific contract', making the purpose understandable. However, it does not differentiate itself from the sibling tool 'read_contract', which could also be interpreted as retrieving contract details.
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 'read_contract' or 'list_contracts'. There are no usage conditions, exclusions, or alternative recommendations, leaving the agent to guess the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transactionB
Get details of a specific transaction
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transaction ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It only says 'get details', which implies a read operation but does not mention whether it is read-only, error behavior on missing IDs, rate limits, or what the returned details include. The lack of behavioral context leaves the agent with minimal information beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that conveys the core purpose without any filler or redundancy. It is immediately readable and front-loads the key action and resource, earning a perfect conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema, no annotations), so the description is minimally adequate for an agent to understand its basic purpose. However, it omits any information about the expected return format, whether the operation is read-only, or how errors are handled. Given the lack of annotations and output schema, the description should provide a bit more context to be fully complete, earning a score of 3.
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%: the single parameter 'id' is adequately described as 'Transaction ID' in the input schema. The tool description adds no additional semantic detail about the parameter's format, provenance, or usage, but the schema already provides the necessary meaning, meeting the baseline for high 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 details of a specific transaction' clearly identifies the action (get) and resource (specific transaction), which distinguishes it from sibling tool 'list_transactions' that retrieves multiple transactions. The scope is explicitly 'specific', so an agent can reliably select this tool for single-transaction lookups.
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 offers no guidance on when to use this tool versus alternatives like 'list_transactions' or other get-* tools. It does not state any conditions, prerequisites, or exclusions. The implied usage is evident from the name and schema, but no explicit advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vaultB
Get details of a specific vault
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Vault ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only action but does not explicitly state safety, error behavior, or response content. The description adds no context beyond what is obvious from the verb 'Get'.
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, direct sentence that is fully front-loaded with the essential action and resource. There is no unnecessary wording or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description is sufficient for invocation assuming standard 'get by ID' semantics, but it lacks any mention of return structure or note about being a read-only operation. Overall adequate but minimal.
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%, as the only parameter 'id' is clearly described as 'Vault ID'. The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.
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 details of a specific vault' uses a specific verb ('Get') and resource ('vault'), and the qualifier 'specific' distinguishes it from sibling tools like list_vaults or create_vault. The presence of the 'id' parameter confirms the intended single-item retrieval.
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 such as list_vaults or create_vault. The description only states the action without any contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_blockchainsB
List all available blockchains
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 only states that the tool lists blockchains but does not indicate whether the operation is read-only, the nature of the return value, or any potential side effects. The behavior is inferred from the verb 'list' but not explicitly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is appropriately sized for such a simple tool, but it lacks any additional context that could help an agent, so it misses a perfect score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description is incomplete given the lack of annotations and output schema. It does not specify what 'available' means, what the return structure is, or whether there is any pagination. A more complete description would at least mention that it returns a list of blockchain identifiers or similar 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?
The tool has zero parameters, and the schema coverage is 100% (vacuous). Per the rubric, a baseline of 4 is appropriate because there are no parameters to clarify. The description adds no parameter information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('blockchains'), clearly indicating it returns all available blockchains. This distinguishes it from sibling tools like get_blockchain, which retrieves a single blockchain, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it returns all blockchains rather than a specific one, nor does it suggest using get_blockchain for details. There is no stated context or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contractsB
List all contracts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only says 'List all contracts' without disclosing read-only nature, return format, pagination, or any safety/authentication expectations. The minimal description does not add behavioral context beyond the literal action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's function. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 params, no output schema), and the description tells what it does. However, it lacks context on what the returned contracts look like, whether they are scoped to a specific blockchain or workspace, or any caveats. It is minimally viable but leaves gaps.
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 tool has zero parameters, so schema coverage is trivially 100%. The description adds mild semantic value by stating 'all contracts', implying no filtering, but does not need to explain parameters since none exist. Baseline 4 for 0 params is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all contracts, using a specific verb (list) and resource (contracts). It distinguishes from sibling tools like get_contract and deploy_contract, though it does not explicitly compare or contrast with alternatives.
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?
There is no guidance on when to use this tool versus alternatives. No context, exclusions, or alternative suggestions are provided, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_transactionsB
List all transactions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. 'List all transactions' implies a read-only operation but does not disclose return format, pagination, potential error conditions, or any side effects, leaving the agent uninformed about runtime 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, short sentence with no superfluous information. It is highly concise and directly to the point, satisfying the requirement that every word earns its place.
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 parameters, no annotations, and no output schema, the description is minimal but not entirely insufficient. It clearly states the action, but it does not clarify what 'all transactions' means in context, potential result size, or any limitations, leaving room for ambiguity.
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?
This tool has zero parameters, so the schema is an empty object. The baseline score of 4 is appropriate because there are no parameter details to explain, and the description adds no meaning beyond the fact that all transactions are listed without any filters or inputs.
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 'List all transactions' clearly states the verb and resource, making it obvious that this tool lists transactions. It distinguishes from the sibling 'get_transaction' which retrieves a single transaction, but it does not specify the scope or criteria for 'all', leaving some ambiguity.
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 is no mention of exclusions, prerequisites, or situations where a different listing tool might be more appropriate, despite the presence of siblings like 'list_contracts'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vaultsB
List all vaults
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure, but it only states the action. It does not mention return format, pagination, auth requirements, or any side effects, which are relevant for a listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It conveys the entire operation efficiently.
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 (no parameters), the description is minimal but lacks details about the output format or any filtering/ordering behavior. It is adequate for a basic list operation but leaves some ambiguity about what 'vaults' includes.
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?
With zero parameters and an empty schema, the description adds no parameter details, but none are needed. The baseline of 4 applies because there is nothing to clarify beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all vaults' uses a specific verb and resource, clearly indicating the operation. It distinguishes from siblings like get_vault and create_vault by the word 'list' and 'all', though it does not explicitly name alternatives.
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 such as get_vault. The description only states what it does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mint_tokenC
Mint tokens to an address
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address | |
| amount | Yes | Amount to mint | |
| contractId | Yes | Contract ID |
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 disclosure. It states the action ('mint tokens') but does not explain side effects (e.g., increasing total supply), permission requirements, irreversibility, or the nature of the transaction (e.g., on-chain mutation). The description is too sparse to inform the agent of the tool's behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant words. It conveys the core action efficiently and is appropriately front-loaded, earning a high score for conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 required parameters, no output schema, no annotations), the description is notably incomplete. It fails to mention when to use this tool over siblings, the effect on token supply, prerequisites, or what the response contains. The description is minimally viable but leaves critical gaps for an agent to invoke it confidently.
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% (each parameter has a description), so the baseline is 3. The tool description adds minimal semantic value beyond the schema; 'to an address' merely restates the 'Recipient address' parameter description. It does not clarify units, decimals, or how 'amount' and 'contractId' interact, but the schema already provides the essential meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Mint') and resource ('tokens') with a destination ('to an address'), clearly indicating the action of creating tokens for a recipient. It distinguishes itself from sibling tools like 'burn_token' (burning), 'transfer_erc20' (transferring), and 'create_token' (creating a new token contract). However, it leaves minor ambiguity about whether this mints into an existing contract or creates a new token, though the 'contractId' parameter implies the former.
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 gives no guidance on when to use this tool versus alternatives. It does not mention scenarios where minting is appropriate, prerequisites (e.g., contract ownership), or contrast with 'write_contract' or 'create_token'. The agent is left without explicit direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_contractC
Read data from a smart contract
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Function parameters | |
| contractId | Yes | Contract ID | |
| functionName | Yes | Function name to call |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Read data' implies a non-mutating operation, but it does not explicitly state side-effect-free behavior, permission requirements, or return format. No additional behavioral context beyond the verb is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence 'Read data from a smart contract', which is concise and front-loaded. Every word contributes to the 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?
The tool has no output schema and no annotations, and the description does not explain return values, error conditions, or how to structure the function call. It also does not distinguish from get_contract. For a contract-reading tool with nested params, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as each parameter has a description in the schema, so the baseline is 3. The description does not add any parameter meaning beyond the schema, but this is acceptable given the 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 reads data from a smart contract, using the verb 'Read' and resource 'smart contract'. However, it does not differentiate from sibling tools like get_contract which might also retrieve contract data, so it lacks sibling differentiation.
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 such as write_contract or get_contract. The description simply states the action without any context, prerequisites, or usage examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_erc20B
Transfer ERC20 tokens from a wallet to another address
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Address of the receiver | |
| amount | Yes | Amount to transfer in wei format | |
| walletId | Yes | ID of the wallet that has the tokens (origin wallet) | |
| tokenAddress | Yes | Address of the ERC20 token contract |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'Transfer', implying a mutation, but does not mention chain effects, irreversibility, gas costs, balance requirements, or any return value. The description is too sparse to inform the agent of important side effects or preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the verb and resource, making it immediately scannable and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations or an output schema, the description does not explain what happens after a successful transfer, such as transaction hash, confirmation behavior, or failure modes. It also lacks practical usage context like preconditions, making it insufficient for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a meaningful description. The tool's description adds no additional semantic information beyond what the input schema provides, so the baseline of 3 applies.
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 ('Transfer'), the specific resource ('ERC20 tokens'), and the direction ('from a wallet to another address'). This distinguishes it from sibling tools like mint_token, burn_token, or generic write_contract 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 implies when to use the tool (when transferring ERC20 tokens) but does not explicitly mention alternatives or exclusions. It does not say when not to use it, such as for native token transfers or contract interactions, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_contractC
Write data to a smart contract
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Function parameters | |
| contractId | Yes | Contract ID | |
| functionName | Yes | Function name to call |
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 does not mention side effects (e.g., permanent state changes, gas costs), authentication requirements, or failure modes. For a mutation tool, this is a significant gap—the agent cannot anticipate the consequences of invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is front-loaded and contains no filler. Every word contributes to the core meaning, making it highly concise and well-structured.
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 write operation with no output schema and no annotations, the description is severely under-specified. It does not explain what the tool returns (e.g., transaction hash), whether it requires prior deployment, or how it interacts with the broader contract lifecycle. The minimal description fails to provide essential context for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, as all three parameters (contractId, functionName, params) have descriptions. The description's 'write data' loosely implies that params are the data to write, but it adds no additional meaning beyond the schema. The baseline of 3 applies because the schema already documents the parameters 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 states a clear action ('write data') and resource ('smart contract'), which distinguishes it from read_contract and deploy_contract. However, it does not explicitly differentiate from similar write tools like transfer_erc20 or mint_token, so it lacks sibling differentiation beyond the basic read/write/deploy 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 such as deploy_contract or transfer_erc20. There is no mention of prerequisites, context, or exclusions. The usage is implied only by the phrase 'write data', which is insufficient for an agent deciding between multiple write-capable tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clear, distinct purposes (auth, blockchains, contracts, transactions, vaults, tokens). A few near-boundaries exist, e.g., create_token vs deploy_contract, but descriptions clarify the difference.
All tool names follow a consistent verb_noun snake_case pattern (get_, list_, create_, deploy_, read_, write_, mint_, burn_, transfer_). No mixed conventions or vague names.
18 tools is on the higher side but appropriate given the broad scope covering blockchains, contracts, transactions, vaults, and tokens. Each tool addresses a distinct operation, though a few could be consolidated without loss.
The surface covers core operations for auth, blockchain info, contract lifecycle (deploy/read/write), transactions, vaults, and token management. Missing native token transfers or wallet balance queries are minor gaps given the token/contract focus.
Maintenance
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
Query real-time blockchain token data across EVM and Solana networks. Access token balances, transfers, prices, holders, NFT ownership, DEX swaps, and liquidity pools. Supports Ethereum, Base, Arbitrum, BSC, Polygon, Solana, and more.
Connect to the COTI blockchain to manage accounts, transfer native tokens, and deploy and operate…
Open API Marketplace for AI Agents. Crypto data tools with USDC payments on Base.
Blockchain analytics API for AI agents. Smart Money signals, wallet profiling, token analytics.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceProvides access to NFTGo's Developer API for retrieving NFT collection details, asset information, market data, wallet information, and search capabilities on the Ethereum blockchain.175MIT
Tatum MCP Serverofficial
AlicenseBqualityCmaintenanceProvides access to Tatum's blockchain API across 40+ networks, enabling developers to interact with blockchain data, manage notifications, estimate fees, access RPC nodes, and work with smart contracts through natural language.315615MIT- AlicenseNot gradedqualityDmaintenanceProvides 50+ tools for comprehensive Algorand blockchain development including account management, asset operations, smart contracts, atomic transactions, swap functionality via Pera Swap, and semantic search through Algorand documentation.251MIT

Celo MCP Serverofficial
FlicenseAqualityAmaintenanceProvides comprehensive access to Celo blockchain data, token operations, NFT management, smart contract interactions, transaction handling, governance, and staking operations.155
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Dekalabs/mcp_peppermint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server