Skip to main content

MCP server exposing the Greeks options-analytics API (Greeks, GEX, Max Pain, flow) as tools for Claude Desktop, Cursor, and any MCP client

Project description

greeks-mcp

PyPI Python License: MIT

A Model Context Protocol server that exposes the Greeks options-analytics API as tools for any MCP client — Claude Desktop, Cursor, Claude Code, and more. Ask your assistant for GEX, Greeks, Max Pain, unusual flow or a full dashboard on any ticker and it pulls live from the API.

Only derived/computed analytics are exposed — no raw market data is redistributed.

Quickstart

1. Get an API key. Sign up at greeks.pro and create a key — it looks like grk_<48 hex>. Public tools (screener, health, plans) work without one.

2. Add one block to your client config and restart the client:

{
  "mcpServers": {
    "greeks-analytics": {
      "command": "uvx",
      "args": ["greeks-mcp"],
      "env": { "GREEKS_API_KEY": "grk_your_key_here" }
    }
  }
}

That's it — the assistant now has all 12 tools. uv downloads and runs the published package on demand in an isolated environment, so there's nothing to install or keep updated by hand.

Prefer pipx? pipx install greeks-mcp, then use "command": "greeks-mcp" with no args.

Where the config block goes

The same mcpServers block works in every MCP client — only the file location differs.

Client Config file
Claude Desktop (macOS) ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows) %APPDATA%\Claude\claude_desktop_config.json
Cursor (global) ~/.cursor/mcp.json
Cursor (per-project) <project>/.cursor/mcp.json

Ready-to-copy configs live in examples/. After reloading, the server shows up under Cursor's Settings → MCP with a green dot and its 12 tools; type @greeks-analytics in chat (or just ask for GEX/greeks/max pain) to use them.

Tools

Tool Endpoint Min plan What it returns
get_max_pain /api/analytics/maxpain Free Max Pain strike per expiration
get_greeks /api/analytics/greeks Trader Δ Γ Θ V ρ, theo price, mispricing per contract
get_gex /api/analytics/gex Trader GEX/DEX per strike, total Net GEX, Gamma Flip
get_flow /api/analytics/flow Trader Unusual-activity signals
get_overview /api/analytics/overview Pro Full dashboard (sentiment, GEX, max pain, expected move, IV surface, term structure, top flow)
get_snapshot /api/analytics/snapshot Compact analytics snapshot
get_levels /api/analytics/levels Options-derived support/resistance levels
screener /api/public/screener public Watchlist screener — discover interesting symbols
gex_heatmap /api/public/gex-heatmap public GEX-by-strike heatmap for a watchlist symbol
track_record /api/public/track-record public Aggregated signal accuracy (~last 35 days)
list_plans /api/billing/plans public Plans, prices, limits, routes
health /health public Service health

All analytics tools take symbol (required) and optional expiration (a Unix timestamp, or "all" for every expiration; omit for the nearest expiry). get_greeks also accepts range="atm", moneyness="low,high" and limit.

Configuration

Env var Required Default Description
GREEKS_API_KEY for /api/analytics/* Your grk_... key. Public tools work without it.
GREEKS_BASE_URL no https://api.greeks.pro API base URL
GREEKS_TIMEOUT no 30 Per-request timeout (s)
MCP_TRANSPORT no stdio stdio (for clients) or http

Run from source

Requires Python ≥ 3.10.

git clone https://github.com/ArtBreguez/greeks-mcp.git
cd greeks-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# stdio (what MCP clients spawn)
GREEKS_API_KEY=grk_... greeks-mcp        # or: python -m greeks_mcp

# or over HTTP
GREEKS_API_KEY=grk_... MCP_TRANSPORT=http greeks-mcp

Development

# Inspect the tools interactively without a full client:
mcp dev src/greeks_mcp/server.py

# Tests (no network needed):
python tests/test_server.py     # tool wiring (URLs, params, headers, errors)
python tests/test_e2e.py        # spawns the server over stdio, calls all 12 tools

Releasing (maintainers)

Published to PyPI via Trusted Publishing (OIDC — no API token stored). One-time setup:

  1. On PyPI → Account settingsPublishing → add a pending publisher: project greeks-mcp, owner ArtBreguez, repo greeks-mcp, workflow publish.yml, environment pypi.
  2. In GitHub repo settings → Environments, create an environment named pypi.

Then cut a release by bumping version in pyproject.toml + __init__.py and pushing a tag:

git tag v0.1.0 && git push origin v0.1.0

The workflow builds the sdist+wheel, verifies the wheel installs and registers all 12 tools, and publishes.

Notes

  • Plans & errors: a 402/403 means your plan doesn't include that route (or you hit the symbol/rate limit). Call list_plans to see what each tier unlocks.
  • expiration="all" returns every expiration — richer but slower. For heavy names prefer a specific expiration timestamp, or raise GREEKS_TIMEOUT.
  • Derived data only. No raw market data (quotes, bid/ask, OI, contract prices) is redistributed — everything here is computed analytics.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

greeks_mcp-0.1.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

greeks_mcp-0.1.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file greeks_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: greeks_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for greeks_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f79b469a4ecd37d8bcc36019b96d40343c3f6d45f11a7632079c9cc974303676
MD5 5a05db8a2d86ef2961f979171f5ae0e7
BLAKE2b-256 98f9cca9e90dbdfffe3ec8b5d407b2388efaef2501f90cc5258bb2118fbaa1a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for greeks_mcp-0.1.0.tar.gz:

Publisher: publish.yml on ArtBreguez/greeks-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file greeks_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: greeks_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for greeks_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e731491f275abd4b762e208a91f9d3ba4680c665cbe5026b5c219be8c8f69c7
MD5 40b2162c8df5341e983d9f51c60f5581
BLAKE2b-256 f963faae2cab3b85daa4712a00006defd391cac0501429ac0a209293c140a835

See more details on using hashes here.

Provenance

The following attestation bundles were made for greeks_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ArtBreguez/greeks-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page