
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
- 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.
- 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.
- 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.
- 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 →
is_hiringWHEN 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_reqsThe 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_pulseOne 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_forWHEN 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_jobsFlat, 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_roleOne 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_reqsWHEN 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_briefEverything 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_changesThe 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_companyWHEN 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_webhookRegister 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_companySubscribe 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_watchesWHEN 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_watchWHEN 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_outcomeWHEN 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/mcpclaude.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.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.