Creating Poke Recipes
Overview
Kitchen is where you create, test, publish, and track your own Poke recipes.
A recipe bundles:
- onboarding context and first-message behavior
- required integrations (MCP templates)
- optional scheduled automations
- a share/install link for users
Before You Start
- A Poke account with Kitchen access at poke.com/kitchen
- For CLI workflows: Node.js 18+ and the
pokenpm package (run throughnpx poke@latest)
Create a Recipe in Kitchen
Open the wizard
Go to poke.com/kitchen and click Create recipe.
Complete Basics
Set a recipe name. Description is optional.
Configure Onboarding
Optionally set:
- What context Poke needs from the user (
inputContext) - Prefilled first message (
prefilledFirstText)
Select Integrations
Choose required integrations from the picker.
If an integration supports local credential sharing, you can mark it as Share with users (no setup required).
Add Automations
Optionally add scheduled automations. Pick a schedule preset or enter a custom cron expression, then describe what Poke should do when it fires. You can add multiple automations or skip this step entirely.
Manage a Draft Recipe
From Kitchen -> Recipes -> your recipe, draft recipes let you:
- edit onboarding context and prefilled first message
- change required integrations
- add, edit, and delete scheduled automations
- test behavior in Sandbox
Automations
Kitchen supports scheduled automations with presets and custom cron expressions. You define:
- When it runs (schedule)
- What Poke should do (action text)
Sandbox Testing
Draft recipes include a sandbox chat backed by a dedicated test user. You can send messages, inspect responses, and reset the test state from the sandbox UI.
Publish and Share
Publishing a recipe:
- marks it Published
- generates a referral/share link
- permanently locks editing for that recipe
- makes it eligible for payouts
Publishing is permanent. Once published, you cannot edit the recipe's onboarding messages, integrations, or automations. Make sure everything is tested in the sandbox first.
You will typically share links like:
https://poke.com/r/<referralCode>https://poke.com/p/<partnerSlug>(if configured)
How npx poke Fits In
The poke npm package helps you bring integrations into your account and, with --share, can bootstrap a shareable recipe flow.
Package: npmjs.com/package/poke
1) Authenticate CLI
npx poke@latest loginThis opens your browser for authentication. Enter the code shown in your terminal to log in.
Other auth commands:
npx poke@latest logout # Clear stored credentials
npx poke@latest whoami # Display current user info2) Add or expose an MCP integration
# Remote MCP server
npx poke@latest mcp add https://mcp.example.com/sse -n "My Server"
# With API key authentication
npx poke@latest mcp add https://mcp.example.com/sse -n "My Server" -k "sk-your-api-key"
# Local MCP server over tunnel
# The tunnel only forwards the port — start your MCP server first, then tunnel it:
npx poke@latest tunnel http://localhost:3000/mcp -n "Local Dev MCP"The tunnel only forwards the local port — it does not start or manage the MCP server itself. Start your server first, then run the tunnel command pointing at it.
The tunnel stays active until you press Ctrl+C. Tools are synced automatically every 5 minutes.
Then open Kitchen and select that integration in your recipe.
Some MCP servers require OAuth and must be added through the web app integrations flow instead of CLI.
3) Auto-create a share flow from CLI (--share)
# Shareable tunnel flow (+ QR code output)
npx poke@latest tunnel http://localhost:3000/mcp -n "Local Dev MCP" --share
# AI wraps current project as MCP, tunnels it, and shares
npx poke@latest wrap -n "My Project" --shareWith --share, CLI creates a connection and returns a recipe link/QR in the terminal. The recipe can then be managed further in Kitchen.
The tunnel must stay active for shared users to access your local server. If you stop the tunnel, the connection will go offline.
Wrapping a project as an MCP server
The wrap command uses AI to analyze your current project and generate an MCP server from it:
npx poke@latest wrapThis will:
- Analyze your project's structure and capabilities
- Generate a Python FastMCP server with tools for your project's key operations
- Start the server locally and create a tunnel
Options:
npx poke@latest wrap --port 8765 # Specify a port (default: 8765)
npx poke@latest wrap -n "My Project" # Custom name for the connection
npx poke@latest wrap --share # Create a shareable recipe with QR codeThe wrap command requires uv to be installed for managing the Python environment. Install it with curl -LsSf https://astral.sh/uv/install.sh | sh.
CLI configuration
Credentials are stored at ~/.config/poke/credentials.json (or $XDG_CONFIG_HOME/poke/credentials.json if set). The CLI defaults to https://poke.com and can be overridden with environment variables:
| Variable | Default | Description |
|---|---|---|
POKE_API | https://poke.com/api/v1 | Backend API base URL |
POKE_FRONTEND | https://poke.com | Frontend base URL |
Payouts and Operations
Kitchen also includes Payouts where you can:
- view unique-user totals and lifetime earnings
- set your payout destination (Venmo phone/email/handle)
- review payout history