Skip to main content
Glama
orcalayer

orcalayer-mcp

Official
README.md
# orcalayer-mcp

[![PyPI](https://img.shields.io/pypi/v/orcalayer-mcp.svg)](https://pypi.org/project/orcalayer-mcp/)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![MCP](https://img.shields.io/badge/MCP-compatible-purple.svg)](https://modelcontextprotocol.io)
[![MCP Badge](https://lobehub.com/badge/mcp/orcalayer-orcalayer-mcp)](https://lobehub.com/mcp/orcalayer-orcalayer-mcp)
[![Glama MCP](https://glama.ai/mcp/servers/orcalayer/orcalayer-mcp/badges/score.svg)](https://glama.ai/mcp/servers/orcalayer/orcalayer-mcp)
[![orcalayer-mcp MCP server](https://glama.ai/mcp/servers/orcalayer/orcalayer-mcp/badges/card.svg)](https://glama.ai/mcp/servers/orcalayer/orcalayer-mcp)

Model Context Protocol (MCP) server for the [OrcaLayer API](https://orcalayer.com) —
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`](https://pypi.org/project/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](https://orcalayer.com/pricing)): 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](https://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):

```json
{
  "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](https://orcalayer.com/pricing)):

```json
{
  "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

```bash
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](LICENSE).

Data is provided for informational purposes only and is not financial advice.

---

mcp-name: io.github.orcalayer/orcalayer-mcp

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a clearly distinct slice of the domain: ranking whales, summarizing a wallet, listing positions, searching markets, reading market consensus, and streaming whale trades. Even the two wallet-focused tools are cleanly separated by performance summary versus open positions.

Naming Consistency5/5

All tool names follow the same lowercase snake_case noun-phrase pattern, e.g. wallet_overview, wallet_positions, market_consensus, whale_alerts. There is no mixing of verb styles or casing conventions, so an agent can predict related tool names.

Tool Count5/5

Six tools is a well-scoped size for a Polymarket smart-money analytics server. Each tool covers a meaningful capability without redundancy, and the count is comfortably within the ideal range.

Completeness4/5

The set covers the core analytics workflow: discovering top whales, inspecting a wallet, seeing current positions, finding markets with whale activity, checking consensus on a single market, and following live whale trades. A minor gap is the lack of a wallet-level historical trade or a per-market price history tool, but agents can work around those with the provided surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues