Get job details
get_jobsShow everything Joeb knows about up to 10 jobs, named by id or by posting link, one block per job.
Takes 1 to 10 entries. Name each job by its id as a row shows it (its first 12 characters), by any unique prefix of 8 or more characters, by its full id, or by its posting link (starting http:// or https://), such as one the user pastes. Joeb reads Greenhouse, Ashby and Lever posting pages; a company's own careers page can't be mapped to its posting.
Returns a block per job, in the order given, a blank line between:
[{id}] {title} — {company}
Place: {place} · {remote|on-site} Level: {seniority} · Salary: {salary} · Posted: {date} ({age}) · Source: {source} URL: {url} Your state: {liked|dismissed} · applied {date} · company blocked Removed from the employer's site on {date}; don't send the user to apply. Summary: {summary} Company: {about the company} Day to day:
{item} Requirements:
{item} Posting: {the raw posting text, only with include_posting=true} A fact or line the job lacks is left out, and dates are UTC. The bracketed id is the job's first 12 characters, which update_jobs, clear_jobs and block_companies take. "Your state" lists only what holds of the user's state on the job (liked or dismissed, applied, its company blocked), and the line is left out when nothing does. A removed posting is shown with the date it came down: mention the removal, and don't send the user to apply to it.
An entry that names no job doesn't fail the call: it gets a line in its place, "## '{entry}': " and why: not a job id or a posting link, no job with that id, an id matching several jobs (with a longer id to use for each), a link to a posting Joeb doesn't have yet, or a link Joeb can't read. A job named more than once, by any of its ids or links, is shown once, where it was first named.
include_posting=true adds each job's raw posting text, thousands of characters each, so ask for it only to confirm what the rest of the block doesn't say (visa sponsorship, office locations, tech stack), for the jobs that need it. A reply holds at most 40,000 characters: an entry that doesn't fit is left out whole, and the last line names each one left out, to ask for again. The one thing cut instead is the first job's posting text, which is cut to fit and ends with a note that the full posting is at its URL.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"jobs": "<jobs>"
},
"name": "get_jobs"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | Yes | The jobs to show, 1 to 10, each named by its id (the 12 characters a row shows, any unique prefix of 8 or more, or the full id) or by its posting link, starting http:// or https://. | |
| include_posting | No | Whether to add each job's full posting text, as scraped from the employer's page. It runs to thousands of characters a job, so ask for it only when the rest of the block doesn't settle a question. |