MCP tool
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 job boards and aggregators; each row's board names its source) + freshness-floored. since filters on first_seen, our first observation of the req (not the employer's posting date); each row's source_posted_at is the date the source itself published, null when it gave none. Keyset-paginated via the opaque cursor (a prior call's next_cursor). Use who_is_hiring_for for the company-granular reverse view. function is a function name (a prior result's function_name, like 'Software & IT') or a function id (its function); anything else, like 'engineering', is rejected with an explicit error that lists the names, rather than an empty result -- pass plain language as q instead, which searches the posting's own title, expanded semantically to nearby titles, and reports each row's relevance (0-1). q is independent of function: pass both to search titles within one function. sort is 'relevance' (the default with a q) or 'recency'; omit both and the page keeps its stable default order. limit is bounded: an oversized page is rejected rather than truncated, so page through the full set with cursor instead of raising limit.
Connect
Paste this into your client's server config, replacing the placeholder with your
own key. Endpoint https://mcp.reqbeat.com/mcp,
authenticated with the X-API-Key request header.
{
"mcpServers": {
"reqbeat": {
"url": "https://mcp.reqbeat.com/mcp",
"headers": { "X-API-Key": "YOUR_REQBEAT_API_KEY" }
}
}
}
No key yet? Get an API key — free, no card.
Input schema
{
"properties": {
"function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Function"
},
"geo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Geo"
},
"since": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Since"
},
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Q"
},
"sort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Sort"
},
"source_type": {
"anyOf": [
{
"enum": [
"ats_tenant",
"board"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source Type"
},
"exclude_agencies": {
"default": false,
"title": "Exclude Agencies",
"type": "boolean"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cursor"
},
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
},
"idempotency_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Idempotency Key"
}
},
"title": "search_jobsArguments",
"type": "object"
}