Server data from the Official MCP Registry
Prediction market intelligence for AI agents. Live data from Kalshi and Polymarket.
Prediction market intelligence for AI agents. Live data from Kalshi and Polymarket.
Remote endpoints: sse: https://mcp.veynor.xyz/sse?api_key={api_key}
The Veynor MCP server exposes real financial trading capabilities with several concerning security gaps. API keys are transmitted in plaintext via URL parameters (MCP SSE endpoint), sensitive Kalshi credentials are stored encrypted but the crypto implementation is not independently auditable from source alone, and there are dangerous patterns around order placement without explicit user confirmation in some flows. Permission scope is appropriate for the server's purpose, but authentication/authorization mechanisms have notable weaknesses that could enable unauthorized access or fund loss. Supply chain analysis found 13 known vulnerabilities in dependencies (0 critical, 5 high severity).
3 files analyzed · 27 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Prediction market intelligence for AI agents.
Real-time whale trades, market data, alpha signals, and AI-synthesized analysis from Kalshi and Polymarket — available as a Model Context Protocol server and REST API that any AI agent can connect to.
The Veynor MCP server gives AI agents (Claude, Cursor, Windsurf, or any MCP-compatible client) direct access to live prediction market data. Instead of scraping websites or parsing unstructured HTML, agents get clean structured data through a standardized protocol — and can reason over it, summarize it, monitor it, and place trades in natural language.
Example prompts your agent can handle once connected:
curl -X POST https://mcp.veynor.xyz/keys/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "name": "Your Name"}'
Response:
{
"key": "vey_sk_a1b2c3d4...",
"tier": "free",
"credits_per_month": 100,
"connect_url": "https://mcp.veynor.xyz/sse?api_key=vey_sk_a1b2c3d4..."
}
Store your key safely — it won't be shown again.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"veynor": {
"url": "https://mcp.veynor.xyz/sse?api_key=vey_sk_YOUR_KEY_HERE"
}
}
}
Restart Claude Desktop. You'll see Veynor appear in the tools panel.
{
"mcpServers": {
"veynor": {
"url": "https://mcp.veynor.xyz/sse?api_key=vey_sk_YOUR_KEY_HERE"
}
}
}
SSE endpoint: https://mcp.veynor.xyz/sse?api_key=vey_sk_YOUR_KEY_HERE
Messages: https://mcp.veynor.xyz/messages
query_intelligenceCost: 5 credits
The most powerful single tool. Ask a natural-language question — the engine automatically detects intent, loads relevant market data, and returns an AI-synthesized analysis written by Claude Haiku. No need to chain multiple tools manually.
Intent routing happens automatically:
Parameters:
query Natural-language question or signal request (required)
Example:
"What are prediction markets pricing on the Iran nuclear deal?"
"Any big movers or unusual volume today?"
"Find edge in crypto prediction markets"
"What's the market saying about Fed rate cuts in 2026?"
get_market_pulseCost: 5 credits
Full AI-synthesized market briefing covering top volume, whale activity, price movers, volume spikes, and wide spreads — all in one call. Returns a ready-to-read paragraph written by Claude Haiku plus structured data by category.
Parameters:
venue "all" | "kalshi" | "polymarket"
category "All" | "Sports" | "Politics" | "Other"
Best for: morning briefings, high-level situation awareness, "what's happening right now" overviews.
get_topic_marketsCost: 3 credits
Returns active markets for a curated topic tag with an AI-synthesized summary of what the collective market is pricing in. Cross-venue by default.
Parameters:
tag "crypto" | "geopolitics" | "trump" | "us_politics" | "macro" | "sports" (required)
limit Max markets (default 20, max 50)
get_alpha_signalsCost: 3 credits
Returns three types of alpha signals:
Parameters:
signal_type "wide_spreads" | "price_movers" | "arb_opportunities" | "all"
limit Max results per signal type (1–20, default 10)
get_whale_feedCost: 2 credits
Returns the most recent large trades (≥$8,000) across Polymarket and Kalshi. Each trade includes platform, market, side (YES/NO), price, notional size, timestamp, and category.
Parameters:
limit Max trades to return (1–60, default 20)
category "All" | "Sports" | "Politics" | "Other"
platform "all" | "polymarket" | "kalshi"
min_notional Minimum trade size in USD (default 8000)
place_kalshi_orderCost: 2 credits
Places a limit or market order on Kalshi using your registered API credentials. Requires prior credential registration via POST /v1/credentials/kalshi.
Parameters:
ticker Kalshi market ticker (e.g. KXIRANUKE-26) (required)
action "buy" | "sell" (required)
count Number of contracts (required)
side "YES" | "NO" (default: YES)
price Limit price as probability 0.01–0.99 (required for limit orders)
order_type "limit" | "market" (default: limit)
submit_signed_orderCost: 2 credits
Relays a pre-signed Polymarket EIP-712 order to the CLOB. No-custody: Veynor never holds private keys. Sign locally, relay through Veynor.
Parameters:
order EIP-712 order object (required)
signature 0x hex signature (required)
wallet Trader's Polymarket proxy wallet address (required)
order_type "GTC" | "FOK" | "GTD" (default: GTC)
get_top_marketsCost: 1 credit
Returns the top 20 most actively traded markets from Kalshi and Polymarket, ranked by 24-hour volume.
Parameters:
platform "all" | "kalshi" | "polymarket"
category "All" | "Sports" | "Politics" | "Other"
limit Max markets per platform (1–20, default 10)
get_marketCost: 1 credit
Fetch full details for a specific market by ID — prices, volume, open interest, order book summary, and resolution rules.
Parameters:
platform "polymarket" | "kalshi" (required)
id Polymarket condition ID (0x...) or Kalshi ticker (required)
search_marketsCost: 1 credit
Search for prediction markets by keyword across both platforms. Tokenized search handles multi-word queries well ("fed rate cut", "trump china").
Parameters:
query Search query, e.g. "Fed rate", "NBA finals", "Iran" (required)
platform "all" | "polymarket" | "kalshi"
limit Max results (1–20, default 10)
get_price_historyCost: 1 credit
Returns the rolling ~1-hour price history for one specific market (60-second snapshots) with pre-computed 5m, 15m, and 1h price moves.
Parameters:
platform "polymarket" | "kalshi" (required)
id Polymarket condition ID or Kalshi ticker (required)
get_usageCost: free
Returns your current credit usage, tier, remaining credits, and per-tool costs. Always free to call.
| Tier | Credits / month | Price |
|---|---|---|
| Free | 100 | Free forever |
| Advanced | 2,000 | $29 / month |
| Pro | 10,000 | $89 / month |
| Internal | Unlimited | — |
Credits reset on the 1st of each month (UTC).
Tool costs:
| Tool | Cost |
|---|---|
query_intelligence | 5 |
get_market_pulse | 5 |
get_topic_markets | 3 |
get_alpha_signals | 3 |
get_whale_feed | 2 |
place_kalshi_order | 2 |
submit_signed_order | 2 |
get_top_markets | 1 |
get_market | 1 |
search_markets | 1 |
get_price_history | 1 |
get_usage | 0 |
# See available plans
curl https://mcp.veynor.xyz/stripe/plans
# Create a Checkout session (returns a payment URL)
curl -X POST https://mcp.veynor.xyz/stripe/checkout \
-H "Content-Type: application/json" \
-d '{"api_key": "vey_sk_YOUR_KEY", "price_id": "price_..."}'
After payment, your key is automatically upgraded.
All data tools are also available as a standard REST API at https://api.veynor.xyz.
Auth: X-API-Key: <key> or Authorization: Bearer <key>
| Method | Path | Credits | Notes |
|---|---|---|---|
| GET | /v1/intelligence | 5 | ?q= natural-language query with AI synthesis |
| GET | /v1/pulse | 5 | venue, category — full market briefing |
| GET | /v1/signals | 3 | signal_type, limit |
| GET | /v1/markets/topic/:tag | 3 | tag = crypto|geopolitics|trump|us_politics|macro|sports |
| GET | /v1/whale-trades | 2 | limit, category, platform, min_notional |
| POST | /v1/trade/kalshi | 2 | ticker, action, side, count, price |
| POST | /v1/trade/submit | 2 | Polymarket no-custody relay |
| GET | /v1/markets/top | 1 | platform, category, limit |
| GET | /v1/markets/search | 1 | ?q= required |
| GET | /v1/markets/:platform/:id | 1 | platform = polymarket|kalshi |
| GET | /v1/markets/:platform/:id/history | 1 | Rolling ~1h price history |
| POST | /v1/credentials/kalshi | 0 | Register Kalshi credentials (encrypted at rest) |
| GET | /v1/credentials/kalshi | 0 | Check if credentials are registered |
| DELETE | /v1/credentials/kalshi | 0 | Remove stored credentials |
| GET | /v1/usage | 0 | Credit balance and usage |
# Natural-language intelligence query
curl -H "X-API-Key: vey_sk_YOUR_KEY" \
"https://api.veynor.xyz/v1/intelligence?q=what+are+markets+saying+about+Iran"
# Whale feed
curl -H "X-API-Key: vey_sk_YOUR_KEY" \
"https://api.veynor.xyz/v1/whale-trades?limit=10&platform=polymarket"
# Place a Kalshi order
curl -X POST https://api.veynor.xyz/v1/trade/kalshi \
-H "X-API-Key: vey_sk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"ticker":"KXIRANUKE-26","action":"buy","side":"YES","count":10,"price":0.30}'
"What are prediction markets saying about a US recession in 2026?"
Uses query_intelligence — one call, full synthesis.
"Give me the full market pulse — top volume, whale activity, biggest movers."
Uses get_market_pulse.
"Run alpha signals for arb_opportunities. For any gap > 5 cents, show details."
Uses get_alpha_signals.
"Find Kalshi markets on the Fed rate decision, then buy 5 contracts YES at 40 cents."
Uses search_markets → place_kalshi_order.
"Show markets with wide bid/ask spreads where providing liquidity would be profitable."
Uses get_alpha_signals with signal_type=wide_spreads.
"What are all the Iran and Taiwan markets pricing right now? Any divergence between platforms?"
Uses get_topic_markets with tag=geopolitics.
query_intelligence)git clone https://github.com/veynor-xyz/veynor-mcp
cd mcp-server
npm install
cp .env.example .env
npm run build
npm start
Required env vars:
MCP_PORT=3001
MCP_ADMIN_SECRET=your-secret-here
VEYNOR_API_URL=http://localhost:3000 # URL of your Next.js app
ANTHROPIC_API_KEY=sk-ant-... # Required for AI synthesis tools
The server runs on port 3001 by default. The Next.js app must be running at VEYNOR_API_URL — the MCP server reads data files from disk and calls the intelligence endpoint via localhost HTTP.
Built by the Veynor team. Prediction markets meet AI agents.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.