Tool reference
All thirty rivomi MCP tools grouped by job, with the scope each needs, whether it spends credits, and its REST twin.
Use this page to choose a tool. Before calling it, read its live schema from MCP tools/list;
the schema is authoritative for arguments, defaults and limits. Each tool's description also says
what it does not do and names the tool that does.
$ marks the four tools that spend credits. Scope is the minimum the credential needs; see
API keys and OAuth.
Choose the tool
| Need | Use |
|---|---|
| Know the balance, senders and whether sending is allowed | rivomi_get_workspace. Call it first. |
| Answer "how are we doing" | rivomi_get_dashboard |
| Find people | rivomi_search_prospects, then rivomi_get_prospect |
| Build an agent | rivomi_create_agent → rivomi_update_agent_sequence → rivomi_set_agent_state |
| See who is waiting for approval | rivomi_list_agent_queue |
| Approve or reject them | rivomi_review_queue |
| Pull a LinkedIn post's commenters | rivomi_import_prospects with estimate_only: true first |
| Enrich, score and draft a list | rivomi_process_list |
| Follow a long job | rivomi_get_run |
| Find threads needing an answer | rivomi_list_conversations with needs_reply: true |
| Answer one | rivomi_get_conversation, then rivomi_reply |
Workspace
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_get_workspace | read | Plan, credits left, spend block, senders and their headroom today, sending consent | GET /v1/workspace |
rivomi_get_dashboard | read | The funnel over 7d, 30d, 3m or month: found, qualified, invited, messaged, replied, spend, best sources | GET /v1/dashboard |
Agents
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_list_agents | read | Every agent with state, totals and list_id | GET /v1/agents |
rivomi_get_agent | read | One agent in full: targeting, sequence, signals, sources, stats, recent runs | GET /v1/agents/{id} |
rivomi_list_agent_queue | read | awaiting_review (drafted, nothing sent) and enrollments (mid-sequence) | GET /v1/agents/{id}/queue |
rivomi_create_agent | write | A draft agent from a name, one source and optional targeting. Finds nobody until launched. | POST /v1/agents |
rivomi_update_agent_targeting | write | Who the agent looks for. Each array sent replaces the whole array. | PATCH /v1/agents/{id}/targeting |
rivomi_update_agent_sequence | write | Replace the steps, goal, tone, review mode, daily cap | PATCH /v1/agents/{id}/sequence |
rivomi_set_agent_state | write | live (launches and runs now, spends) or paused (holds everything) | POST /v1/agents/{id}/state |
rivomi_run_agent_now $ | write | Run a live agent's sources now instead of on the six-hourly schedule | POST /v1/agents/{id}/run |
rivomi_review_queue | send | Approve (queues real outreach) or reject (counter-example) waiting people | POST /v1/agents/{id}/queue/review |
Prospects
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_search_prospects | read | Filter by text, score band, signal, list, fit label, sequence stage, replied, date | GET /v1/prospects |
rivomi_get_prospect | read | One person: signals with what they wrote, score and reason, lists, drafts, sequences, messages | GET /v1/prospects/{id} |
rivomi_update_prospect | write | Set fit (good, not, none) and notes. not also suppresses them. | PATCH /v1/prospects/{id} |
rivomi_research_prospect $ | write | An AI research brief against what the workspace sells; replaces any earlier brief | POST /v1/prospects/{id}/research |
Lists and imports
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_list_lists | read | Every list with member count and owning agent | GET /v1/lists |
rivomi_get_list | read | One list's pipeline breakdown and approved-but-unqueued count | GET /v1/lists/{id} |
rivomi_create_list | write | An empty list. Its context sentence is read by the scorer and the drafter. | POST /v1/lists |
rivomi_update_list_members | write | Add and remove people. Membership only: nothing is queued or cancelled. | POST /v1/lists/{id}/members |
rivomi_process_list $ | write | Run enrich, score, draft over a list. Sends nothing. | POST /v1/lists/{id}/process |
rivomi_import_prospects $ | write | Pull a LinkedIn post's commenters (default) or likers into a list. estimate_only is free and needs only read. | POST /v1/imports |
Runs
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_list_runs | read | Long jobs, newest first, by kind, status, agent, date | GET /v1/runs |
rivomi_get_run | read | One run: finished, what it found, errors, itemised cost | GET /v1/runs/{id} |
rivomi_abort_run | write | Stop the rest of a run. Spent stays spent; found stays found. | POST /v1/runs/{id}/abort |
Outreach
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_list_enrollments | read | Everyone in a sequence, their state and next step due | GET /v1/enrollments |
rivomi_enroll_prospects | send | Queue named people or a whole list. Anyone without an approved draft is skipped. | POST /v1/enrollments |
rivomi_set_enrollment_state | send | paused, active, or stopped (irreversible, withdraws a pending invitation) | POST /v1/enrollments/{id}/state |
Inbox
| Tool | Scope | What it does | REST |
|---|---|---|---|
rivomi_list_conversations | read | Threads newest first. needs_reply returns unanswered replies plus accepted-but-never-messaged people. | GET /v1/inbox |
rivomi_get_conversation | read | The invitation note, then every message in order | GET /v1/inbox/{id} |
rivomi_reply | send | Send a LinkedIn message now. No draft step, no undo, no merge fields. | POST /v1/inbox/{id}/reply |
REST only
Two reads exist only on REST, where there is no tool budget: GET /v1/templates (saved outbound
copy) and GET /v1/senders (the long form of get_workspace.senders).
Call conventions
- Reads take
response_format:markdown(default, compact) orjson(exact). Writes answer in JSON. - Lists return
{ total, count, offset, has_more, next_offset, items }.limitdefaults to 25, caps at 200. - Long jobs return a
run_idimmediately. Pollrivomi_get_rununtilfinishedistrue; runs usually take minutes. - Results over 25,000 characters are cut and say so. Narrow the filter rather than paging everything.