@igoforth/polymarket-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query_marketsA | Get detailed market data with flexible querying. Query single markets by id/condition_id/slug, multiple markets by arrays, or filter by tag. Select specific fields or use presets (pricing, metadata, trading, holders, status) to get only the data you need. |
| list_marketsC | List prediction markets from Polymarket. |
| list_eventsC | List prediction events with offset or cursor pagination. |
| get_eventC | Get event by numeric ID or URL slug. |
| get_event_metadataA | Get event metadata (tweets, comments, or tags count). |
| get_market_tagsC | Get tags for a market by numeric ID. |
| list_sport_events_resultsC | List sports events results with pagination. |
| list_event_creatorsC | List event creators with pagination. |
| get_event_creatorB | Get event creator by ID. |
| public_searchC | Search across markets, events, and profiles. |
| get_public_profileB | Get public profile by wallet address. |
| list_commentsC | List comments with optional market/event filter. |
| get_comments_by_idC | Get comments by comment ID. |
| get_comments_by_userC | Get comments by wallet address. |
| list_tagsA | List all tags with pagination. |
| get_tagB | Get tag by ID or slug. |
| get_related_tagsC | Get related tags by ID or slug. |
| get_tags_related_to_tagC | Get all tags related to a tag by ID or slug. |
| list_seriesB | List series with pagination. |
| get_seriesB | Get series by ID. |
| get_series_metadataC | Get series comments count or summary. |
| list_teamsC | List sports teams with pagination. |
| get_teamA | Get sports team by ID. |
| get_sports_metadataC | Get sports metadata. |
| get_sports_market_typesB | Get sports market types. |
| get_market_clarificationsC | Get clarifications about a market's resolution criteria. |
| get_user_activityC | Get trading activity for a wallet address. |
| get_user_positionsC | Get open positions for a wallet address. |
| get_recent_tradesC | Get recent trades, optionally filtered by market or user. |
| get_user_valueC | Get total value of a user's positions. |
| get_closed_positionsC | Get closed positions for a user. |
| get_builders_leaderboardC | Get builder rankings by volume. |
| get_builders_volumeC | Get daily volume time-series for builders. |
| get_tradedC | Get number of markets a user has traded. |
| get_revisionsB | Get revision history for a market question. |
| get_live_volumeC | Get live volume for an event. |
| get_other_sizeC | Get 'Other' size for a neg risk event and user. |
| get_orderbooksB | Get orderbook(s) for one or more market tokens. |
| get_pricesB | Get market prices — all, single token, or batch. |
| get_midpointC | Get midpoint between best bid and ask. |
| get_price_historyC | Get historical price data for a token. |
| get_spreadsC | Get spreads for multiple tokens. |
| get_sampling_marketsC | Get a random sample of markets. |
| get_sampling_simplified_marketsC | Get a random sample of simplified markets. |
| get_current_reward_marketsA | Get markets offering liquidity rewards. |
| get_market_rewardsC | Get reward data for market makers on a market. |
| get_server_timeB | Get CLOB server timestamp. |
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 47 tools
Many tools have unclear boundaries. For example, get_tags_related_to_tag and get_related_tags appear to do the same thing, and get_sampling_markets vs get_sampling_simplified_markets are nearly identical. Price-related tools (get_prices, get_midpoint, get_spreads) also overlap significantly.
The naming pattern is mixed: some tools use list_ (list_markets, list_comments), others use get_ (get_event, get_market_tags), and a few use neither (query_markets, public_search). While most names are readable, the inconsistency makes the API less predictable.
With 47 tools, the server feels overloaded. Many are minor variations (e.g., get_sampling_markets vs get_sampling_simplified_markets, get_related_tags vs get_tags_related_to_tag) that could be merged or removed. The large count increases cognitive load without clear added value.
The server covers a broad range of Polymarket data: events, markets, prices, user positions, comments, tags, sports, and builder analytics. It is almost entirely read-only, which seems intentional, and lacks only minor convenience features like batch queries or combined endpoints.