Onsa MCP server

Onsa is a remote MCP server that gives an AI agent 13 tools, among them continue_campaign, fetch_leads, find_leads. It answers at https://api.onsa.ai/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 7 of 7 times since 8 September 2026; the last check, on 18 October 2026, succeeded.

Status
Answering
Tools
13
Official
yes, served from onsa.ai
Reliability
7 of 7 checks
Response time
283 ms
Transport
streamable HTTP
Last checked
18 October 2026

Find scored B2B leads, read campaign replies and send approved LinkedIn outreach.

Description as the publisher wrote it.

The 13 tools Onsa offers

ToolWhat it does
continue_campaignSends an instruction to the agent inside an existing campaign and returns a jobId to read with fetch_leads. This is the tool that grows or steers a cohort in place - 'find 5 more like these', 'look at Singapore and the Gulf instead of US in
Inputs: campaignId, message
fetch_leadsReturns the status and any results of a find_leads job, by jobId. Status values: "pending" - the search is still running, though `leads` may already hold a partial list; "completed" - the agent delivered a batch, which is not a guarantee th
Inputs: jobId, limit
find_leadsStarts a live B2B lead search with Onsa's agent, matching real people (with LinkedIn profiles) against the workspace's ICP. Takes a natural-language brief - titles, company type, geography, e.g. 'find 5 fintech founders in NYC'. Returns a j
Inputs: query, limit
get_campaignReturns one campaign's ICP - the ideal-customer profile the agent derived and scores leads against - plus its outreach template and settings. The ICP comes back exactly as stored, in snake_case: `perfect_lead` and `reachable_market` are one
Inputs: campaignId
get_campaign_leadsReturns the leads of any campaign by campaignId, with the same fields as fetch_leads, including score and scoreExplanation. It covers campaigns not started in this session, which fetch_leads cannot reach because fetch_leads requires a jobId
Inputs: campaignId, leadIds, limit
get_campaign_statsReturns the outreach funnel for one campaign: invites sent, invites accepted, messages sent, and replies split into positive / negative / other by sentiment. LinkedIn and email are merged, as on Onsa's Overview page. These count leads rathe
Inputs: campaignId
get_lead_memoReturns the research memo Onsa's agent wrote about one lead: role history, company size and stage, what they have said publicly, and the angle on them. It is usually far richer than scoreExplanation, and it is the source material for outrea
Inputs: leadId
list_campaignsLists the campaigns (past lead searches) in this workspace that the user takes part in, newest first. Returns the newest `limit` of them, default 50; `returned` against `total` shows whether older campaigns were omitted. Each entry has id,
Inputs: limit
list_next_stepsReturns what this campaign still needs from a human, as a ranked to-do list: people who replied, people who accepted an invite but were never messaged, drafts waiting for approval, leads found but never contacted, and setup that is missing.
Inputs: campaignId
list_pending_outreachLists outreach messages the agent has drafted that are waiting for a human to approve - the 'a message for X is ready' queue. Each entry carries the draft text, the lead it is for, and why that lead scored as it did. Omitting campaignId cov
Inputs: campaignId, limit
list_repliesReturns the text of what prospects replied, for every lead in the campaign that answered, paired with the outbound message it answers. get_campaign_stats counts replies and labels them; this returns the words. `sentiment` is Onsa's own labe
Inputs: campaignId, limit
rewrite_outreachReplaces the text of an outreach draft that is waiting for approval. The current draft and the lead's scoreExplanation come from list_pending_outreach; get_lead_memo carries the richer research on that person. The rewritten draft stays in t
Inputs: leadId, text, subject
send_outreachQueues one already-approved outreach draft for delivery to a real person on LinkedIn. It requires `confirmText`, the draft body character-for-character as stored, and `confirmName`, the recipient's name: drafts are often near-identical betw
Inputs: leadId, confirmText, confirmName

Add Onsa to your AI client

Every block below points at https://api.onsa.ai/api/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http onsa https://api.onsa.ai/api/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "onsa": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.onsa.ai/api/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "onsa": {
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "onsa": {
      "type": "http",
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "onsa": {
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "onsa": {
      "serverUrl": "https://api.onsa.ai/api/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "onsa": {
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Onsa
version: 0.0.1
schema: v1
mcpServers:
  - name: Onsa
    type: streamable-http
    url: https://api.onsa.ai/api/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "onsa": {
      "httpUrl": "https://api.onsa.ai/api/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "onsa": {
      "type": "http",
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "onsa": {
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fapi.onsa.ai%2Fapi%2Fmcp&type=streamable_http&id=onsa&name=Onsa

Is Onsa up right now?

It answered our last check on 18 October 2026 in 283 ms. Over 7 checks since 8 September 2026 it answered 7. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Onsa

Questions about Onsa

Is there an official Onsa MCP server?

Yes. It is published by onsa.ai and served from api.onsa.ai, the vendor's own domain: https://api.onsa.ai/api/mcp.

How many tools does Onsa have?

13, as returned by the server's own tools/list on 8 September 2026: continue_campaign, fetch_leads, find_leads, get_campaign, get_campaign_leads, get_campaign_stats, get_lead_memo, list_campaigns, and 5 more.

Is Onsa down?

It answered our last check on 18 October 2026 in 283 ms. Over 7 checks since 8 September 2026 it answered 7.

How do I add Onsa to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.onsa.ai/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Onsa need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: ai.onsa. Endpoint host: api.onsa.ai. ARD identifier: urn:air:ai.onsa:mcp:onsa. First indexed 8 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.