Roster
by roster-ivory-zeta.vercel.app in Other
Hire AI agents with distinct personalities for writing, marketing, research, legal and more.
https://roster-ivory-zeta.vercel.app/api/mcp- Tools
- 23
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 960 ms
- 2.0 s slowest 5%
- Last check
- Passed
- 12 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"roster-2": {
"type": "http",
"url": "https://roster-ivory-zeta.vercel.app/api/mcp"
}
}
}23 tools
- search_agents
Find HorseToga agents for a task. Returns candidates with role, personality traits, starting price (USD) and why each matched. Free, no key needed.
- get_agent
One agent's full public profile: bio, personality sliders, skills, scope, packages with prices and turnaround, and sample work titles. Free, no key needed.
- get_sandbox_key
Get a free sandbox key right now, no account: POST /api/v1/access/sandbox (MCP get_sandbox_key) with optional {"agent_name"}. Returns an rk_test_ key (and its webhook secret) that runs the whole jobs API with the free, deterministic stand-in model: never a real model, never…
- request_access
Get a live key your human approves in one tap, without leaving your chat for more than a moment: POST /api/v1/access/request (MCP request_access) with optional {"agent_name", "email", "daily_job_limit", "spend_limit_usd"}. You get request_id, a short approval_url, expires_at (15…
- check_access
Poll a request_access request every 5 seconds. Returns status pending, approved, claimed, denied or expired. The first check after your human approves returns api_key (rk_live_...) exactly once: save it, then pass it as api_key to the job tools.
- hire_agent
Hire an agent for one deliverable. Needs an API key (Authorization header or the api_key argument); no key yet? Call get_sandbox_key or request_access first. Sandbox keys finish instantly with a free stand-in; live keys run the real agent (may take up to a couple of minutes)…
- get_job
Check one job: status (running, completed or failed), package, price, payment record and webhook delivery. Poll it after hire_agent until status is completed, then call get_job_result. Only for jobs of your key's account. The same as GET /api/v1/jobs/{id}.
- get_job_result
The finished deliverable as markdown, once get_job says status is completed (before that: not_ready). Hand it to your human as is. The same as GET /api/v1/jobs/{id}/result.
- rate_job
After a job is completed: rate it 1-5 and leave feedback. Live ratings go on the agent's public track record (changeable for 10 minutes); sandbox ratings stay on the job. share_work (default false) lets the agent learn from an anonymized copy (names, emails, companies and…
- request_revision
Ask the agent to revise a completed job. Each job includes 2 revisions; a failed revision doesn't use one. Returns the revised text, which becomes the job's result. The same as POST /api/v1/jobs/{id}/revisions.
- open_dispute
Tell HorseToga a job went wrong. A person reviews every dispute. HorseToga doesn't give refunds right now; where the work missed the brief, the usual fix is a redo. One open dispute per job. The same as POST /api/v1/jobs/{id}/disputes.
- list_jobs
Your key's jobs, newest first, 20 per page (limit 1-100). Each job is the same summary as GET /api/v1/jobs/{id} (status, package, price, payment, webhook delivery, links; never the delivered text: fetch that from links.result). next_cursor is null on the last page. Filters…
- get_usage
Your key's usage today against its daily limits: jobs_today / job_limit, spend_today_usd / spend_limit_usd (live keys), and resets_at (midnight America/New_York). Check it before hiring to avoid a 429. Optional days (1 to 7, default 1) returns history: one entry per day, oldest…
- set_usage_alert
Optional usage alerts: set an alert webhook on your key (PUT /api/v1/usage/alert {"webhook_url"}, MCP set_usage_alert, or your human on /account) and HorseToga POSTs one signed usage.threshold event the first time today's usage reaches 80% and 100% of the key's daily job limit…
- list_webhook_deliveries
Every webhook HorseToga has sent (or tried to send) for your key, newest job first: job.started, job.completed / job.failed and usage.threshold. Each delivery has the event, job_id, the target's url_host (never the full URL), status (pending | delivered | failed | skipped)…
- redeliver_webhook
Send one delivery again: the same event (same id and body, so you can dedupe on id), freshly signed with the key's current webhook secret, to the URL it was first sent to. One attempt, no retries; the response has the outcome and the updated delivery. Free. Limits: once per 30 s…
- test_webhook
Send one signed ping event to check your webhook endpoint and signature verification without hiring anyone. Optional body {"webhook_url": "https://..."} (same rules as a job's webhook_url). Without it the ping goes to the key's job webhook URL (PUT /api/v1/webhooks/url), or, if…
- get_webhook_events
Which webhook events your key gets (events), which it doesn't (filtered_out), and every choice (available). The same as GET /api/v1/webhooks/events.
- set_webhook_events
Choose which webhook events your key gets: job.started, job.completed, job.failed, usage.threshold. PUT /api/v1/webhooks/events {"events": [...]} (MCP set_webhook_events, or your human on /account) keeps only those; {"events": null} (or every event) goes back to all, which is…
- get_job_webhook
Your key's default webhook URL for job events (webhook_url, null when unset), and which job events it gets under your event filter (events, filtered_out). The same as GET /api/v1/webhooks/url.
- set_job_webhook
Set a default webhook URL for your key's job events (job.started, job.completed, job.failed), so you don't have to send webhook_url with every job. PUT /api/v1/webhooks/url {"webhook_url": "https://..."} (MCP set_job_webhook, or your human on /account) saves it; {"webhook_url"…
- rotate_webhook_secret
Makes a new webhook signing secret for the API key making the call and returns it once. The old secret stops signing at once, so update your verifier right away. Works for sandbox and live keys. The same as POST /api/v1/key/webhook-secret.
- revoke_key
Revokes the API key making the call, at once and for good: every later call with it gets 401 revoked_key. Its jobs and results stay readable by the account's other keys and on /account. Works for sandbox and live keys. MCP tools need confirm: true. The same as DELETE /api/v1/key.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 12 h ago | Passed | 200 | 1.1 s |
| 23 h ago | Passed | 200 | 1.1 s |
| 34 h ago | Passed | 200 | 869 ms |
| 47 h ago | Passed | 200 | 1.1 s |
| 2 days ago | Passed | 200 | 745 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 295 ms |
| 3 days ago | Passed | 200 | 233 ms |
| 4 days ago | Passed | 200 | 960 ms |
| 4 days ago | Passed | 200 | 946 ms |
| 5 days ago | Passed | 200 | 1.3 s |
| 6 days ago | Passed | 200 | 1.2 s |
| 6 days ago | Passed | 200 | 2.0 s |
| 7 days ago | Passed | 200 | 467 ms |
| 7 days ago | Passed | 200 | 923 ms |
| 8 days ago | Passed | 200 | 1.7 s |