Solana MCP by Vybe
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
Cross-venue prediction markets for AI agents: Polymarket + Kalshi, costed and attributed
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(mcp.oddsrail.app)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Polymarket Kalshi Tradinghttps://mcp.oddsrail.app/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsPolymarket Kalshi Trading
Polymarket Kalshi Trading을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Polymarket Kalshi Trading을 쓰고 있다고 하거나 답에 Polymarket Kalshi Trading 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Polymarket Kalshi Tradinghttps://mcp.oddsrail.app/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 Polymarket Kalshi Trading을 고르세요
Polymarket Kalshi Trading을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Polymarket Kalshi Trading을 쓰고 있다고 하거나 답에 Polymarket Kalshi Trading 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user polymarket-kalshi-trading https://mcp.oddsrail.app/mcpPolymarket Kalshi Trading이 목록에 있고 연결됨으로 보이면 돼요
Polymarket Kalshi Trading을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Polymarket Kalshi Trading을 쓰고 있다고 하거나 답에 Polymarket Kalshi Trading 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Polymarket Kalshi Trading을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Polymarket Kalshi Trading을 쓰고 있다고 하거나 답에 Polymarket Kalshi Trading 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Polymarket Kalshi Trading을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Polymarket Kalshi Trading을 쓰고 있다고 하거나 답에 Polymarket Kalshi Trading 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://mcp.oddsrail.app/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http --scope user polymarket-kalshi-trading https://mcp.oddsrail.app/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"polymarket-kalshi-trading": {
"url": "https://mcp.oddsrail.app/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"polymarket-kalshi-trading": {
"type": "http",
"url": "https://mcp.oddsrail.app/mcp"
}
}
}Claude Code
claude mcp add --scope user polymarket-kalshi-trading --env ODDSRAIL_DRY_RUN=your-value --env ODDSRAIL_BUILDER_CODE=your-value --env POLYMARKET_PRIVATE_KEY=your-value --env POLYMARKET_WALLET_ADDRESS=your-value -- uvx oddsrailClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"ODDSRAIL_DRY_RUN": "your-value",
"ODDSRAIL_BUILDER_CODE": "your-value",
"POLYMARKET_PRIVATE_KEY": "your-value",
"POLYMARKET_WALLET_ADDRESS": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"ODDSRAIL_DRY_RUN": "your-value",
"ODDSRAIL_BUILDER_CODE": "your-value",
"POLYMARKET_PRIVATE_KEY": "your-value",
"POLYMARKET_WALLET_ADDRESS": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"polymarket-kalshi-trading": {
"type": "stdio",
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"ODDSRAIL_DRY_RUN": "your-value",
"ODDSRAIL_BUILDER_CODE": "your-value",
"POLYMARKET_PRIVATE_KEY": "your-value",
"POLYMARKET_WALLET_ADDRESS": "your-value"
}
}
}
}ODDSRAIL_DRY_RUN envODDSRAIL_BUILDER_CODE envPOLYMARKET_PRIVATE_KEY 비밀 envPOLYMARKET_WALLET_ADDRESS env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검
레지스트리 이름이 도메인 oddsrail.app 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 15일 전
MIT 사용
546ms 만에 응답(HTTP 401)
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: POLYMARKET_PRIVATE_KEY
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 15일 전 변경됐고, 최신 버전(0.19.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks, Polymarket Paper Trader
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.
Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An MCP server that lets your AI assistant trade on Polymarket (and Kalshi) without handing your keys to anyone.
Point your MCP client at it and your assistant can search markets, read order books, work out what an order would really cost, and place orders. Orders are signed on your own machine. Everything starts in dry-run: Polymarket orders fill against the live order book into a paper account (Kalshi dry-run orders just show what would be sent), so you can watch what your agent does before any money is involved.
We built it after tripping over the Polymarket API ourselves. Rejected orders come back as normal responses with ok: false. Order books arrive sorted worst price first. The "trades" endpoint returns everyone's trades, not just yours. Marketable orders under $1 fail, and that minimum isn't documented. oddsrail handles each one.
That's a real check on a live market. The agent meant to buy NO, built the order on the YES side, and check_order blocked it. Polymarket would have taken it as a normal order.
Before you start. These are tools, and nothing here is financial advice.
You decide every order. Prediction markets are restricted in a lot of places, so
check that you're allowed to trade where you live. oddsrail is an
independent project, not affiliated with or endorsed by Polymarket or Kalshi.
If oddsrail is useful to you, a ⭐ on this repo helps other people find it.
You need Python 3.11 or newer.
pip install oddsrail
Add it to your MCP client as a local (stdio) server: the command is oddsrail, with no arguments. For clients that use JSON config:
{"mcpServers":{"oddsrail":{"command":"oddsrail","args":[]}}}
Have your assistant run server_info first. It shows whether you're in dry-run, which builder code orders will carry, and whether Polymarket is reachable from your network. Then try something like *"search markets about the next Fed rate decision and run the overshoot signal on the favorite"*.
Other ways to install
| Client | How |
|---|---|
| Any agent that reads skills | npx skills add hmesutozsoy/oddsrail |
| Cursor | Install oddsrail in Cursor |
| VS Code | Install oddsrail in VS Code |
| Anything else that speaks MCP over stdio | {"command": "uvx", "args": ["oddsrail"]} |
The plugin and the one-click links start the server with uvx, so they need uv installed. Without uv, pip install oddsrail gives you an oddsrail command you can point any client at.
To run from a clone without installing:
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
Then use /abs/path/to/oddsrail/.venv/bin/python with arguments ["-m", "oddsrail.server"] in your client's config.
Setup guides, wallet notes and trading limits are in the documentation.
42 tools and four workflow prompts.
search_markets, get_market, get_orderbook, price_history, get_positions, resolution_criteria (what resolves YES, who decides, from which sources), closing_soon, and watch_book, which streams live book updates for up to 60 seconds.quote_cost walks the order book for your size and returns the average fill price, slippage, notional and the market's fee schedule where Polymarket publishes one (fees aren't added into the cost). overshoot_signal flags sudden price jumps and shows how far earlier jumps in the same window came back. dispute_risk is a rough 0 to 100 heuristic, with its reasons, for how likely a market's resolution is to be contested. position_size is capped fractional Kelly sizing that refuses bets with negative edge.check_order (more below).place_order, cancel_order, open_orders, order_status, my_fills, my_positions, my_balance, and cancel_all_orders as the emergency stop. Prices are probabilities between 0 and 1 and sizes are in shares, so an order's notional is price times size.split_position, merge_positions and redeem_positions go through Polymarket's relayer; redeemable_positions lists what your wallet could redeem or merge right now.paper_positions, paper_reset.kalshi_*, nine tools).find_markets, compare_venues and settlement_audit. A price gap between two venues is not free money; the settlement audit checks whether the two markets actually resolve the same way.builder_stats, attribution_ledger, server_info.The prompts (find_fade_setup, check_cross_venue_edge, settle_resolved, daily_review) each walk an agent through one job step by step. find_fade_setup, for example, goes signal, book, cost, resolution rules, size, check, then a dry-run order. The skills in skills/ are generated from those prompts, and a test fails if they drift apart.
check_order compares the order your agent built with a short paraphrase of what was asked for and with the live market. It checks that the market exists and is open, that the wording matches the market and the YES or NO side, that the price makes sense against the book, that the size clears Polymarket's $1 minimum and your limits, that there's liquidity within your price, and that a resolution source is named. You get ok, caution or block, with the evidence for each check. There's no model involved; it's plain Python checks.
It only runs when your agent calls it. place_order doesn't call it for you, so tell your agent to check every order first.
ODDSRAIL_DRY_RUN=0 (or false, or no) turns on live trading. Any other value keeps you in dry-run.~/.oddsrail/paper.json, starting at $1,000). Whatever doesn't fill rests and can fill later if the market crosses it. Paper fills ignore queue position, latency, market impact and fees, so treat paper results as a best case. {"accepted": false, "blocked_by": "guardrail", "rule": "max_order_notional",
"limit": 25.0, "requested": 99.5, "note": "refused by an operator-set guardrail ... Nothing was sent."}
The session budget resets when the server restarts. server_info shows your limits and how much of the session budget is used.
Set POLYMARKET_PRIVATE_KEY (and POLYMARKET_WALLET_ADDRESS if your account uses a proxy or deposit wallet), set ODDSRAIL_DRY_RUN=0 and restart. The key stays on your machine; Polymarket gets signed orders and API credentials derived from the key, never the key itself.
For gasless split, merge and redeem, create your own relayer key at polymarket.com (Settings, Relayer API keys) and set POLYMARKET_RELAYER_API_KEY and POLYMARKET_RELAYER_API_KEY_ADDRESS. Without both, those tools send nothing; they never fall back to paying gas from your wallet. Polymarket allows 100 relayer requests a day for unverified builders and 10,000 for verified ones.
A 1 USDC split and merge through the relayer on 2026-09-02 is written up in the live verification notes. redeem_positions hasn't been exercised live yet, because the test account hasn't held a resolved winning position.
oddsrail is free, and it adds nothing to your trades. By default your orders carry our builder code (0xa576c5ce…, registered at 0 bps for both makers and takers), so Polymarket attributes the volume to the project without charging you anything for it. Orders sent from this server earn the project a share of Polymarket's weekly builder rewards, which Polymarket pays from its own program. Separately, oddsrail.app's links to Polymarket and its Perps authorizations carry our referral code, which pays the project a share of Polymarket's own fee without changing yours. There's no paid tier.
You can use your own code instead. Get one at polymarket.com (Settings, Builders), where you set your own fee rates (takers up to 100 bps and makers up to 50 bps, on top of platform fees, paid to your builder wallet), and set ODDSRAIL_BUILDER_CODE. The code goes into the order before it's signed, so attribution is on-chain. server_info shows which code is in use and builder_stats lets you check the attribution. The oddsrail builder profile was verified in Polymarket's builder program on 2026-09-02.
If you'd rather not install anything, add https://mcp.oddsrail.app/mcp as a remote MCP server in a client that supports OAuth, and sign in with your email (you get a one-time link). Example prompts and troubleshooting are in the hosted connector docs.
The connector is paper trading only. Each account gets a $1,000 paper bankroll that fills against the live Polymarket book. Its tools use no wallet keys and never send a real order, and Kalshi isn't available there. It has 22 of the 42 tools; oddsrail/hosted.py shows exactly which are removed and why:
search_markets, find_markets, get_market, get_orderbook, price_history, watch_book, closing_soon, resolution_criteria, get_positionsovershoot_signal, dispute_risk, quote_cost, position_sizecheck_order, place_order, cancel_order, paper_positions, paper_resetarena_register, arena_unregister, arena_statusserver_infoYour account holds your email address, the sign-in records for the client you connected, your paper ledger and, only if you set them up, an arena entry or a hosted paper agent. The details are in the privacy policy.
The website at oddsrail.app also runs hosted agents and a leaderboard. Real-money hosted agents are a small pilot for allowlisted wallets, use a session key for a Deposit Wallet, and don't go through these tools. Signing in to the website with a wallet lists it on the public leaderboard under a shortened address; the privacy policy explains how to be removed. The hosted service and the website are developed in a separate private repository. This repository is the MCP server.
Two different things can stop an order, and they look different.
Polymarket's own restrictions apply to orders, not connections. Market data loads normally and then orders get rejected. A few places are blocked co