# VeritaHire live jobs

> Live US jobs from employers' own career sites, still-open checks, competitive hiring reports.

- name: com.veritahire/jobs
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.veritahire%2Fjobs
- tools: https://api.protogrid.dev/v1/servers/com.veritahire%2Fjobs/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "jobs": {
      "type": "http",
      "url": "https://veritahire.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% +updated-15d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 7 tools declare all four hints; missing: search_live_jobs (idempotentHint); request_full_report (idempotentHint); is_job_still_open (idempotentHint); …
- pass `tools.token_cost`: about 1,692 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 22 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,692 tokens to load them all
- tool set hash: fc79d22ba84c7e3a53c565b2a00b26dd
- tools last changed: 2026-10-13T00:12:33.517Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.veritahire/jobs.svg)](https://protogrid.dev/servers/com.veritahire/jobs)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-13 `is_job_still_open` changed (annotations)
- 2026-10-13 `request_full_report` changed (annotations)
- 2026-10-13 `benchmark_role` changed (annotations)
- 2026-10-13 `save_search` changed (annotations)
- 2026-10-13 `get_job` changed (annotations)
- 2026-10-13 `search_live_jobs` changed (annotations)
- 2026-10-12 `request_full_report` changed (title, description, inputSchema, annotations) **meaning changed**
  - before: Emails the full Competitive Hiring Report for a posting to the person who will use it (their work email). Their click creates a free VeritaHire account and opens the report. Nothing more is sent unless they click.
  - after: Returns a link for the person who will use the full Competitive Hiring Report for a posting (first report free). They open it on veritahire.com with the posting already filled in, enter their own work email, and get the report. This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
- 2026-10-12 `save_search` changed (title, description, inputSchema, annotations) **meaning changed**
  - before: Sends one email to the person's own address. Their click starts a daily email of new jobs matching this search (still live on employers' own careers sites) and creates their free VeritaHire account if needed. Nothing more is sent unless they click.
  - after: Returns a link for the person. They open it on veritahire.com, enter their own email address and confirm; after that they get a daily email of new jobs matching this search (still live on employers' own careers sites). This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
- 2026-10-10 `search_live_jobs` changed (description, inputSchema)
  - before: Search US jobs that are live right now on employers' own careers sites (re-read on a schedule, retired within about 36 hours of leaving). Give what (title or keywords) and where (City, ST or ZIP), or remote_only. Returns up to 25 jobs with posted pay, what each posting asks for (education, licences, years), distance, when it was last confirmed, the employer's own apply link, and a job_id for the whole posting. Only the filters given are applied; the "asks" are listed, never used to drop a job.
  - after: Search US jobs that are live right now on employers' own careers sites (re-read on a schedule, retired within about 36 hours of leaving). Give what (title or keywords) and where (City, ST or ZIP), or remote_only. Returns up to 25 jobs with posted pay, what each posting asks for (education, licences, years), distance, when it was last confirmed, the employer's industry and size, the employer's own apply link, and a job_id for the whole posting. Only the filters given are applied; the "asks" are listed, never used to drop a job. To keep a daily feed for one person (e.g. from their resume), run the same search each day with posted_within_days=1, title_exclude for titles they do not want, and page through next_page.
- 2026-10-07 `get_job` changed (description)
  - before: The whole posting text from the employer, its requirement facts (education, licences, years required and preferred, skills), pay, benefits, whether it is still open, and the apply link.
  - after: The whole posting text from the employer, its requirement facts (education, licences, years required and preferred, skills), pay, any sign-on bonus it offers (the amount, quoted from the posting), benefits, whether it is still open, and the apply link.

Full history: https://api.protogrid.dev/v1/servers/com.veritahire%2Fjobs/changes

## Remotes

- https://veritahire.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9868421)

## Packages

_none_

## Tools (7)

- `benchmark_role`: Competitive Hiring Report, free summary, for the employer of one US healthcare, finance, IT, engineering, science, HR, legal or marketing job posting (nurses, therapists, pharmacists, accountants, bankers, software engineers, data roles, engineers, scientists, attorneys, recruiters, marketers) that is not filling: the posted pay range in that market (salary benchmarking) and how many employers are hiring it. The full report, first one free (request_full_report), names each competitor with the pay it posts and how fast it closes the role (posting up to posting down), and shows where this posting sits and how hard the role is to fill there. Measured from employers' own careers sites. Identify the posting by job_url (the careers-site link, or a veritahire.com/j/ link), job_id, or employer + title (+ city, state). A role not yet benchmarked returns status "building" with retry_after_seconds, the time until it is ready.
- `get_job`: The whole posting text from the employer, its requirement facts (education, licences, years required and preferred, skills), pay, any sign-on bonus it offers (the amount, quoted from the posting), benefits, whether it is still open, and the apply link.
- `is_job_still_open`: Checks whether a job posting is still on the employer's own careers site (VeritaHire re-reads employer sites and marks a posting closed within about 36 hours of it leaving). Returns open, closed or unknown, with the last time it was confirmed. Works for postings found anywhere, given the employer's careers-site link.
- `report_problem`: Records a problem with VeritaHire data: a job listed as open that the employer's site shows closed (job_closed), wrong place, wrong pay, wrong employer name, a search that returned irrelevant results or missed jobs it should have found, or duplicates. job_id identifies one job; search holds the search arguments for a results problem. Reports are about data, not people, and a person at VeritaHire reads every one.
- `request_full_report`: Returns a link for the person who will use the full Competitive Hiring Report for a posting (first report free). They open it on veritahire.com with the posting already filled in, enter their own work email, and get the report. This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
- `save_search`: Returns a link for the person. They open it on veritahire.com, enter their own email address and confirm; after that they get a daily email of new jobs matching this search (still live on employers' own careers sites). This tool sends no email and takes no email address: VeritaHire only emails the address the person types there.
- `search_live_jobs`: Search US jobs that are live right now on employers' own careers sites (re-read on a schedule, retired within about 36 hours of leaving). Give what (title or keywords) and where (City, ST or ZIP), or remote_only. Returns up to 25 jobs with posted pay, what each posting asks for (education, licences, years), distance, when it was last confirmed, the employer's industry and size, the employer's own apply link, and a job_id for the whole posting. Only the filters given are applied; the "asks" are listed, never used to drop a job. To keep a daily feed for one person (e.g. from their resume), run the same search each day with posted_within_days=1, title_exclude for titles they do not want, and page through next_page.
