Skip to main content
Glama

Start or resume a research job

start_research_job
Idempotent

Paid. Starts a research job, or resumes the one with this request_id: calling again with the same request_id never pays twice (each paid call is saved with its key before it is sent, so a lost answer finds the same provider run), and without workspace it finds the job in whichever of your workspaces it started. Within max_cost_usd (the user's yes for this job; the server caps it, $0.50 by default) the steps run without asking again; a higher max_cost_usd on a later call raises the budget. Each call runs about 40 seconds of steps. kind company_people: who LinkedIn lists with a current role at a company. Each person is what their LinkedIn says, not confirmed employment, and never a complete list of who works there: say so. Read next_action.code: call_again (call again now), wait_until (after next_action.at), give_company_id (the name matched several companies or none exactly: show the candidates, and start a new job with the user's pick as company_id and a new request_id), raise_budget, none (finished, or blocked: see words). Cost: settled, in flight and unknown are kept apart; unknown is not zero.

Input Schema

NameRequiredDescriptionDefault
kindYes
inputYes
workspaceNoWorkspace name or id (optional). Default: your current workspace, the one the web app shows. See list_workspaces.
request_idYesYour own id for this request (8-64 letters, digits, - or _). The same id again resumes it.
max_resultsNoPeople to ask for (default 25)
max_cost_usdYesThe most this job may cost, in US dollars (see estimate_research; at most the server's cap, $0.50 by default)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Adds substantial behavior beyond annotations: it is paid, server-capped at $0.50 default, idempotent because each paid call is persisted by key before sending, runs ~40s of steps, budget can be raised on later calls, and result data carries integrity caveats ('what LinkedIn says, not confirmed employment... never a complete list'). The 'Paid' framing is consistent with readOnlyHint=false and the 'never pays twice' with idempotentHint=true.

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?

Front-loaded with 'Paid. Starts a research job...' and every detail is substantive. However, sentences are long and parenthetical-heavy, and the trailing cost sentence ('settled, in flight and unknown are kept apart') reads as grafted-on, hurting scannability.

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

Completeness5/5

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

No output schema exists, so the description carries the burden — and it does: it documents the next_action.code state machine, cost-bucket semantics, budget behavior, result caveats, and the give_company_id recovery path. Complete for a complex, stateful, paid tool.

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?

Adds meaning beyond the 67%-coverage schema: max_cost_usd is the user's per-job authorization and raising it later lifts the budget; without workspace the job is located in whichever workspace it started; kind=company_people is explained including fidelity caveats. These are genuine semantics the schema does not provide.

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?

States a specific verb+resource ('Starts a research job, or resumes the one with this request_id') and clarifies it is the paid, stateful entry point, distinct from siblings like get_research_job and cancel_research_job. An agent can identify it without opening the schema.

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?

Gives explicit when-to-call guidance: reuse the same request_id to resume without paying twice, and call again per next_action.code (call_again, wait_until, give_company_id, raise_budget). It doesn't explicitly name sibling alternatives (e.g. get_research_job for status), so just short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources