pmxt-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PMXT_API_KEY | No | API key for the hosted PMXT service | |
| PMXT_API_URL | No | Override the API base URL (defaults based on mode) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| buildOrderA | Build an order payload without submitting it to the exchange. Returns the exchange-native signed order or request body for inspection, forwarding through a middleware layer, or deferred submission via submitOrder(). |
| cancelOrderA | Cancel an existing open order. |
| compareMarketPricesA | Compare live prices for the same market across venues. Finds identity matches and returns side-by-side best bid/ask prices so you can spot price differences at a glance. |
| createOrderB | Place a new order on the exchange. |
| fetchAllOrdersC | Fetch All Orders |
| fetchArbitrageC | Find Arbitrage Opportunities |
| fetchBalanceC | Fetch account balances. |
| fetchClosedOrdersC | Fetch Closed Orders |
| fetchEventA | Fetch a single event by lookup parameters. Convenience wrapper around fetchEvents() that returns a single result or throws EventNotFound. |
| fetchEventMatchesA | Find the same or related event on other venues. Two modes: Lookup mode (eventId/slug provided): Given an event on one venue, discover semantically equivalent events across every other venue PMXT ingests. Browse mode (no identifier): Returns all matched event pairs from the catalog. Supports query and category params for filtering. |
| fetchEventsA | Fetch events with optional keyword search. Events group related markets together (e.g., "Who will be Fed Chair?" contains multiple candidate markets). |
| fetchEventsPaginatedA | Paginated variant of {@link fetchEvents}. On the first call (no |
| fetchHedgesC | Find Hedging Opportunities |
| fetchMarketA | Fetch a single market by lookup parameters. Convenience wrapper around fetchMarkets() that returns a single result or throws MarketNotFound. |
| fetchMarketMatchesA | Find the same or related market on other venues. Two modes: Lookup mode (marketId/slug/url provided): Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests. Browse mode (no identifier): Returns all matched market pairs from the catalog. Supports query, category, minDifference, and sort params for filtering. |
| fetchMarketsA | Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call. |
| fetchMarketsPaginatedA | Fetch markets with cursor-based pagination backed by a stable in-memory snapshot. On the first call (or when no cursor is supplied), fetches all markets once and caches them. Subsequent calls with a cursor returned from a previous call slice directly from the cached snapshot — no additional API calls are made. The snapshot is invalidated after |
| fetchMatchedMarketsD | Matched Markets |
| fetchMatchedPricesC | Compare Matched Market Prices |
| fetchMyTradesD | Fetch My Trades |
| fetchOHLCVB | Fetch historical OHLCV (candlestick) price data for a specific market outcome. |
| fetchOpenOrdersB | Fetch all open orders, optionally filtered by market. |
| fetchOrderB | Fetch a specific order by ID. |
| fetchOrderBookA | Fetch the order book (bids/asks) for a specific outcome. Supports live and historical queries. For historical data, pass |
| fetchOrderBooksA | Batch variant of {@link fetchOrderBook}. Fetches order books for multiple outcomes in a single request where the exchange supports it. |
| fetchPositionsB | Fetch current user positions across all markets. |
| fetchRelatedMarketsA | Find related markets across venues. Discovers subset/superset market relationships where one market's outcome implies another, with live prices. |
| fetchTradesB | Fetch raw trade history for a specific outcome. |
| getExecutionPriceC | Calculate the volume-weighted average execution price for a given order size. Returns 0 if the order cannot be fully filled. |
| getExecutionPriceDetailedC | Calculate detailed execution price information including partial fill data. |
| loadMarketsA | Load and cache all markets from the exchange into |
| submitOrderA | Submit a pre-built order returned by buildOrder(). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Many tools have distinct purposes but several pairs (e.g., fetchMatchedMarkets vs fetchMarketMatches, compareMarketPrices vs fetchMatchedPrices) are closely related and could confuse an agent. Descriptions help but the overlap introduces ambiguity.
Tool names predominantly follow a 'fetch'+noun pattern for data retrieval and verb+noun for actions. Minor inconsistencies exist (e.g., 'getExecutionPrice' vs 'fetch...', 'compareMarketPrices' vs 'fetchMatchedPrices'), but the overall pattern is clear and predictable.
With 32 tools, the server is overloaded. Many fetch variants (e.g., fetchEvents vs fetchEventsPaginated, fetchMarkets vs fetchMarketsPaginated) could be consolidated into fewer tools with optional parameters, reducing cognitive load.
The tool set covers core trading workflows: order management, market data, account info, and cross-venue matching/arbitrage. Missing an update order tool is a minor gap, but overall the surface supports the intended domain well.