Skip to content
Reqbeat logo

Reqbeat MCP server

Which MCP servers are Reqbeat's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-25

← Back to Reqbeat

Whose server it is
  • Registry namecom.reqbeat/hiring-signalsverified in the MCP registry

The registry name sits under reqbeat.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-25
  • Stateanswerschecked 2026-10-25
  • Tools15
  • Server calls itselfhiring-signals
  • Server version1.1.4
  • Protocol version2025-06-18

On 2026-10-25 the server answered initialize and tools/list without a sign-in. First answer in 158 ms.

Should an agent connect itNot proven either way yet
  • Its tools do every use case we checked: Get webhook alerts when watched companies post new job requisitions; Give AI agents a live list of who is hiring.
  • Checked on 3 of the 7 days it takes to judge reliability.

Once connected

  • For "Get webhook alerts when watched companies post new job requisitions", the likely first call is register_webhook.
  • cancel_watch, write_outcome change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 14 of 15 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 3, the first on 2026-10-25
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 3 so far
  • What an agent can do with it2 of 2 use cases
  • Answeredmeasuring3 of the 7 daily checks it takes to print a share
  • Median first answer168 ms
  • Space in an agent's context≈ 5,775 tokensthe definitions of all its tools (15), which an agent carries on every turn
  • Tool definitionsB · 84 of 100
  • Typed results0 of 15 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 14 of 15

What an agent can do with it

  • can do · Get webhook alerts when watched companies post new job requisitions
  • not sure · Enrich account rows with fresh hiring signals inside Clay
  • can do · Give AI agents a live list of who is hiring

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that change data, on a server that answers without a sign-in: cancel_watch, write_outcome

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers15 tools · read 2026-10-25
  • is_hiring

    WHEN an agent already holds a company and needs to qualify it -- the cheap gate before spending a richer call. LinkedIn-excluded (ATS tenants plus public job boards and aggregators) and freshness-floored. Takes the integer `company_id`…

  • get_open_reqs

    The company's current active reqs, deduped across boards -- LinkedIn-excluded: ATS tenants plus public job boards and aggregators; each row's `boards` names its source. Freshness-floored. Each row's `first_seen` is our first observation…

  • hiring_pulse

    One number set for one company: how many reqs it opened in the last 30 days, a `velocity` ratio of that against the 30 days before it, a `direction` of up / flat / down between the two, a surge flag, and `momentum` -- postings published…

  • who_is_hiring_for

    WHEN an agent needs to FIND the companies worth working -- the sourcing step, before it knows which companies exist. Reverse who's-hiring-for {title, geo} search: companies with active reqs matching `q`/`geo`/`since`, deduped by company…

  • search_jobs

    Flat, role-granular job search -- the individual open roles across companies matching `function` / `geo` (country) / `since`, one row per logical req (each with its own `company_id` + `req_key`), LinkedIn-excluded (ATS tenants plus public…

  • get_role

    One open role's detail, addressed by the `company_id` + `req_key` pair every `search_jobs` row already carries -- the follow-up call for a role you hold an identifier for, instead of re-pulling the whole company with `get_open_reqs`…

  • find_qualified_reqs

    WHEN an agent already knows its ideal customer profile and wants the matching open roles as rows it can act on: several countries, an industry, a headcount band and title keywords in ONE call, instead of a search followed by a lookup per…

  • pre_action_brief

    Everything an agent needs before acting on one company, in one bounded round-trip instead of five: the hiring pulse, its top open reqs deduped across boards, first-hire-by-function events, hardest-to-fill (reposted) reqs and ATS-vendor…

  • get_changes

    The change feed, not a search: ledger events -- a req opened, re-observed, reposted or closed -- with `event_seq > since`, ascending, plus `next_cursor`. Replay with `next_cursor` instead of polling or re-searching; an empty page bills…

  • find_company

    WHEN you hold a company's website or name but not the `company_id` every company-scoped tool takes (`is_hiring`, `get_open_reqs`, `hiring_pulse`, `pre_action_brief`, `watch_company`). Pass exactly one of `domain` or `name`; both or…

  • register_webhook

    Register the delivery target a watch fires to, and get back the `webhook_endpoint_id` `watch_company` needs -- call this first if you do not already hold one. Idempotent: registering the same `url` twice returns the same id, so retrying…

  • watch_company

    Subscribe to a company's hiring events on a registered webhook -- `webhook_endpoint_id` must belong to the same customer as the authenticated key. Meters one `watch` unit. `event_types` names which events fire it, at least one of…

  • list_watches

    WHEN you need to see what you are subscribed to -- before adding a watch, or to find the `id` `cancel_watch` takes. Returns your live watches newest first, cancelled ones excluded: {} -> {"watches": [{"id": ..., "company_id"…

  • cancel_watch

    WHEN a watch should stop firing. Takes the `id` `watch_company` returned (or `list_watches` lists): {"watch_id": 42} -> {"id": 42, "canceled": true}. Idempotent -- cancelling a watch you already cancelled succeeds again. An id that is not…

  • write_outcome

    WHEN a company you reached through a signal converts -- a reply, a meeting, a closed deal -- report it back. Takes the `company_id`, a short `outcome` label of your choosing (e.g. "meeting_booked"), the `observed_at` time it happened and…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "hiring-signals": {
      "type": "http",
      "url": "https://mcp.reqbeat.com/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http reqbeat https://mcp.reqbeat.com/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.reqbeat.com/mcp as a custom connector in the settings.

OpenAPI spec

36 paths, read 2026-10-25. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.