Skip to main content
Glama
ODATANO

@odatano/nightgate-mcp

Official
by ODATANO

derive_token_type

Derive a minting contract's raw token type from its address and domain separator so minted custom-token balances can be transferred.

Instructions

Derive the raw token type a minting contract produces (compute-only, no wallet, no chain access). A custom token is addressed by rawTokenType(domainSeparator, contractAddress); without it the minted balance cannot be transferred. domainSeparator is the plain string the contract pads (Compact pad(32, "...")) or 64 hex for the padded bytes; defaults to the bundled test token's. The result feeds sendNight(tokenTypeHex).

Input Schema

NameRequiredDescriptionDefault
contractAddressYesThe minting contract address (64 hex)
domainSeparatorNoSeparator string or 64 hex; defaults to 'nightgate:zswap-e2e' (the bundled test token)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.18.3

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it explicitly discloses that the operation is compute-only with no wallet or chain access, and describes how the output is consumed downstream. It stops short of stating failure modes or validation behavior for bad domain separators or addresses.

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

Conciseness4/5

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

Four dense sentences, front-loaded with purpose and followed by parameter meaning and downstream use; every sentence carries information. The jargon-heavy phrasing ('rawTokenType(domainSeparator, contractAddress)', 'Compact pad(32, ...)') is slightly compressed but not wasteful.

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

Completeness5/5

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

For a two-parameter crypto utility with no output schema, the description covers purpose, safety profile, parameter formats, defaults, and downstream consumption, which is everything an agent needs to call it correctly and use its result.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description adds genuine semantic value: it explains that domainSeparator is the plain string the contract pads (Compact pad(32, ...)) or 64 hex, and that it defaults to the bundled test token's value. This goes beyond the schema's terser wording by explaining how the separator is used.

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

Purpose5/5

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

States a specific verb and resource ('Derive the raw token type a minting contract produces') and immediately scopes the nature of the operation with '(compute-only, no wallet, no chain access)'. This clearly distinguishes it from siblings like mint_token and sendNight, so an agent can select it without opening the schema.

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

Usage Guidelines4/5

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

Explains why and when to call it: 'without it the minted balance cannot be transferred', and where the result goes ('feeds sendNight(tokenTypeHex)'). It gives strong context but does not name explicit alternatives or when-not-to-use conditions, so it falls just short of the top tier.

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