orcalayer-mcp

Model Context Protocol (MCP) server for the OrcaLayer API β
Polymarket whale and market analytics inside Claude, Cursor and other MCP clients.
Two ways to use it:
- Hosted, nothing to install:
https://orcalayer.com/mcp (Streamable HTTP).
Add it as a connector in Claude (Settings β Connectors β Add custom connector,
paste the URL) or in any client that supports remote MCP servers.
- Local (stdio):
uvx orcalayer-mcp, for Claude Desktop and other local clients.
Either way it is a thin wrapper over the orcalayer
Python SDK and exposes six read-only tools:
| Tool | What it does | Key |
|---|
leaderboard | Rank wallets from the Smart Money set by P&L, win rate, volume or trade count | No |
wallet_overview | Wallet profit tracking: profile, P&L, market win rate, profit factor, rankings | No |
wallet_positions | A wallet's largest open positions | No |
markets | Track smart money flows: search markets and see how many Smart Money wallets hold each side | No |
market_consensus | Smart-money consensus on one market vs its price (head-count + capital-weighted) | No |
whale_alerts | Real-time alerts on profitable wallets: live feed of smart-whale trades | Premium |
Public tools work anonymously. whale_alerts needs a Premium API key
(get one): on the hosted server send it as the
Authorization: Bearer <key> request header (clients that support request
headers for a connector), on the local server set the ORCALAYER_API_KEY
environment variable. Without a key the tool answers with a short notice, not
an error.
Every tool carries readOnlyHint: true: nothing is created, changed or
deleted on your behalf. Data is read from the OrcaLayer API only.
Each result carries a short notes block that defines its fields, so a model
comparing two tools never meets two different numbers under one name:
market_win_rate (share of resolved markets won) has the same basis in
leaderboard and wallet_overview; profit_factor is capped at 99.99 on the
leaderboard (profit_factor_capped) and uncapped net in the overview;
indexed_volume_usd is the volume of fills in OrcaLayer's index, not
Polymarket's figure; Smart Money counts are wallets, whatever their size.
New (2026-07-22): the Premium SSE stream (/api/public/v1/live/trades)
now carries settlement_type (MINT / MERGE / COMPLEMENTARY / null)
on every event β live-derived settlement mechanics, shadow-verified
100.000% accurate on MINT/MERGE. It describes how the match settled,
not trader intent (~80% of all fills settle as MINT; null = honest
refusal, not "not a mint"). Details: the orcalayer://api-reference
resource or orcalayer.com/docs/api.
Prompts
Ready-to-use prompts for common analytics scenarios:
| Prompt | What it does |
|---|
analyze_wallet | Full wallet analysis β smart money or farmer? |
find_divergence | Markets where smart money disagrees with the current price |
hedge_check | Whether a wallet's profit was real alpha or a hedge structure |
territorial_markets_review | Ukraine territorial markets with ISW frontline overlay |
In Claude Desktop, pick a prompt from the prompt menu (the + / slash-command
picker) β each one orchestrates the tools above for you.
Resources
Read-only context the model can pull directly β no tool call needed:
| Resource URI | Content |
|---|
orcalayer://methodology | How smart money is filtered from farmers, hedgers and market-makers |
orcalayer://glossary | Prediction-markets glossary |
orcalayer://api-reference | OrcaLayer REST API reference (endpoints, auth, rate limits) |
Use with Claude Desktop
Add this to your claude_desktop_config.json
(%APPDATA%\Claude\claude_desktop_config.json on Windows,
~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"orcalayer": {
"command": "uvx",
"args": ["orcalayer-mcp"]
}
}
}
The public tools work as-is. For the Premium whale_alerts tool, add your
API key (get one):
{
"mcpServers": {
"orcalayer": {
"command": "uvx",
"args": ["orcalayer-mcp"],
"env": { "ORCALAYER_API_KEY": "sk_orca_your_key_here" }
}
}
}
Restart Claude Desktop after editing the config.
Use the hosted server
The same six tools, prompts and resources are served at
https://orcalayer.com/mcp over Streamable HTTP. No account is needed for the
public tools. In Claude: Settings β Connectors β Add custom connector β paste
the URL. For whale_alerts, send your Premium key as the
Authorization: Bearer <key> request header where your client supports
connector headers; keys are never accepted in the URL.
Self-host over HTTP
pip install orcalayer-mcp
orcalayer-mcp --http --host 127.0.0.1 --port 8020 --path /mcp
The server is stateless and answers plain JSON, so any reverse proxy with TLS
in front of it will do (forward POST /mcp to 127.0.0.1:8020/mcp). The
ORCALAYER_MCP_HTTP=1, ORCALAYER_MCP_HOST, ORCALAYER_MCP_PORT and
ORCALAYER_MCP_PATH environment variables are equivalent to the flags.
ORCALAYER_MCP_ANON_BASE_URL optionally routes anonymous calls to a different
API host (the hosted server points it at its local backend); calls that carry
a key always go to https://orcalayer.com. Put your own per-client rate limit
in the proxy: the server itself does not limit callers.
License
MIT. See LICENSE.
Data is provided for informational purposes only and is not financial advice.
mcp-name: io.github.orcalayer/orcalayer-mcp