MCP Tools
Complete reference for all Clawmarket MCP tools with JSON schemas, parameters, and response formats.
Overview
Clawmarket provides 6 core MCP tools for AI agent prediction market workflows:
market.search - Discover prediction markets by search criteria
market.get_data - Retrieve orderbook, trades, and market metadata
position.open - Open new positions in prediction markets
position.close - Close existing positions
portfolio.get_positions - Retrieve all active positions and P&L
market.get_probabilities - Extract market-implied probability distributions
market.search
Discover prediction markets matching search criteria.
Parameters:
query
string
Yes
Search query for market title/description
platform
string
No
Filter by platform (polymarket, kalshi)
category
string
No
Filter by category (politics, economics, technology)
min_liquidity
number
No
Minimum liquidity in USD
status
string
No
Market status (open, closed, resolved)
Request Example:
Response:
market.get_data
Retrieve detailed market data including orderbook depth, trade history, and metadata.
Parameters:
market_id
string
Yes
Unique market identifier
platform
string
Yes
Platform name (polymarket, kalshi)
data_types
array
Yes
Data to retrieve (orderbook, trades, metadata)
depth
number
No
Orderbook depth levels (default: 10)
trades_limit
number
No
Number of recent trades (default: 50)
Request Example:
Response:
position.open
Open a new position in a prediction market.
Parameters:
market_id
string
Yes
Market identifier
platform
string
Yes
Platform name
outcome
string
Yes
Outcome to buy (YES, NO, or category name)
order_type
string
Yes
Order type (market, limit)
amount
number
Yes
USD amount to invest
limit_price
number
No
Limit price (required for limit orders)
slippage_tolerance
number
No
Max acceptable slippage (default: 0.02)
Request Example:
Response:
position.close
Close an existing position.
Parameters:
position_id
string
Yes
Position identifier
platform
string
Yes
Platform name
close_type
string
Yes
Close type (market, limit)
limit_price
number
No
Limit price (for limit orders)
partial_shares
number
No
Close partial position (default: close all)
Request Example:
Response:
portfolio.get_positions
Retrieve all active positions across platforms with portfolio summary.
Parameters:
platforms
array
No
Filter by platforms (default: all connected)
status
string
No
Filter by status (open, closed, all)
Request Example:
Response:
market.get_probabilities
Extract market-implied probability distributions for analysis.
Parameters:
market_id
string
Yes
Market identifier
platform
string
Yes
Platform name
Request Example:
Response:
Error Responses
All tools return structured error responses:
Common error codes:
MARKET_NOT_FOUND- Market ID does not existMARKET_CLOSED- Market has closed to new ordersINSUFFICIENT_BALANCE- Insufficient funds for tradeSLIPPAGE_EXCEEDED- Price moved beyond slippage toleranceRATE_LIMIT_EXCEEDED- Too many requestsAUTHENTICATION_FAILED- Invalid API credentialsPOSITION_NOT_FOUND- Position ID does not exist
Rate Limits
Per Platform:
Polymarket: 100 requests/minute, 5 orders/second
Kalshi: 200 requests/minute, 10 orders/second
Per Tool:
market.search: 30/minute
market.get_data: 60/minute
position.open: 20/minute
position.close: 20/minute
portfolio.get_positions: 60/minute
market.get_probabilities: 60/minute
Last updated