Skip to main content
Glama

Reqbeat Hiring Signals

Server Details

Find companies hiring for a role and geo, qualify them, and watch them for changes.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.6/5 across 10 of 10 tools scored. Lowest: 1.3/5.

Server CoherenceA
Disambiguation5/5

Each tool has a distinctly defined purpose with no overlapping functionality. For instance, 'is_hiring' is a cheap qualifier, while 'get_open_reqs' provides detailed requisitions, and 'hiring_pulse' offers momentum data. All tools are easily distinguishable.

Naming Consistency4/5

Most tool names follow a verb_noun pattern (e.g., 'register_webhook', 'search_jobs'), but some deviate: 'pre_action_brief' lacks a verb, 'hiring_pulse' is noun-noun, and 'who_is_hiring_for' is a question. Overall consistent snake_case, but the pattern is not uniform.

Tool Count5/5

With 10 tools, the server covers all essential operations for a hiring signals API (company discovery, job search, webhook subscription, outcome logging) without being excessive or insufficient.

Completeness4/5

The tool set provides a comprehensive workflow: finding companies ('who_is_hiring_for'), qualifying them ('is_hiring'), exploring jobs ('search_jobs', 'get_open_reqs'), monitoring changes ('get_changes', 'watch_company'), and writing outcomes ('write_outcome'). Minor gaps like a dedicated company detail tool are noted but not critical.

Available Tools

10 tools
get_changesAInspect

The since=cursor diff feed -- ledger events with event_seq > since, plus a next_cursor. Meters one change unit per event returned, independent of poll count. A free-tier caller is freshness-floored, the same as every other free-tier read. limit is bounded: an oversized page is rejected rather than truncated, so replay with next_cursor instead of raising limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceYes
company_idNo
event_typeNo
plane_api_keyNo
idempotency_keyNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behaviors: cursor pagination, metering, free-tier freshness floors, and that oversized limits are rejected not truncated. Since no annotations exist, this adds critical transparency beyond schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise (4 sentences), front-loaded with core purpose, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description lacks details on return format beyond next_cursor, and omits explanations for 4 of 6 parameters. Incomplete for a complex tool with many optional params.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only explains 'since' and 'limit' parameters. With schema description coverage at 0%, the description should cover all 6 parameters but ignores company_id, event_type, plane_api_key, and idempotency_key.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it's a diff feed for ledger events with cursor-based pagination, using specific verb 'get changes' and resource 'ledger events'. It distinguishes from siblings like search_jobs or get_open_reqs by focusing on event changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context on pagination and rate limits but does not explicitly state when to use this tool vs alternatives like register_webhook or search_jobs. No when-not conditions or sibling comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_open_reqsAInspect

The company's current active reqs, deduped across boards -- ATS/board-only, freshness-floored. function must be a function id (as seen in prior results); a plain role name like 'engineering' is rejected with an explicit error rather than an empty result. limit is bounded: an oversized page is rejected rather than truncated.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
countryNo
functionNo
company_idYes
plane_api_keyNo
idempotency_keyNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals key behaviors: deduplication across boards, data freshness (freshness-floored), and specific error handling for function and limit parameters. This goes beyond a basic 'get reqs' and is valuable given no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and front-loaded with the core purpose. The first sentence is dense but informative. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 6 parameters with 0% schema descriptions, the description covers the main behavior and two key parameters. However, it omits details on country, plane_api_key, and idempotency_key, and does not describe return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful detail for two parameters (function and limit) that are not documented in the schema (0% coverage). It explains type constraints and error behavior, but covers only 2 of 6 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'current active reqs' for a company, which is specific and distinguishes it from siblings that likely handle changes, pulses, or job searches. However, it does not explicitly contrast with siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives like get_changes or search_jobs. It only describes parameter constraints, not usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hiring_pulseCInspect

A company's hiring velocity/direction/momentum in one call -- dual-metered via max_age (seconds). Cold returns {job_id, status: "crawling"} instead of a synchronous body, same as the REST route.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_ageNo
company_idYes
plane_api_keyNo
idempotency_keyNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions the cold behavior returning a crawling status, which provides some insight into asynchronous response handling. However, it does not disclose side effects, authentication requirements, rate limiting, or error conditions. With no annotations, more detail would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively short (two sentences) but uses jargon like 'dual-metered' and 'cold' without explanation for newcomers. It could be more straightforward while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 4 parameters, the description is insufficient. It explains the cold response and max_age but omits the full response shape, error handling, and parameter details, making it incomplete for reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It only elaborates on max_age and its effect on response behavior. company_id, plane_api_key, and idempotency_key are not mentioned, leaving their semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides hiring velocity/direction/momentum and mentions dual-metered behavior with max_age. However, it does not differentiate from sibling tools like is_hiring or get_open_reqs, which reduces clarity on when to use this specific tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus alternatives. The description lacks context such as prerequisites, typical use cases, or scenarios where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

is_hiringAInspect

WHEN an agent already holds a company and needs to qualify it -- the cheap gate before spending a richer call. ATS/board-only and freshness-floored. Takes the integer company_id from an earlier result, not a company name or domain. company_id=1234 -> is_hiring true, open_req_count 7, coverage_status "ats_direct_hit". company_id=5678 -> is_hiring false with coverage_status "no_ats_signal" -- that company has no ATS coverage yet, which is not evidence it is quiet, so do not score it as a negative. No key yet? Pass plane_api_key as an empty string and the call answers with a signup link instead of an auth error. To find companies in the first place, use who_is_hiring_for.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYes
plane_api_keyNo
idempotency_keyNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description fully discloses behavior: checks ATS/board only, freshness-floored, returns signup link without key, and explains coverage status meanings. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Informative but slightly verbose. Front-loads purpose and each sentence adds value. Could be more succinct but still well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers inputs, behavior, edge cases, and alternatives. Missing explicit return structure, but examples and warnings compensate well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema for 'company_id' (must be integer from earlier result, not name/domain) and 'plane_api_key' (empty string leads to signup link). Does not explain 'idempotency_key', but overall helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: qualifying a company as a cheap gate before a richer call, checking ATS/board and freshness. It provides examples and distinguishes it from sibling tools like 'who_is_hiring_for'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (when agent already holds a company) and when not to (use 'who_is_hiring_for' to find companies first). Also warns about interpreting 'no_ats_signal' and explains API key handling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pre_action_briefDInspect

The motion atoms + history primitives pre-joined into one bounded, compact call -- dual-metered via max_age. Cold returns {job_id, status: "crawling"}, same as the REST route.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_ageNo
company_idYes
plane_api_keyNo
idempotency_keyNo
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must provide behavioral details. It only hints at a 'cold' state and dual-metering via max_age without explanation. Missing side effects, permissions, or life cycle details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but not well-structured. It uses technical jargon without definition and does not front-load a clear purpose. Every sentence is cryptic rather than informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, no annotations, and 0% param description coverage, the description fails to provide basic context. It does not explain inputs, outputs (except cold start), or behavior, making it nearly useless.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description only mentions max_age in passing without explaining its purpose or effect. The other three parameters (company_id, plane_api_key, idempotency_key) are not mentioned at all. Schema has 0% description coverage, so description adds little to no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses unclear jargon ('motion atoms', 'history primitives') and does not explicitly state what the tool does. The verb is implied but not clear. It mentions returning a job_id and status, but the overall purpose is vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives. The description does not mention use cases, prerequisites, or contrast with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_webhookAInspect

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 is safe and never leaves you with two endpoints. secret is optional; supply one to verify the X-Plane-Signature on delivered payloads, omit it and one is generated (it is never returned). Registration itself is free -- the watch_company call that follows is what bills.

Plane session only: `webhook_endpoints` is plane-owned and this tool reads
no corpus table.
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
secretNo
plane_api_keyNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully covers behavioral traits: idempotency (retry safe), secret handling (optional, generated if omitted, never returned), billing (free registration), session scope (plane-owned, no corpus table read), and return value (webhook_endpoint_id). No contradictions present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single coherent paragraph with valuable information. Each sentence contributes to understanding, though it could be slightly more concise. It is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, workflow relative to siblings, idempotency, secret behavior, billing, and session scope. The only missing piece is the plane_api_key parameter. No output schema, but the returned value is mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%. The description adds meaning for url (idempotent on same url) and secret (optional, for signature verification, auto-generated if omitted, never returned). However, plane_api_key is not mentioned at all, so not all parameters are sufficiently explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: registering a delivery target (webhook) for a watch and returning a webhook_endpoint_id needed by watch_company. It uses specific verbs (register) and resource (delivery target), and distinguishes from sibling tool watch_company by noting this is a prerequisite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'call this first if you do not already hold one' and explains that registration is free while the subsequent watch_company call bills. This provides context for when to use it relative to siblings, though it does not mention when not to use or alternatives for other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jobsAInspect

Flat, role-granular job search -- the individual open roles across companies matching role (function) / geo (country) / since, one row per logical req (each with its own company_id + req_key), ATS-only + freshness-floored. Keyset-paginated via the opaque cursor (a prior call's next_cursor). Use who_is_hiring_for for the company-granular reverse view. role must be a function id (as seen in prior results); a plain role name like 'engineering' is rejected with an explicit error rather than an empty result. limit is bounded: an oversized page is rejected rather than truncated, so page through the full set with cursor instead of raising limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
roleNo
limitNo
sinceNo
cursorNo
plane_api_keyNo
idempotency_keyNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses important behaviors: ATS-only filtering, freshness-floor, keyset pagination, explicit error for invalid role, and limit rejection instead of truncation. However, it does not explain the `plane_api_key` and `idempotency_key` parameters or explicitly state that the tool is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense with a clear structure: overview, pagination details, alternative tool, and parameter constraints. It could be slightly more concise, but every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no annotations, the description covers the main use cases, pagination, and parameter constraints. It is missing explanations for two parameters and the return structure, but for a search tool, it provides sufficient context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains 5 of 7 parameters (geo, role, since, cursor, limit) with meaningful constraints (e.g., role must be a function id, limit is bounded). The `plane_api_key` and `idempotency_key` parameters are not described, leaving a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description precisely states the tool performs a 'Flat, role-granular job search' for individual open roles matching specific filters, and explicitly distinguishes it from the sibling tool `who_is_hiring_for` which is company-granular. The verb 'search' and resource 'jobs' are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use this tool for role-granular search and advises using `who_is_hiring_for` for the company-granular reverse view. It also provides constraints on the `role` parameter (must be a function id) and pagination guidance (use `cursor` instead of raising `limit`).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_companyCInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYes
event_typesYes
plane_api_keyNo
idempotency_keyNo
webhook_endpoint_idYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It mentions subscription and metering but omits side effects, error handling, idempotency behavior, rate limits, or output format. The idempotency_key parameter is in the schema but not explained in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loads the core purpose. The note about the webhook is helpful. However, it could be slightly more structured by separating the main action from preconditions. Overall, it is efficient with no redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no annotations, the description is insufficient. It lacks details on return values, error scenarios, idempotency, and how the optional parameters are used. The agent cannot fully understand the tool's behavior from this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the burden is on the description. It clarifies 'webhook_endpoint_id' ownership and implies 'event_types' relate to hiring, but it does not explain 'company_id', 'plane_api_key', or 'idempotency_key'. This leaves most parameters underspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the main action: subscribing to a company's hiring events via a registered webhook. It also mentions constraints and metering. However, it does not explicitly differentiate from sibling tools like 'register_webhook' or 'who_is_hiring_for', leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a precondition (webhook endpoint ownership) but offers no guidance on when to use this tool over alternatives. It does not mention typical use cases, prerequisites (e.g., registering a webhook first), or what to do after success. The agent is left to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

who_is_hiring_forAInspect

WHEN an agent needs to FIND the companies worth working -- the sourcing step, before it knows which companies exist. Reverse who's-hiring-for {role, geo} search: companies with active reqs matching role/geo/since, deduped by company, keyset-paginated via cursor. role is free text matched against the posting title, not an id. geo is resolved to a stored country before matching; an unresolvable one is an explicit error, never a quietly partial page. limit is bounded -- page through the full set with cursor instead of raising it. Billed per company returned (~$0.10 each) -- an empty result bills nothing. role="backend engineer", geo="USA" -> the companies with matching active reqs, each with its pulse and its matched reqs. geo="Atlantis" -> an explicit unresolvable-country error rather than an empty page. No key yet? On the hosted HTTP endpoint the first calls are free: pass plane_api_key as an empty string and the search runs on a shared demo credential -- a smaller page, billed to nobody -- until a per-IP limit is reached, after which the answer becomes a signup link whose minted key finishes this exact search. On any other transport a blank key answers with that signup link straight away. Already holding a company_id and only need a yes/no? Use is_hiring.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
roleNo
limitNo
sinceNo
cursorNo
plane_api_keyNo
idempotency_keyNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses billing, empty result billing, error behavior for unresolvable geo, pagination constraints, and transport-dependent API key handling. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, covering purpose, behavior, parameters, billing, examples, and alternatives. Slightly long but every sentence adds value. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers most aspects: purpose, usage, parameters, billing, errors, alternatives. Lacks explicit output structure, but mentions 'pulse and matched reqs'. Given no output schema, it's nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% coverage, but the description explains role is free text, geo resolves to country and errors on unresolvable, limit is bounded, cursor for pagination, plane_api_key behavior, and since is a date-time. Adds substantial meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds companies hiring for a role/geo, distinguishing it as the sourcing step and differentiating from is_hiring. It uses specific verbs and resources (FIND, companies, active reqs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions when to use (sourcing step) and when not (if you have a company_id, use is_hiring). Also explains billing and API key free tier behavior, providing clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_outcomeBInspect

Write back a conversion outcome for company_id -- the label-flywheel substrate. Appends to outcome_labels scoped to the caller's own customer.

Plane session only: `outcome_labels` is plane-owned (Phase 1 dropped its
one foreign key into the corpus) and this tool reads no corpus table.
ParametersJSON Schema
NameRequiredDescriptionDefault
outcomeYes
req_keyNo
company_idYes
observed_atYes
plane_api_keyNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides good behavioral context: it appends to outcome_labels, is scoped to the caller's customer, requires a plane session, and reads no corpus table. Missing details on idempotency, errors, or side effects, but still informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short with two paragraphs, front-loading the purpose. The second paragraph adds relevant context about plane session restrictions. Somewhat cryptic references ('Phase 1 dropped its one foreign key') may distract, but overall concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description does not explain return values, error conditions, or idempotency. For a tool with 5 parameters and side effects, an agent lacks critical execution context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only mentions company_id ('for company_id') without explaining outcome, observed_at, req_key, or plane_api_key. Little value added beyond the schema's structural info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Write back a conversion outcome'), the resource ('company_id'), and the effect ('Appends to outcome_labels'). It is specific and distinct from siblings, which are about hiring and changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The only hint is 'Plane session only', but no mention of conditions for not using it or comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources