pmq
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POLY_FUNDER | No | Funder wallet address. Required if PMQ_MCP_LIVE=1. | |
| PMQ_MCP_LIVE | No | Enable live trading mode. Set to '1' to enable. Requires POLY_PRIVATE_KEY, POLY_FUNDER, POLY_SIG_TYPE. | |
| PMQ_MCP_PAPER | No | Enable paper trading mode (keyless simulation). Set to '1' to enable. | |
| POLY_SIG_TYPE | No | Signature type (0,1,2,3). Required if PMQ_MCP_LIVE=1. | |
| POLY_ORDER_LOG | No | Path to an append-only order log file for attribution registry. | |
| PMQ_MCP_MAX_USD | No | Hard cap per single order in USD, both live and paper. Default is 10. | 10 |
| POLY_PRIVATE_KEY | No | Private key for live trading. Required if PMQ_MCP_LIVE=1. | |
| PMQ_MCP_DAILY_USD | No | Cumulative BUY budget per UTC day. Not set by default (unlimited). | |
| PMQ_MCP_PAPER_USD | No | Paper starting balance in USD. Default is 1000. | 1000 |
| POLY_FOREIGN_ORDER_LOGS | No | Colon-separated list of foreign order log file paths. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_marketsA | Discover tradeable Polymarket markets of ANY kind (politics, sports,
crypto, culture). With a query, full-text search; without, the most
active events by 24h volume. Returns event title plus, per market, the
slug to pass to the |
| eventA | All binary markets of one multi-outcome EVENT (an election, a tournament: one market per candidate). Use the event slug from find_markets. Returns per market: slug, outcome names with token ids, close time, settled winner if any. |
| marketA | Resolve one Polymarket market by its gamma slug (any category, works
for expired short-lived markets too). Returns condition_id, the outcome
names mapped to their token ids (use those token ids with |
| market_snapshotA | One read-only decision snapshot: resolve a market and return the live top-of-book summary for each outcome. This does not place or prepare an order, and a missing book is reported only for that outcome. |
| bookA | REAL-TIME order book summary for one outcome token: best bid/ask with sizes, plus the $ notional of asks resting inside [depth_lo, depth_hi]. This endpoint is served by the matching engine; trust it over the trade tape for any live decision. |
| order_previewA | Read-only top-of-book FAK preview. For BUY, |
| taker_feeA | Official Polymarket taker fee in $ (fee = rate * p * (1-p) * shares). Categories and rates: crypto 0.07, sports 0.03, finance/politics/mentions/ tech 0.04, economics/culture/weather 0.05, geopolitics 0. Makers pay 0. |
| pmq_statusA | Operator-visible mode and safety-rail status. This is keyless: it never constructs a signer, checks a live balance, or changes state. |
| account_collateralA | Collateral (pUSD, $) the CLOB sees for the configured account. If this is 0 while funds are on-chain, the operator's POLY_SIG_TYPE is wrong (the Polymarket app's deposit wallet needs 3). In paper mode: the simulated cash balance. |
| account_tradesA | BUY-side totals of OUR account on one market: (shares, usd, fee_estimate), usd and fees counting BUY fills only. This is the reconciliation source, use it after any uncertainty instead of trusting local bookkeeping. Paper mode: same semantics over the simulated fills, except shares are net of paper sells (position, not gross buys). |
| account_portfolioA | Current portfolio without placing an order. Paper mode returns the local durable ledger. Otherwise pass a public wallet address, or configure POLY_FUNDER, to read its public Data API positions. Data API values lag the matching engine and are not exchange reconciliation truth. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crp4222/pmq'
If you have feedback or need assistance with the MCP directory API, please join our Discord server