Metadata-Version: 2.5
Name: orcalayer-mcp
Version: 0.5.7
Summary: MCP server for the OrcaLayer API — Polymarket whale and market analytics for Claude, Cursor and other MCP clients (stdio or Streamable HTTP)
Project-URL: Homepage, https://orcalayer.com
Project-URL: Documentation, https://orcalayer.com/docs
Project-URL: Repository, https://github.com/orcalayer/orcalayer-mcp
Author: OrcaLayer
License: MIT
License-File: LICENSE
Keywords: analytics,claude,mcp,model-context-protocol,polymarket,prediction-markets,whales
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Requires-Dist: mcp<2,>=1.27
Requires-Dist: orcalayer>=0.2.2
Description-Content-Type: text/markdown

# 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
