Tool tree
gradeNot graded
search_jobsAnswer
Search and filter the TrueRemoteJobs demo catalog for remote job opportunities. Supports filtering by query keywords, job title, skills, candidate-country eligibility (e.g. "India"), remote region (e.g. "APAC", "Worldwide"), employment type, experience level, minimum salary, company stage, industry, timezone, and posting recency (postedWithinDays). Returns an ordered array of matching jobs with explicit "resultNumber" (1, 2, 3...) and "jobId" fields. When users make follow-up requests such as "the first result", "the second one", "compare the first three", or "save the first and third", use the jobId associated with that resultNumber from the returned results array.
View tool JSON
{
"name": "search_jobs",
"kind": "answer",
"impl": "imperative",
"description": "Search and filter the TrueRemoteJobs demo catalog for remote job opportunities. Supports filtering by query keywords, job title, skills, candidate-country eligibility (e.g. \"India\"), remote region (e.g. \"APAC\", \"Worldwide\"), employment type, experience level, minimum salary, company stage, industry, timezone, and posting recency (postedWithinDays). Returns an ordered array of matching jobs with explicit \"resultNumber\" (1, 2, 3...) and \"jobId\" fields. When users make follow-up requests such as \"the first result\", \"the second one\", \"compare the first three\", or \"save the first and third\", use the jobId associated with that resultNumber from the returned results array.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text keyword search across role title, company name, description, required skills, and tech stack (e.g., \"React Native\", \"AI Engineer\", \"Fintech\")."
},
"jobTitle": {
"type": "string",
"description": "Specific job title to match (e.g., \"React Native\", \"Frontend Engineer\", \"Product Manager\")."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of required or preferred skills to filter by (e.g., [\"React Native\", \"TypeScript\"])."
},
"candidateCountry": {
"type": "string",
"description": "Filter jobs allowing applicants from a specific country (e.g., \"India\", \"United States\", \"Germany\"). Note that worldwide jobs are automatically included."
},
"remoteRegion": {
"type": "string",
"description": "Filter jobs by allowed remote geographic region (e.g., \"Worldwide\", \"APAC\", \"EMEA\", \"Americas\", \"Europe\")."
},
"employmentType": {
"type": "string",
"enum": [
"Full-time",
"Part-time",
"Contract",
"Internship"
],
"description": "Employment type filter."
},
"experienceLevel": {
"type": "string",
"enum": [
"Intern",
"Entry Level",
"Junior",
"Mid Level",
"Senior",
"Staff",
"Lead",
"Manager",
"Director"
],
"description": "Target experience level."
},
"minimumSalary": {
"type": "number",
"minimum": 0,
"description": "Minimum acceptable annual salary in USD (e.g., 60000)."
},
"companyStage": {
"type": "string",
"enum": [
"Bootstrapped",
"Pre-Seed",
"Seed",
"Series A",
"Series B",
"Series C+",
"Public"
],
"description": "Startup or company funding stage."
},
"industry": {
"type": "string",
"description": "Company industry (e.g., \"AI\", \"Developer Tools\", \"Fintech\", \"Cybersecurity\", \"Productivity\")."
},
"postedWithinDays": {
"type": "number",
"minimum": 1,
"description": "Only return jobs posted within the specified number of days (e.g., 7 for the last week)."
},
"timezone": {
"type": "string",
"description": "Filter by timezone requirements or overlap (e.g., \"UTC\", \"flexible\")."
},
"limit": {
"type": "number",
"minimum": 1,
"maximum": 50,
"description": "Maximum number of jobs to return in this search batch (default 10)."
},
"sortBy": {
"type": "string",
"enum": [
"newest",
"salary_desc",
"salary_asc",
"relevance"
],
"description": "Sorting criterion for results."
}
},
"additionalProperties": false
}
}get_job_detailsAnswer
Retrieve comprehensive details for a specific remote job listing by its unique jobId (e.g. "job-1", "job-2"). Returns full company background, salary, equity, remote policy, required & preferred qualifications, responsibilities, tech stack, and benefits. When the user refers to an ordinal result from a previous search_jobs call (such as "first result", "the second one", "details for the first"), use that specific result's jobId from the search_jobs results array rather than inferring from any currently open or visible UI state.
View tool JSON
{
"name": "get_job_details",
"kind": "answer",
"impl": "imperative",
"description": "Retrieve comprehensive details for a specific remote job listing by its unique jobId (e.g. \"job-1\", \"job-2\"). Returns full company background, salary, equity, remote policy, required & preferred qualifications, responsibilities, tech stack, and benefits. When the user refers to an ordinal result from a previous search_jobs call (such as \"first result\", \"the second one\", \"details for the first\"), use that specific result's jobId from the search_jobs results array rather than inferring from any currently open or visible UI state.",
"inputSchema": {
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "The unique identifier of the job (e.g., \"job-1\")."
}
},
"required": [
"jobId"
],
"additionalProperties": false
}
}compare_jobsAction
Compare 2 to 5 remote jobs side-by-side using their jobIds (e.g. ["job-1", "job-2", "job-3"]). Returns a structured comparison matrix of salary, remote eligibility, tech stack, required & preferred skills, company stage, benefits, and experience level. When the user refers to ordinal search results (e.g. "compare the first three", "compare the best three"), use the jobIds corresponding to resultNumber 1, 2, 3, etc. from the most recent search_jobs results.
View tool JSON
{
"name": "compare_jobs",
"kind": "act",
"impl": "imperative",
"description": "Compare 2 to 5 remote jobs side-by-side using their jobIds (e.g. [\"job-1\", \"job-2\", \"job-3\"]). Returns a structured comparison matrix of salary, remote eligibility, tech stack, required & preferred skills, company stage, benefits, and experience level. When the user refers to ordinal search results (e.g. \"compare the first three\", \"compare the best three\"), use the jobIds corresponding to resultNumber 1, 2, 3, etc. from the most recent search_jobs results.",
"inputSchema": {
"type": "object",
"properties": {
"jobIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 5,
"description": "An array of 2 to 5 job IDs to compare (e.g., [\"job-1\", \"job-2\", \"job-3\"])."
}
},
"required": [
"jobIds"
],
"additionalProperties": false
}
}save_jobAction
Save a remote job to the user's Saved Jobs list by its jobId (e.g., "job-1"). When the user refers to ordinal search results (e.g. "save the first and third", "save the second job"), use the jobIds corresponding to resultNumber 1, 2, 3, etc. from the most recent search_jobs results array. Persists the job in localStorage and immediately updates the website's visible Saved Jobs count and view without requiring a page reload.
View tool JSON
{
"name": "save_job",
"kind": "act",
"impl": "imperative",
"description": "Save a remote job to the user's Saved Jobs list by its jobId (e.g., \"job-1\"). When the user refers to ordinal search results (e.g. \"save the first and third\", \"save the second job\"), use the jobIds corresponding to resultNumber 1, 2, 3, etc. from the most recent search_jobs results array. Persists the job in localStorage and immediately updates the website's visible Saved Jobs count and view without requiring a page reload.",
"inputSchema": {
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "The unique identifier of the job to save (e.g., \"job-1\")."
}
},
"required": [
"jobId"
],
"additionalProperties": false
}
}unsave_jobAction
Remove a remote job from the user's Saved Jobs list by its jobId (e.g. "job-1"). When the user refers to an ordinal job (such as "remove the first saved job" or "unsave the second one"), use the jobId of that saved job from get_saved_jobs. Immediately removes the job from localStorage and visibly updates the website without a page reload.
View tool JSON
{
"name": "unsave_job",
"kind": "act",
"impl": "imperative",
"description": "Remove a remote job from the user's Saved Jobs list by its jobId (e.g. \"job-1\"). When the user refers to an ordinal job (such as \"remove the first saved job\" or \"unsave the second one\"), use the jobId of that saved job from get_saved_jobs. Immediately removes the job from localStorage and visibly updates the website without a page reload.",
"inputSchema": {
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "The unique identifier of the job to unsave (e.g., \"job-1\")."
}
},
"required": [
"jobId"
],
"additionalProperties": false
}
}get_saved_jobsAnswer
Retrieve the list of all remote jobs currently saved in the user's Saved Jobs collection on TrueRemoteJobs. Returns total count, saved IDs, and compact structured details for each saved position with explicit "resultNumber" and "jobId" fields.
View tool JSON
{
"name": "get_saved_jobs",
"kind": "answer",
"impl": "imperative",
"description": "Retrieve the list of all remote jobs currently saved in the user's Saved Jobs collection on TrueRemoteJobs. Returns total count, saved IDs, and compact structured details for each saved position with explicit \"resultNumber\" and \"jobId\" fields.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_filter_optionsAnswer
Discover available search facets and valid filter criteria across the TrueRemoteJobs catalog, including valid industries, company stages, experience levels, employment types, countries, regions, and popular skills.
View tool JSON
{
"name": "get_filter_options",
"kind": "answer",
"impl": "imperative",
"description": "Discover available search facets and valid filter criteria across the TrueRemoteJobs catalog, including valid industries, company stages, experience levels, employment types, countries, regions, and popular skills.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}