使用说明
Streak CRM MCP Server
A Model Context Protocol server for Streak CRM. Enables AI assistants like Claude to interact with your Streak data — manage pipelines, deals, contacts, tasks, and more, directly from natural language.
Features
80 tools covering every documented endpoint of the Streak API:
| Category | Tools | Operations |
|---|---|---|
| Users | 2 | Get current user, get user by key |
| Teams | 2 | List teams, get team details |
| Pipelines | 5 | List, get, create, update, delete |
| Boxes (Deals) | 10 | List, get, batch get, create, update, delete, batch move to another pipeline, list/get/set field values |
| Timeline | 1 | Consolidated cursor-paged box history (emails, files, meetings, comments, newsfeed) |
| Stages | 5 | List, get, create, update, delete |
| Fields | 5 | List, get, create, update, delete |
| Contacts | 6 | Get, create, update, delete, list field definitions, set field value |
| Organizations | 6 | Get, create/find, update, delete, list field definitions, set field value |
| Search | 2 | Global search, search boxes by exact name (pipeline/stage filters, paging) |
| Tasks | 5 | Get, list in box, create, update, delete |
| Comments | 5 | Get, list in box, create, update, delete |
| Files | 4 | List in box, get details, get contents, attach a Drive file |
| Threads | 4 | List in box, get, link email, unlink email |
| Meetings | 4 | List in box, create, update, delete meeting notes & call logs |
| Snippets | 5 | List, get, create, update, delete email templates |
| Newsfeed | 3 | All pipelines, one pipeline, one box |
| Webhooks | 6 | Create, get, list by pipeline, list by team, update, delete |
Reading a box's history? Prefer
streak_get_box_timeline. Streak recommends it over the per-entity endpoints: it is a single consolidated, cursor-paged feed and is markedly more performant.
Installation
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"streak-crm": {
"command": "npx",
"args": ["-y", "mcp-streak-crm"],
"env": {
"STREAK_API_KEY": "your_api_key_here"
}
}
}
}
Claude Code
claude mcp add --transport stdio -e STREAK_API_KEY=your_api_key_here streak-crm -- npx -y mcp-streak-crm
Cursor
Add this to .cursor/mcp.json:
{
"mcpServers": {
"streak-crm": {
"command": "npx",
"args": ["-y", "mcp-streak-crm"],
"env": {
"STREAK_API_KEY": "your_api_key_here"
}
}
}
}
Getting your Streak API Key
- Open Gmail with the Streak extension installed
- Click the Streak icon in the right sidebar
- Go to Integrations
- Under "Streak API", click Create New Key
- Copy the key and use it as
STREAK_API_KEY
More info: Streak API docs
Usage Examples
Once connected, you can ask your AI assistant:
- "Show me all my pipelines in Streak"
- "Create a new box 'Acme Corp Deal' in the Sales pipeline"
- "Move the box to the Negotiation stage"
- "Add a task 'Follow up call' to the box"
- "Search all contacts with email @acme.com"
- "Show me recent activity on the pipeline"
Development
git clone https://github.com/emanuelegandini/mcp-streak-crm.git
cd mcp-streak-crm
npm install
npm run build
Run the checks (typecheck, build, and an offline smoke test of the MCP handshake and tool list):
npm test
Test interactively with MCP Inspector:
STREAK_API_KEY=your_key npm run inspector
API Rate Limits
Streak imposes a limit of 10 API calls per second per key. The server paces
every outgoing request through a shared sliding-window limiter and retries 429
and 5xx responses with backoff (honouring Retry-After when present), so
callers do not need to throttle themselves.
License
MIT