# MCP

The whole stock market as a SQL table, addressable in chat. Install the Tickerbot MCP server in Claude, ChatGPT, Cursor, or any MCP runtime.

Remote MCP endpoint: `https://api.tickerbot.io/mcp` (OAuth). Local: `npx -y @tickerbot/mcp-server` with `TICKERBOT_API_KEY` set. Get a free API key at https://tickerbot.io/dashboard/keys.

## Pick your AI tool

- **Claude Code** — `claude mcp add tickerbot --env TICKERBOT_API_KEY=tb_live_... -- npx -y @tickerbot/mcp-server`
- **Claude.ai (web + mobile + desktop)** — Customize → Connectors → Add custom connector → URL `https://api.tickerbot.io/mcp`. OAuth handles the rest; mobile inherits the connector.
- **ChatGPT Plugin** — Settings → Plugins → Developer mode → Add plugin → Connection: Server URL `https://api.tickerbot.io/mcp`, Authentication: OAuth. Enable Tickerbot per conversation via + in the composer.
- **Cursor** — paste the npx config into `~/.cursor/mcp.json`.
- **VS Code (Copilot)** — paste into `.vscode/mcp.json` (workspace) or `~/.config/Code/User/mcp.json` (user), under `servers`.
- **Windsurf** — paste into `~/.codeium/windsurf/mcp_config.json`.
- **Zed** — paste into `~/.config/zed/settings.json` under `context_servers`.
- **Other MCP CLIs** (Codex CLI, Aider, OpenClaw) — each exposes an `mcp add` equivalent; see https://modelcontextprotocol.io.
- **BYO runtime** — skip MCP and use the tool definitions below.

npx config (Cursor / Windsurf; VS Code uses the key `servers`, Zed `context_servers`):

```json
{
  "mcpServers": {
    "tickerbot": {
      "command": "npx",
      "args": ["-y", "@tickerbot/mcp-server"],
      "env": { "TICKERBOT_API_KEY": "tb_live_..." }
    }
  }
}
```

Source: https://github.com/tickerbot/tickerbot-mcp

## Not on MCP?

The live tool catalog is `GET https://api.tickerbot.io/mcp/tools` — the same array the server serves, with each tool's JSON Schema and the endpoint it maps to, ready to drop into any function-calling runtime. The REST surface behind every tool is https://tickerbot.io/openapi.yaml.

## 35 tools

One for every call an agent should make; each maps to one REST endpoint with the same name, params, and shape. Per-tool JSON Schemas: GET https://api.tickerbot.io/mcp/tools.

- **Tickers:** `tickerbot_list_tickers`, `tickerbot_get_ticker`, `tickerbot_get_ticker_history`, `tickerbot_get_ticker_coverage`, `tickerbot_get_ticker_bars`, `tickerbot_get_ticker_holdings`, `tickerbot_get_ticker_sectors`, `tickerbot_subscribe_ticker`
- **Signals:** `tickerbot_list_signals_catalog`, `tickerbot_get_signals_match`, `tickerbot_list_signal_events`, `tickerbot_subscribe_signal`
- **Scan:** `tickerbot_scan`, `tickerbot_subscribe_scan`
- **Series:** `tickerbot_get_series`
- **Events:** `tickerbot_list_events`, `tickerbot_subscribe_events`
- **News:** `tickerbot_search_news`
- **Custom signals:** `tickerbot_create_custom_signal`, `tickerbot_update_custom_signal`, `tickerbot_delete_custom_signal`
- **Universes:** `tickerbot_list_universes`, `tickerbot_list_system_universes`, `tickerbot_get_universe`, `tickerbot_create_universe`, `tickerbot_update_universe`, `tickerbot_delete_universe`
- **Webhooks:** `tickerbot_create_webhook`, `tickerbot_patch_webhook`, `tickerbot_list_webhooks`, `tickerbot_get_webhook`, `tickerbot_list_webhook_deliveries`, `tickerbot_test_webhook`, `tickerbot_enable_webhook`, `tickerbot_delete_webhook`
