cd /news/ai-agents/cooks-open-source-sales-engagement-s… · home › topics › ai-agents › article
[ARTICLE · art-158348] src=cooks-sales.vercel.app ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Cooks – open-source sales engagement (sequences, parallel dialer, MCP)

Open-source sales engagement platform Cooks has shipped an MCP server that exposes its REST API to AI assistants including Claude Code, Claude Desktop, Cursor, Windsurf, Codex and Grok, distributed as a tarball on GitHub Releases rather than through npm. Cooks reports its voice-activity detection plus a small model classifies a human saying "Hello?" in 0.8 seconds and a voicemail greeting in 1.0 second, versus 3.0 seconds for Twilio's answering-machine detection, which runs concurrently as a fallback with the first verdict winning. The MCP server spends no tokens itself, and every send is gated by server-side suppression lists, unsubscribes and daily caps plus human confirmation of drafts.

read6 min views1 publishedOct 27, 2026
Cooks – open-source sales engagement (sequences, parallel dialer, MCP)
Image: source

How Cooks tells a person from a machine #

When a carrier answers, Cooks streams the callee's audio back and runs it through voice-activity detection and a few rules. "Hello?" followed by silence is a person. "You've reached", a beep or a long unbroken speech is a machine. If that is unclear, a small model decides within a few hundred milliseconds.

Twilio's answering-machine detection runs at the same time as a fallback. The first verdict on a line wins and the other is ignored.

Pickup Verdict lands
Person saying "Hello?" 0.8 s
Voicemail greeting 1.0 s
Carrier machine detection 3.0 s

Measured against the mock carrier in the repo. Timing depends on the recognizer you configure: OpenAI Realtime, a local Nemotron model through sherpa-onnx, or none.

Connecting an assistant #

The MCP server is a thin client over the REST API. Run it on a laptop against a hosted Cooks, or next to the API for the team. In this setup Cooks itself spends no tokens.

Cooks can also run its own agents for drafts, reply classification and research. Add a key for the model provider you use, or point it at a local model, and each run is logged with its tokens and cost.

Enrolled Maya Chen, Dev Patel and Sam Okafor in Q4 outbound. cooks_enroll_prospect ×3

Maya clicked twice, so I'm ringing her now and will log the outcome. cooks_dial

An example session. The assistant calls Cooks tools; Cooks applies the workspace rules and records every action.

  • Prospects and accounts: find, create, update, tag, add notes.
  • Sequences and steps: build, edit, reorder, or draft a sequence from a brief.
  • Enrollments: enroll, , resume and finish, with the rules enforced.
  • Tasks: list, complete and skip what is due today.
  • Dialer: place a call, hand one to a Speko voice agent, fetch the transcript, log it.
  • Power dialer: start a session, dial the next batch, see who answered.
  • Inbox: read the unified inbox, send SMS and iMessage with consent checks.
  • Email: draft, send, and import mail that happened outside Cooks.

Claude Code

claude mcp add cooks \
  -e COOKS_API_URL=http://localhost:8080 \
  -e COOKS_API_KEY=cooks-api-... \
  -- npx -y https://github.com/walter-grace/cooks/releases/latest/download/cooks-mcp.tgz

Create the key under Settings, then API keys. The tarball on GitHub Releases is the distribution; nothing is published to npm.

Claude Desktop and Cursor

{
  "mcpServers": {
    "cooks": {
      "command": "npx",
      "args": ["-y", "https://github.com/walter-grace/cooks/releases/latest/download/cooks-mcp.tgz"],
      "env": { "COOKS_API_URL": "http://localhost:8080", "COOKS_API_KEY": "cooks-api-..." }
    }
  }
}

Paste into claude_desktop_config.json or .cursor/mcp.json. Windsurf and Codex take the same shape.

Grok

pnpm --filter cooks-mcp dev          # hosts https://your-host/mcp

Grok runs the OAuth sign-in in a pop-up, so each person signs in with their own account and approves scopes. The host has to be reachable from the public internet.

claude.ai and remote clients

claude mcp add --transport http cooks https://your-host/mcp

No key to share. The client gets a 401 with OAuth discovery, registers itself, and each person signs in and approves scopes for one workspace. Tokens carry their role, so a rep cannot delete a sequence they do not own.

A draft is sent only after a person confirms it. Suppression lists, unsubscribes and daily caps are checked by the server on every send. Tool errors return the API's error code, so an assistant that enrolls someone twice sees "already enrolled" and moves on.

Also included #

Mailboxes

Gmail, Microsoft 365 or SMTP, with inbound sync for replies and bounces.

Inkbox channels

An email address, an SMS number and an iMessage line per rep, with one inbox and STOP honored.

HubSpot

Contact and company sync, auto-enroll from a list or deal stage, calls and email on the timeline.

Voice agents

A Speko agent places the call from a script and brings back the outcome, transcript and recording.

Compatible API

Same paths, envelopes and paging as the commercial API it mirrors. Existing clients change one base URL.

Webhooks

Signed, retried events for calls, emails, enrollments, tasks and prospects.

Sign-in

API keys, OAuth 2.1 with PKCE, or Clerk SSO. Secrets are encrypted at rest with a key you hold.

Web app

Tasks, prospects, sequences, emails, calls, dialer, practice, signals and settings.

Compared with Nooks and Orum #

Nooks and Orum charge per seat and quote prices on a sales call. Cooks is MIT licensed, so the recurring costs are telephony and your server.

Topic Cooks Nooks Orum
License Free, MIT. No per-seat fee. Custom quote Custom quote
Pricing published This page No, "get in touch" No, "based on package and users"
Minimum seats None Not published Nine
Parallel dialer Up to four lines; the first person to answer is connected Yes Yes, on the Ascend plan
Telephony Twilio at its published rate: $0.014 a minute in the US, $1.15 a month per number Not published Not published
Try it Whole product, locally, against a mock carrier, for as long as you like Not published Trial capped at 500 dials
Where the data lives Your Postgres, your server Their cloud Their cloud
Assistant access MCP server for Claude, Grok and Cursor Not on their public pages Not on their public pages

Nooks, Orum and Twilio facts read from their pricing pages in October 2026, linked in the footer. Check them before you buy; they change.

Buyers report $65 to $150 per user per month (Vendr, February 2026). The list quote is said to run higher.

Buyers report $100 to $200 per user per month (Vendr, February 2026), and nine seats is the floor.

100,000 outbound minutes cost about $1,400 at Twilio's rate, ten numbers $138, plus whatever your server costs.

Setup #

You need Node 22, pnpm 9 and Postgres 15 or newer. Jobs, rate limits, the webhook outbox and MCP sessions live in that database, so there is nothing else to operate. Bootstrap prints a workspace API key once, and the web app is served at /app.

Docker Compose starts Postgres, the API, the worker, the MCP server and Mailpit together. Production notes, Twilio setup and the mock carrier for trying the dialer without an account are in the self-hosting guide.

git clone https://github.com/walter-grace/cooks.git && cd cooks
pnpm install
createdb cooks && cp .env.example .env
pnpm bootstrap --email you@example.com --workspace "My Team"
pnpm --filter @cooks/api dev    # http://localhost:8080
pnpm --filter @cooks/worker dev # engine, mail, webhooks, AI
── more in #ai-agents 4 stories · sorted by recency
── more on @cooks 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/cooks-open-source-sa…] indexed:0 read:6min 2026-10-27 · —