Grab a free key at /start, then pick your surface. Or self-host the whole engine — it's AGPL.
# Claude Code
claude mcp add --transport http uniq https://uniq.team/api/mcp \
--header "Authorization: Bearer $UNIQ_API_KEY"
# Cursor / Claude Desktop (mcp.json)
{ "mcpServers": { "uniq": {
"url": "https://uniq.team/api/mcp",
"headers": { "Authorization": "Bearer uq_..." } } } }
# then just talk:
"Create a proposal: seller yoursaas.com, prospect acme.com."export UNIQ_API_KEY=uq_... npx @getuniq/cli propose --seller yoursaas.com --prospect acme.com npx @getuniq/cli get --id <proposal_id> --engagement
curl -X POST https://uniq.team/api/proposal \
-H "Authorization: Bearer $UNIQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sellerUrl":"yoursaas.com","prospectUrl":"acme.com",
"webhookUrl":"https://your-agent/webhook"}'
# → { id, proposalUrl, email:{subject,body}, pitchHtml, narrative }
# full spec: https://uniq.team/openapi.yaml · agent docs: /llms.txtgit clone https://github.com/getuniq/uniq cd uniq && npm install ANTHROPIC_API_KEY=sk-... npm run dev # http://localhost:3007
Optional env: SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY (persistence), UNIQ_API_KEY (require auth), UNIQ_BASE_URL (hosted link base), UNIQ_MODEL (default claude-sonnet-5). Deploys anywhere Next.js runs.