Medium Risk

haiku_prepare_signatures

External wallet signing path — use this instead of passing signing payloads directly to haiku_execute when WALLET_PRIVATE_KEY is not set or when a wallet MCP (Coinbase Payments MCP, wallet-agent, etc.) handles signing. Extracts and normalizes the EIP-712 payloads from a quote into a standard form...

Part of the Haiku DeFi MCP MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

AI agents use haiku_prepare_signatures to create or modify resources in Haiku DeFi MCP. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call haiku_prepare_signatures repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Haiku DeFi MCP.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

haiku-defi-mcp.yaml
tools:
  haiku_prepare_signatures:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full Haiku DeFi MCP policy for all 7 tools.

Tool Name haiku_prepare_signatures
Category Write
Risk Level Medium

Agents calling write-class tools like haiku_prepare_signatures have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

What does the haiku_prepare_signatures tool do? +

External wallet signing path — use this instead of passing signing payloads directly to haiku_execute when WALLET_PRIVATE_KEY is not set or when a wallet MCP (Coinbase Payments MCP, wallet-agent, etc.) handles signing. Extracts and normalizes the EIP-712 payloads from a quote into a standard format any wallet's signTypedData can consume. Pass quoteId (preferred) — the server resolves the full quote from session cache. Alternatively pass the full quoteResponse object if quoteId is unavailable. After signing externally, pass permit2Signature and/or userSignature to haiku_execute.. It is categorised as a Write tool in the Haiku DeFi MCP MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on haiku_prepare_signatures? +

Add a rule in your Intercept YAML policy under the tools section for haiku_prepare_signatures. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Haiku DeFi MCP MCP server.

What risk level is haiku_prepare_signatures? +

haiku_prepare_signatures is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit haiku_prepare_signatures? +

Yes. Add a rate_limit block to the haiku_prepare_signatures rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block haiku_prepare_signatures completely? +

Set action: deny in the Intercept policy for haiku_prepare_signatures. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides haiku_prepare_signatures? +

haiku_prepare_signatures is provided by the Haiku DeFi MCP MCP server (haiku-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.