# RVC MCP

Live product: https://app.rvc.global
Human setup: https://app.rvc.global/for-ai
Product brief: https://app.rvc.global/llms.txt

## Endpoint

- URL: `https://app.rvc.global/mcp`
- Protocol: MCP Streamable HTTP
- Auth: none
- Health: `https://app.rvc.global/mcp/health`

This is a read-only teaser search. It is not a public REST/GraphQL/OpenAPI catalog and not a scrape API.

```json
{
  "mcpServers": {
    "rvc-job-search": {
      "url": "https://app.rvc.global/mcp"
    }
  }
}
```

## Tools

### `rvc_search_jobs`

Call once after the current conversation has a usable role and job geography (a target country or Worldwide Remote). Do not use Web Search. Generic family labels alone (developer, engineer, designer, manager) are not a usable role.

**Input (strict JSON)**

| Field                                                | Required      | Notes                                                                                                                                                                  |
| ---------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`                                              | yes           | Specific role or specialty, 2–500 chars                                                                                                                                |
| `conversation_language_code`                         | yes           | ISO language of the user                                                                                                                                               |
| `target_country_codes`                               | yes           | ISO-2 job countries. `[]` only with Worldwide Remote. Never candidate residence                                                                                        |
| `work_arrangements`                                  | for worldwide | `FULLY_REMOTE` with empty countries means Worldwide Remote. A country search may omit this; RVC then includes `ON_SITE`, `HYBRID`, `REMOTE_IN_COUNTRY`, `FULLY_REMOTE` |
| `seniority_levels`                                   | no            | `JUNIOR`, `MIDDLE`, `SENIOR` only                                                                                                                                      |
| `minimum_salary`, `salary_currency`, `salary_period` | together      | Period `HOUR`, `MONTH`, `YEAR`                                                                                                                                         |
| `include_jobs_without_salary`                        | no            |                                                                                                                                                                        |
| `relocation_supported`                               | no            |                                                                                                                                                                        |
| `posted_after`                                       | no            | `YYYY-MM-DD`                                                                                                                                                           |
| `limit`                                              | no            | Default 7, max 10                                                                                                                                                      |
| `allow_english`                                      | no            |                                                                                                                                                                        |
| `additional_allowed_language_codes`                  | no            | max 10                                                                                                                                                                 |

**Output**

- `status`: `results` \| `clarification_required` \| `error`
- `results[]`: `masked_id`, `title`, `company`, `attributed_url`, arrangement, salary display, skills
- `clarification_question` when a concrete role is missing
- `more_results_url` for the public board
- Never contacts, job body, employer/apply URLs, or catalog-size dumps

Cite only `attributed_url`. Render returned Markdown mechanically.

### `get_job`

Input: `{ "masked_id": "<id from the current search>" }`.
Output: the same teaser card as a search hit, including `attributed_url`. Do not call it for an ordinary result list.

## Product rule

Matches, apply, and contacts require a logged-in candidate with that person's CV. Paid RVC Pro ($5/month) is required to operate the product as an agent. Public HTML pages stay crawlable for citation; walking them to build a competing index is not an allowed integration.
