PolyDesk
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTION_TOKEN | Yes | Notion integration token |
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
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setupA | Set up the PolyDesk trading desk in Notion. Creates databases, populates with live Polymarket data, and starts auto-watching. Call when user says "setup", "set up", "create trading desk", or "start". Does everything directly — no extra steps needed. |
| scan_trending_marketsA | Fetch the hottest active Polymarket markets ranked by volume. Use this to discover trading opportunities. |
| search_marketsA | Search Polymarket for markets matching a keyword (e.g., 'bitcoin', 'trump', 'fed', 'election'). |
| get_marketA | Get full details for a Polymarket market: description, outcomes, prices, volume, liquidity. |
| get_eventsB | Fetch top Polymarket events (event = group of related markets). Great for finding multi-market opportunities. |
| get_eventA | Get full details for a Polymarket event and all its markets. |
| get_pricesA | Get current prices for one or more markets by ID. Use this to refresh watchlist or check positions. |
| auto_research_marketB | Generate a structured research prompt for a Polymarket market. Inspired by Karpathy's autoresearch — the AI agent should analyze the prompt, form a thesis, then write findings to Notion via the Notion MCP server. Supports iterative ratchet: re-run with higher iteration to refine. |
| research_with_ollamaA | One-click AI research: fetches market data, calls local Ollama LLM for analysis, and returns both the research results AND formatted Notion blocks ready to write. This is the "Research Button" — call it, then write the output to Notion. Returns:
Requires Ollama running locally (default: http://localhost:11434). |
| batch_researchB | Generate research prompts for multiple trending markets at once. The agent should process each, analyze, and write reports to Notion. |
| calculate_tradeB | Calculate trade parameters: position sizing, risk/reward ratio, max gain, max loss. Use before logging a trade. |
| check_positionsA | Fetch current prices for a list of market IDs and calculate P&L against entry prices. Use this to update the Notion Trade Journal. |
| compare_marketsB | Compare odds across multiple markets side by side. Useful for finding relative value or arbitrage opportunities. |
| edge_scannerA | Scan trending markets and flag those where simple heuristics suggest potential mispricing. A quick filter before deep research. |
| generate_execution_planA | Given a list of human-approved markets with fair values, generate a portfolio execution plan with position sizing (Kelly criterion), risk limits, and correlation checks. Use after reading human approvals from Notion. |
| format_research_for_notionA | Generate beautiful, rich Notion page content blocks for a market research report. Returns the exact Notion API block structure — pass it directly to the Notion MCP's API-patch-block-children tool to create a stunning research page. Workflow:
|
| format_watchlist_entryA | Generate the properties object for adding a market to the Notion Watchlist database. Returns the exact Notion API properties structure — pass it to the Notion MCP's API-post-page tool. |
| validate_human_overridesA | Check if human fair value overrides are reasonable by comparing against market data and flagging potential errors. Use before executing approved trades. |
| sync_notion_watchlistA | Bidirectional sync between Notion Watchlist and Polymarket/Ollama. Call this when user says "sync". Reads your Notion Watchlist database and processes changes:
Example: User types "Trump" in Notion → runs sync → system finds best matching Polymarket market and fills in all data. |
| watchA | Start auto-watching the Notion Watchlist. Polls every N seconds for checkbox changes and keyword entries. When user checks 🔬 Research in Notion, AI research runs automatically — no need to say "sync". Requires NOTION_TOKEN env var. Call "unwatch" to stop. |
| unwatchA | Stop auto-watching the Notion Watchlist. Stops the polling loop started by |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| setup-trading-desk | Bootstrap the full PolyDesk workspace in Notion: creates dashboard page, 3 databases, and populates with live Polymarket data in spreadsheet view. |
| daily-research-loop | Run a full auto-research cycle: scan trending markets, research top picks, update the watchlist. |
| trade-review | Review open positions, sync prices, and generate a P&L summary. |
| review-and-execute | Human-in-the-loop workflow: read back human approvals from Notion, then execute only approved trades. Nothing happens without human sign-off. |
| research-then-review | Full cycle: scan markets → auto research → write to Notion → WAIT for human review → execute approved trades only. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| notion-schemas |
TDQS
Scored across 21 tools
Most market-data tools are clearly separated by resource, but the research tools overlap: auto_research_market, research_with_ollama, and batch_research all appear to initiate research, and setup vs watch both start polling. Descriptions help, but an agent could easily invoke the wrong research workflow.
The majority follow verb_noun snake_case (get_market, search_markets, calculate_trade, generate_execution_plan). Deviations like edge_scanner, setup/unwatch, batch_research, and research_with_ollama break the pattern, but the conventions remain readable and mostly predictable.
Twenty-one tools is substantial, and the breadth requires several one-off helpers (format_watchlist_entry, format_research_for_notion, unwatch). Most tools earn their place for a Polymarket+Notion+Ollama workstation, but the surface feels heavy and could be consolidated.
The core loop is covered: discover markets, research, sync with Notion, generate execution plans, and check positions. However, there is no tool to actually log trades or place orders, despite calculate_trade/check_positions referring to a trade journal workflow, and no direct way to view or delete watchlist entries beyond sync.