Skip to main content
Glama

sign_receive_with_permit2

Read-only

Generates EIP-712 typed data for a Uniswap Permit2 PermitTransferFrom. Authorizes the spender (default: protocol diamond) to pull value from signerAddress until deadline. permit2Address defaults to contracts.permit2 from SDK config; permit2Nonce defaults to a random uint256. Sign locally with your wallet (EIP-712); use the result to build a TransferAuthorization { strategy: 'Permit2' } for a meta-tx flow. Returns: typed data structure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
valueYesAmount in wei the spender is authorized to pull from the signer.
spenderNoOptional spender address. Defaults to the Boson Protocol diamond from SDK config.
configIdYesBoson/Fermion Protocol deployment identifier. Format: '<env>-<chainId>-<index>' e.g. 'production-137-0' (Polygon mainnet), 'testing-80002-0' (Amoy testnet). Call get_config_ids to list all valid values for this server.
deadlineYesUnix timestamp in seconds after which the Permit2 authorization is no longer valid.
permit2NonceNoOptional Permit2 nonce as a uint256 string. If omitted, a random uint256 is generated.
signerAddressYesEthereum address that will sign and send this transaction. Must match the wallet that will sign the returned transaction locally.
permit2AddressNoOptional Uniswap Permit2 contract address. Defaults to contracts.permit2 from SDK config.
exchangeTokenAddressYesERC-20 token contract address that supports the permit/authorization standard.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, and the description confirms it only generates typed data without sending a transaction. The description adds useful context like default values for spender, permit2Address, and permit2Nonce, but does not disclose potential requirements (e.g., signer balance, contract existence) or error scenarios.

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

Conciseness5/5

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

The description is concise (3 sentences) and well-structured. It front-loads the primary purpose, then covers parameter defaults, and ends with usage guidance for the result. Every sentence serves a purpose without redundancy.

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

Completeness4/5

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

Given 8 parameters (5 required) and no output schema, the description covers the core purpose, defaults, and integration into a meta-tx flow. It lacks only some contextual details like prerequisites (Permit2 deployment) and explicit differentiation from sibling tools. Overall, it is sufficient for most use cases.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents each parameter. The description adds value by explaining defaults for optional parameters (spender, permit2Address, permit2Nonce) and the overall output, but does not provide additional semantic meaning beyond the schema's already clear descriptions.

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

Purpose5/5

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

The description clearly states the tool generates EIP-712 typed data for a Uniswap Permit2 PermitTransferFrom. The verb 'generates' and resource 'Permit2 typed data' are specific. While sibling tools exist for other permit types (DAI, ERC2612, ERC3009), the name and content make the distinction clear.

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

Usage Guidelines3/5

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

The description implies usage in a meta-transaction flow by instructing to use the result to build a TransferAuthorization with strategy 'Permit2'. However, it does not explicitly state when to use this tool versus its siblings (e.g., sign_receive_with_dai_permit) nor provide any exclusions or conditions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes with detailed descriptions, but there is overlap among multiple commit_to_* and sign_receive_* variants that could confuse an agent. The tool boundaries are clear for the core workflow, but the sheer number of similar operations slightly reduces clarity.

Naming Consistency4/5

Tool names predominantly follow a verb_noun pattern with underscores (e.g., commit_to_offer, create_seller). Some inconsistency exists with mixed verbs like 'store_', 'sign_', 'send_', but the pattern is largely predictable and readable.

Tool Count3/5

With 63 tools, the server is heavy but covers a complex protocol (offer lifecycle, disputes, metadata, meta-transactions). The count is borderline; some tools (e.g., multiple signing helpers) could be consolidated, but the scope justifies the size.

Completeness4/5

The tool set covers the core protocol flows comprehensively: create, commit, redeem, dispute, resolve, void, and metadata storage. Minor gaps exist (e.g., no dedicated 'get_offer_by_id' but filtering suffices), and meta-transaction support is extensive.

Resources