# Onsa MCP server

Source: https://glimind.com/server/mcp-registry%2Fai.onsa%2Fonsa
Registry id: `mcp-registry/ai.onsa/onsa`
Status: live (checked 2026-10-26T22:31:52.486Z)

## Verdict

Onsa MCP server answered 99.97% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 449 ms median handshake and 3 outages in 90 days. Its agent-readiness grade is A (93/100) across 16 tools, costing an agent about 5,247 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 99.97% | 42% of MCP servers |
| Median handshake latency | 449 ms | 53% of MCP servers |
| p95 handshake latency | 2495 ms | — |
| Checks in 30 days | 4,981 | — |
| Outages, 90 days | 3 | — |
| Median recovery | 8 min | — |
| Agent-readiness score | 93/100 (A) | 76% of MCP servers |
| Tools | 16 | — |
| Tool-list size for an agent | ~5,247 tokens | 37% of MCP servers |
| Days observed | 29 | — |

## Install

```json
{
  "mcpServers": {
    "onsa-mcp-server": {
      "type": "http",
      "url": "https://api.onsa.ai/api/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http onsa-mcp-server https://api.onsa.ai/api/mcp
```

## Tools (16)

- `continue_campaign`: Sends 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 pl
- `create_shortlist`: Publishes a preview_shortlist snapshot as a link. It requires the previewKey that preview_shortlist returned, and confirmPublic: true. The server itself request
- `fetch_leads`: Returns the status and any results of a find_leads or continue_campaign job, by jobId. Status values are "pending", "completed" and "stalled", and `leads` can h
- `find_leads`: Starts 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 - tit
- `get_campaign`: Returns 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
- `get_campaign_leads`: Returns the leads of any campaign by campaignId, with the same fields as fetch_leads, including score and scoreExplanation. It covers campaigns not started in t
- `get_campaign_stats`: Returns the outreach funnel for one campaign: invites sent, invites accepted, messages sent, and replies split into positive / negative / other by sentiment. Li
- `get_lead_memo`: Returns 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 us
- `list_campaigns`: Lists 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`
- `list_next_steps`: Returns read-only guidance for what to do next. Without campaignId, it returns the first-search question, active search progress, or campaign names and statuses
- `list_pending_outreach`: Lists 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,
- `list_replies`: Returns 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
- `preview_shortlist`: Prepares a preview of 1–50 selected prospects from a campaign the user takes part in, and publishes nothing. The snapshot holds a list title, which is the campa
- `revoke_shortlist`: Revokes a list link by the id create_shortlist returned; only the user who created the link can revoke it. Future views stop immediately; previously copied or d
- `rewrite_outreach`: Replaces 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
- `send_outreach`: Queues one already-approved outreach draft for delivery to a real person on LinkedIn. It requires `confirmText`, the draft body character-for-character as store

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
