Onsa connects to Claude, ChatGPT, Cursor and any other MCP client. Ask for leads and get real people with LinkedIn profiles, scored against your ICP. Read what prospects actually wrote back. Rewrite a draft that reads like a mail-merge, and send it once you have approved the words.
Your assistant does the thinking. Onsa supplies the evidence and the actions.
Server URL — https://api.onsa.ai/api/mcp
You will be asked to sign in to Onsa and approve the connection. If you do not have an Onsa account you can create one during that step; a new workspace starts on the free trial.
Claude (web, desktop, mobile) — Settings → Connectors → Add custom connector, and paste the URL.
Claude Code — run claude mcp add --transport http onsa https://api.onsa.ai/api/mcp, then /mcp to sign in.
ChatGPT — Settings → Connectors → Add. Requires a plan that allows custom connectors.
Cursor — Settings → MCP → Add new MCP server, transport HTTP, paste the URL.
Anything else that speaks MCP — point it at the URL above. If your client only supports local servers, npx mcp-remote https://api.onsa.ai/api/mcp bridges it.
Use the Onsa connector. Run find_leads for: [describe who you want — role, company type, stage, geography, and who to exclude]. It returns a jobId immediately and the search takes 3–10 minutes, so poll fetch_leads with that id about every 20 seconds and tell me the progress. When leads arrive, show me each one's name linked to their LinkedIn, their title and company, and their score with the one-line reason. Then call list_next_steps and tell me what to do first.
Already have campaigns running? Start with this instead:
Use the Onsa connector. Call list_campaigns, then for the campaign with the most leads call get_campaign_stats and list_replies. Rank my campaigns on positivePct, never on reply rate — a rejection is a reply. Read the actual reply text before you conclude anything about why an ICP is or is not landing, then call list_next_steps and give me a ranked to-do list.
Add this to your CLAUDE.md, .cursorrules, or your assistant's custom instructions: "When I ask about leads, prospects, campaigns or outreach, use the Onsa connector. Rank campaigns on positivePct, never replyPct. Read list_replies before diagnosing an ICP. Never send outreach without showing me the exact words first."
The starter prompt owns the first turn. The rules line owns every turn after it.
Reads — these run without interrupting you. fetch_leads (results of a search you started), list_campaigns (every cohort you have run), get_campaign (one campaign's ICP and outreach template), get_campaign_leads (the people, with scores and reasoning), get_campaign_stats (the outreach funnel: invites, messages, replies by sentiment), list_replies (what prospects actually wrote back, as a conversation), list_next_steps (what this campaign still needs from you, ranked), list_pending_outreach (drafts waiting for approval), get_lead_memo (the research Onsa already did on one person).
Writes — your assistant will ask before each one. find_leads (starts a live search; counts against your prospect allowance), continue_campaign (grows or steers a cohort you already have), rewrite_outreach (replaces a draft with better copy), send_outreach (queues a LinkedIn message to a real person).
send_outreach reaches a real human being. It refuses unless it can quote the exact text and the recipient's name back to you first, the approval is single-use, and it is bound to that one person and that one draft. If your client cannot show a confirmation dialog it will not send — it hands you a link to approve inside Onsa instead.
A new workspace starts on a free trial with a prospect allowance. Searches return real, researched people, and every lead found counts against that allowance. When it runs out, everything you already have stays readable — campaigns, leads, replies and stats all keep working. Plans and current usage live in your Onsa workspace.