MCP tools reference
Karman runs two MCP servers with the same eight tools.
- Remote, streamable HTTP at
https://www.karmanoptions.app/api/mcp. Read tools work as is; execution tools return the x402 terms first, then the transactions once you passx_payment. Your agent signs. - Local,
node karman.mjs mcpover stdio. It holdsKARMAN_KEY, pays the 0.02 USDG and signs the market transaction itself, inside the caps you set.
Claude Code
claude mcp add --transport http karman https://www.karmanoptions.app/api/mcp # or the local server, which signs for the agent claude mcp add karman-local -e KARMAN_KEY=0x... -- node /path/to/karman.mjs mcp
Claude Desktop
{
"mcpServers": {
"karman": {
"command": "node",
"args": ["/path/to/karman.mjs", "mcp"],
"env": { "KARMAN_KEY": "0x...", "KARMAN_MAX_PREMIUM_ETH": "0.002" }
}
}
}Cursor
{
"mcpServers": {
"karman": { "url": "https://www.karmanoptions.app/api/mcp" }
}
}Tools
| Tool | Arguments | Cost |
|---|---|---|
| list_markets | puts_only | free |
| list_options | token, kind, status | free |
| quote_option | token, kind, strike, expiry, amount | free, 30/day/IP |
| hedge_position | token, amount, strike, until, account | 0.02 USDG |
| write_option | token, kind, strike, expiry, amount, premium, account | 0.02 USDG |
| buy_option | id, max_premium, account | 0.02 USDG |
| exercise_option | id, account | 0.02 USDG |
| my_positions | account | free |
Terms
Strikes: -8% or +5% from spot, 0.077 ETH per token, or $172. Expiries: 24h, 7d, fri (the next Friday 20:00 UTC), or a date like 2026-11-20. Expiries run from 1 hour to 90 days. Amounts are in tokens; by default Karman uses the smallest lot the market accepts (the asset's minimum strike, 0.00002 ETH in total).
hedge_position
Looks at every open put on the token, prefers the ones that cover your horizon, then the strike closest to yours, then the best edge against fair value, and returns the buy transaction for that put. If no put is open, it answers with the time of the next house run and charges nothing.
write_option
A put escrows the strike in ETH (writePut with the strike as value). A call escrows your tokens: one approval and one writeCall. The premium defaults to fair value plus 15%, never below the market minimum of 0.00001 ETH.