Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KALSHI_DEMONoSet to 1 to hit the Kalshi demo environment.
KALSHI_KEY_IDNoKalshi API key ID.
ODDSRAIL_DRY_RUNNo1 = orders are simulated and returned, never posted. Set 0 to trade.1
KALSHI_PRIVATE_KEYNoThe Kalshi private key itself (alternative to KALSHI_PRIVATE_KEY_PATH).
ODDSRAIL_BUILDER_CODENoYour bytes32 builder code. Overrides the bundled project default so attribution (and any reward-pool share) accrues to you instead.
POLYMARKET_PRIVATE_KEYNoOperator wallet key; required only for real trading. Never leaves this machine.
KALSHI_PRIVATE_KEY_PATHNoPath to PKCS#8 PEM private key for Kalshi.
POLYMARKET_WALLET_ADDRESSNoProxy/deposit wallet address, if the account uses one.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_marketsA

Search Polymarket markets by text (Gamma public-search under the hood); empty query lists open markets. Returns token ids, prices, metrics, resolution info.

get_marketB

Get one market's details by slug (or id).

get_orderbookA

Get the live orderbook (bids/asks) for a CLOB token id.

price_historyB

Recent price history for a CLOB token id: hours back, at fidelity_minutes resolution.

get_positionsC

Current positions for a wallet address.

overshoot_signalC

PREMIUM SIGNAL — overshoot/fade detector. Analyzes a token's recent price series for fresh panic jumps and reports whether a fade setup is active plus this market's historical reversion tendency.

dispute_riskC

PREMIUM SIGNAL — dispute-risk triage. Scores 0-100 how likely a market's resolution gets contested (UMA dispute risk) with transparent reasons.

place_orderA

Place a limit order. DRY-RUN by default: returns the order it would post. Real trading needs ODDSRAIL_DRY_RUN=0 and POLYMARKET_PRIVATE_KEY. The operator's builder code is signed into the order. Price = implied probability.

cancel_orderA

Cancel an open order by id (respects dry-run).

open_ordersB

List the operator wallet's open orders.

builder_statsC

Builder attribution stats: the public builder leaderboard, and (if ODDSRAIL_BUILDER_CODE is set) matched trades attributed to this operator's code.

kalshi_search_marketsB

Search Kalshi markets. Kalshi has no text-search endpoint, so this pages open markets and filters on title/ticker; auto-generated MVE combo shards are excluded. Prices are dollar strings, not cents.

kalshi_get_marketB

Get one Kalshi market by ticker.

kalshi_get_orderbookA

Kalshi orderbook for a ticker, normalised to a YES-book bid/ask view (Kalshi publishes bid ladders only; asks are derived as 1 - NO bid). Raw ladders included.

kalshi_get_tradesC

Recent public trades for a Kalshi ticker.

kalshi_balanceA

Kalshi account balance (needs the operator's API key).

kalshi_positionsD

Kalshi positions (needs the operator's API key).

kalshi_open_ordersC

Kalshi resting orders (needs the operator's API key).

kalshi_place_orderA

Place a Kalshi limit order. State it naturally: outcome yes|no, action buy|sell, price = probability of THAT outcome in (0,1). Translated to Kalshi's YES-book bid/ask internally. DRY-RUN by default.

kalshi_cancel_orderB

Cancel a Kalshi order by id (respects dry-run).

server_infoA

Server status: dry-run state, attribution config, and which capabilities are enabled.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 21 tools

Disambiguation5/5

Tools are cleanly partitioned by exchange (Polymarket vs. Kalshi with the kalshi_ prefix), and within each exchange each tool targets a distinct resource or action. No two tools appear to serve the same purpose; even the premium signals (overshoot_signal, dispute_risk) are clearly unique.

Naming Consistency3/5

Kalshi tools follow a consistent 'kalshi_verb_noun' pattern, but Polymarket tools mix conventions: get_* verbs (get_market, get_orderbook, get_positions) coexist with noun phrases (price_history, overshoot_signal, dispute_risk, builder_stats, server_info) and imperative verbs (place_order, cancel_order, open_orders). The lack of a uniform verb-first pattern or exchange prefix for Polymarket creates mild inconsistency.

Tool Count4/5

21 tools is slightly above the typical 3-15 range, but the server covers two distinct prediction-market platforms, each with its own market data, order management, and account tools. The extra tools are justifiable additions for Kalshi, making the count reasonable rather than bloated.

Completeness4/5

Both exchanges have solid coverage: market retrieval, search, orderbooks, order placement/cancellation, and positions. Minor gaps exist—Kalshi lacks a dedicated price-history tool (only recent trades), and Polymarket has no explicit balance endpoint—but these are not critical and can be worked around with existing tools.

Maintenance

ActivityMaintained
ResponsivenessWithin a week