Installation
- curl (Recommended)
- npm
- npx (no install)
The fastest way to install on macOS or Linux:The script checks for Node.js 18+, installs
shoal-cli globally, and prints a quickstart.Authentication
Save your API key (stored in~/.config/shoal-cli):
Skills + CLI
If you use Claude Code, you can install the Shoal skill directly from the CLI:/shoal skill guidance locally. It does not replace the hosted MCP server at https://api.shoal.xyz/mcp.
Commands
Signal
Radar
Entities
Organizations (Compatibility)
Timeline
Replay
Brief
Webhooks
Enrich
Enrich a contacts file with Shoal radar and signal events. Input is a JSON array of[{name, company}] objects.
matched, shoal_org (id + label), and filtered radar/signal arrays where the company is the primary event owner. See the Business Development use case for a full walkthrough.
Categories
Usage
Relative Time Syntax
The--since flag supports relative time shortcuts:
| Shortcut | Meaning |
|---|---|
30m | 30 minutes ago |
2h | 2 hours ago |
1d | 1 day ago |
--since 2026-02-28T00:00:00Z
Output
All commands output JSON. Pipe tojq for formatting:
Agent Integrations
Hosted MCP (Recommended)
Shoal now provides a hosted MCP server:app.shoal.xyz. Users sign in, approve access, and Shoal issues short-lived MCP tokens without exposing the raw API key to the MCP client.
See MCP Server for the hosted setup flow and discovery URLs.
Claude Code Plugin Marketplace
If you use Claude Code, you can also install the Shoal plugin marketplace:Local stdio MCP (Fallback)
shoal-cli still ships a second binary, shoal-mcp, that runs a local stdio Model Context Protocol server. Use this only if your client does not support hosted MCP yet.
Prerequisites: run shoal auth YOUR_API_KEY first.
- Claude Code
- Cursor
- Windsurf / Cline
Add to Or use the CLI:
~/.claude/settings.json:| Tool | Description |
|---|---|
entities_search | Resolve canonical entities by name or alias |
entities_get | Get one canonical entity by Shoal entity ID |
entity_relationships | Direct canonical relationships for one entity |
entity_references | External references attached to one entity |
signal_top | Top signal events by score |
signal_all | All signal events (bulk feed, higher-tier access) |
signal_org | Signal events for a specific entity |
signal_category | Signal events by category |
signal_history | Daily signal/radar activity for one entity (up to 90 days) |
radar_all | All radar events (bulk feed, higher-tier access) |
radar_org | Radar events for a specific entity |
radar_category | Radar events by category |
orgs_search | Search organizations by name (compatibility) |
orgs_get | Get an org by ID with optional embedded events (compatibility) |
brief_org | Intelligence brief for one entity |
brief_batch | Briefs for up to 25 entities in one call |
categories | List all event categories |
webhooks_list | List all webhooks |
webhooks_create | Register a new webhook |
webhooks_get | Get a webhook by ID |
webhooks_update | Update a webhook |
webhooks_delete | Delete a webhook |
enrich | Enrich a list of contacts with Shoal intelligence |
usage | API usage and quota |