Salvo for AI agents
Salvo applies to jobs for people. Any AI app that speaks MCP can plug into it: check what was sent, see interview requests, get a prep pack, and ask Salvo to apply to a job by its link.
Connect to the MCP server
Server address (Streamable HTTP):
https://sendsalvo.com/mcp
Sign-in is OAuth 2.1 with PKCE and dynamic client registration, so Claude, ChatGPT, Codex and other MCP apps sign in by themselves. The person enters their email, gets a six-digit code and presses Allow. A personal token from the Connect page also works as a Bearer header.
Registry name: com.sendsalvo/salvo in the official MCP Registry.
claude mcp add --transport http salvo https://sendsalvo.com/mcp
What the tools do
get_status: today's applications, employer confirmations, interview requests, which job boards are running, and jobs the person asked for.list_applicationsandget_application: every application Salvo sent, with the answers it gave and the tailored resume.list_interviewsandget_interview_prep: interview requests from employers and a prep pack for each.apply_to_job: give a Greenhouse, Lever, Ashby or Workable posting link. Salvo checks the job is open, in a country the person can work in and fits their title rules, then puts it first in their queue.pause_search,resume_searchandupdate_criteria: steer the search.get_referral_link: the person's invite link.
Nothing here deletes data. Every tool works only on the signed-in person's own account.
Limits
- 300 MCP calls per person every 10 minutes.
- 30 jobs a day per person through
apply_to_job. Salvo's own search keeps applying on top of that. - 20 search pauses or criteria changes a day per person.
- A call over a limit gets HTTP 429. Wait and try again.
One key for many people (partner API)
For outplacement firms, career sites and agent companies. One partner key acts for every person who accepted your invite. Ask for a key at sendsalvo.com/outplacement.
How a person joins
- You create a seat with their email. You get an invite link.
- You send them the link. They sign in to Salvo with that email and press Allow. New people finish the normal Salvo signup first, where they give their own permission for Salvo to apply for them.
- The seat turns ACTIVE. Either side can end it at any time.
Calls
Send Authorization: Bearer sppk_... to https://sendsalvo.com/api/agents/v1.
GET /me your partner account, seat counts, limits
POST /seats {"email","name","external_ref"} makes an invite
GET /seats?stats=1 your seats, with counts for active ones
GET /seats/{seat_id} one seat: applications sent, verified,
interview requests, jobs applied to
POST /seats/{seat_id}/tools/{tool} {"args":{...}} runs an MCP tool for that person
DELETE /seats/{seat_id} end the seat
curl -X POST https://sendsalvo.com/api/agents/v1/seats/SEAT_ID/tools/apply_to_job \
-H "Authorization: Bearer sppk_..." -H "content-type: application/json" \
-d '{"args":{"url":"https://job-boards.greenhouse.io/acme/jobs/123"}}'
Tools a partner can run: get_status, list_applications, get_application, list_interviews, get_interview_prep, apply_to_job, pause_search, resume_search, update_criteria.
Over MCP, use the same server address with your partner key and the header x-salvo-seat: SEAT_ID.
Rules
- You see and act only for your own accepted seats. Any other seat answers 403.
- Tools run with the same checks and daily caps as the person's own connection.
- 1,200 calls per partner every 10 minutes, 200 new seats a day, 120 tool calls per seat every 10 minutes.
- Keys are stored as hashes and shown once.