Open-source MCP server that lets AI agents trade Polymarket, with spending limits and a pre-trade check. Your keys stay on your machine.
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add polymarket-kalshi-trading --env POLYMARKET_PRIVATE_KEY='<POLYMARKET_PRIVATE_KEY>' -- uvx oddsrail~/.codex/config.toml
[mcp_servers.polymarket-kalshi-trading]
command = "uvx"
args = ["oddsrail"]
env = { POLYMARKET_PRIVATE_KEY = "<POLYMARKET_PRIVATE_KEY>" }
# codex mcp add polymarket-kalshi-trading --env POLYMARKET_PRIVATE_KEY='<POLYMARKET_PRIVATE_KEY>' -- uvx oddsrail~/.cursor/mcp.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"POLYMARKET_PRIVATE_KEY": "<POLYMARKET_PRIVATE_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"polymarket-kalshi-trading": {
"type": "stdio",
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"POLYMARKET_PRIVATE_KEY": "<POLYMARKET_PRIVATE_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"POLYMARKET_PRIVATE_KEY": "<POLYMARKET_PRIVATE_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"POLYMARKET_PRIVATE_KEY": "<POLYMARKET_PRIVATE_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "uvx",
"args": [
"oddsrail"
],
"env": {
"POLYMARKET_PRIVATE_KEY": "<POLYMARKET_PRIVATE_KEY>"
}
}
}
}Remote
claude mcp add --transport http polymarket-kalshi-trading https://mcp.oddsrail.app/mcp~/.codex/config.toml
[mcp_servers.polymarket-kalshi-trading]
url = "https://mcp.oddsrail.app/mcp"
# codex mcp add polymarket-kalshi-trading --url https://mcp.oddsrail.app/mcp~/.cursor/mcp.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"url": "https://mcp.oddsrail.app/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"polymarket-kalshi-trading": {
"type": "http",
"url": "https://mcp.oddsrail.app/mcp"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"httpUrl": "https://mcp.oddsrail.app/mcp"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"polymarket-kalshi-trading": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.oddsrail.app/mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"polymarket-kalshi-trading": {
"url": "https://mcp.oddsrail.app/mcp"
}
}
}Environment variables
POLYMARKET_PRIVATE_KEY
Replace the placeholders with your own credentials and keep them out of version control.