Worklittle Jobs
by worklittle · remote · no sign-in to list tools · v1.1.0 · published by GitHub user worklittle
Find jobs near you. Search over 4 million openings by role, place, pay, visa and more.
20 tools: 10 can delete or cancel things, 1 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels10Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http jobs https://mcp.worklittle.com/Findings
Matches of fixed checks, with the text they matched.
- Infosearch_jobs
The description is 4,600 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...thout it and say they can see salaries on the map (listed pay shows on each job)."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
20 tools
Deletes or cancels 10Claude Code: deny
apply_for_jobJobs — Apply to a job for the user: Worklittle fills out and submits the application in a browser.No findings
Why it is in this group
- The name "apply_for_job" says "apply": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Apply to a job for the user: Worklittle fills out and submits the application in a browser. Pass job_id from search_jobs. For a Worklittle-hosted posting also include name, email and resume. It submits by default; pass auto_submit false when the user wants to review first, then show them the answers from check_application_status and send it with submit_application only after they say so.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
- title: Jobs · Apply For Job
delete_my_resumeJobs — Delete the user's saved resume from their profile.No findings
Why it is in this group
- The name "delete_my_resume" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Delete the user's saved resume from their profile.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Delete My Resume
logout_connected_accountJobs — Sign the user out of Worklittle in this app.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Sign the user out of Worklittle in this app.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Logout Connected Account
save_about_meJobs — Save standing facts about the user that Worklittle's Apply with AI uses on every future application: work authorization and visa sponsorship by country, relocation, notice p…No findings
Why it is in this group
- The name "save_about_me" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Save standing facts about the user that Worklittle's Apply with AI uses on every future application: work authorization and visa sponsorship by country, relocation, notice period, desired salary, languages, qualifications, who referred them, or other standing answers they ask applications to use. Stored as the 'More about you' text in their Settings. Pass the complete text to keep (read get_my_profile first and merge with what is there, so nothing is lost). Write it in the user's words; never invent facts.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Save About Me
steer_applicationJobs — Change what an application in progress fills in, without stopping it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Change what an application in progress fills in, without stopping it. Use when the user says something about an application Worklittle is filling right now ("say my notice period is one month", "my friend Ana Ruiz referred me", "I need visa sponsorship for the US", "make that answer shorter"). Pass their wish as plain instructions with their exact facts; never add facts. Works while the application is running, ready to submit, or waiting for answers. Needs the session_id from apply_for_job or list_active_applications. For facts that should apply to every future application too, also call save_about_me.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
- title: Jobs · Steer Application
stop_applicationJobs — Stop an application that Worklittle is filling out for the user.No findings
Why it is in this group
- The name "stop_application" says "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Stop an application that Worklittle is filling out for the user. This cancels the application in progress and it cannot be resumed; the user would have to start it again. Needs the session_id from apply_for_job or list_active_applications.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Stop Application
submit_applicationJobs — Send an application that stopped for review (apply_for_job with auto_submit false, status awaiting_submit).No findings
Why it is in this group
- The name "submit_application" says "submit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Send an application that stopped for review (apply_for_job with auto_submit false, status awaiting_submit). Call it only after the user has seen the answers from check_application_status and said to send it.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
- title: Jobs · Submit Application
track_applied_jobJobs — Add a job to the user's Applied or Saved list, or change its status, so they can find it later.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Add a job to the user's Applied or Saved list, or change its status, so they can find it later.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Track Applied Job
update_my_profileJobs — Update the user's Worklittle profile, such as name, location, phone, links or the kind of job they want.No findings
Why it is in this group
- The name "update_my_profile" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Update the user's Worklittle profile, such as name, location, phone, links or the kind of job they want. Only send the fields to change.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Update My Profile
upload_my_resumeJobs — Save the resume the user attached in the chat (PDF, Word, text or image) to their Worklittle profile so it can be used to apply.No findings
Why it is in this group
- The name "upload_my_resume" says "upload": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Jobs — Save the resume the user attached in the chat (PDF, Word, text or image) to their Worklittle profile so it can be used to apply. Pass the attached file as resume_file.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- title: Jobs · Upload My Resume
Changes things 1Claude Code: ask
mint_mcp_ui_embed_sessionJobs — Create a sign-in link so the Worklittle app can open the user's chats on worklittle.com.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Jobs — Create a sign-in link so the Worklittle app can open the user's chats on worklittle.com.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Jobs · Mint Mcp Ui Embed Session
Only reads 9Claude Code: allow
check_application_statusJobs — Check an application Worklittle is filling out: its status, which form fields are filled, and a live view link.No findings
Why it is in this group
- The name "check_application_status" says "status": a word for reading.
Description, as the server wrote it Jobs — Check an application Worklittle is filling out: its status, which form fields are filled, and a live view link. Only the status completed means it was submitted.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Check Application Status
get_job_detailsJobs — Fetch detailed information about a specific job, including full responsibilities, qualifications, and company details.No findings
Why it is in this group
- The name "get_job_details" says "get": a word for reading.
Description, as the server wrote it Jobs — Fetch detailed information about a specific job, including full responsibilities, qualifications, and company details. Pass job_id from search_jobs when you have one. If the user asks for full details of a role without an id (e.g. the first software engineer job in Austin), pass query and optional location instead — the tool loads the first matching live listing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- title: Jobs · Get Job Details
get_market_overviewJobs — Returns aggregate job-market statistics from Worklittle.No findings
Why it is in this group
- The name "get_market_overview" says "get": a word for reading.
Description, as the server wrote it Jobs — Returns aggregate job-market statistics from Worklittle. Call with no args for the full indexed market (counts, workplace mix, top hiring companies). When the user names a role and/or city (e.g. product managers in San Francisco), pass query and location. The filtered slice includes match count, top companies in the sample, and salary signals from listings that publish pay.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- title: Jobs · Get Market Overview
get_my_profileJobs — Get the user's Worklittle profile (name, location, contact details and job preferences).No findings
Why it is in this group
- The name "get_my_profile" says "get": a word for reading.
Description, as the server wrote it Jobs — Get the user's Worklittle profile (name, location, contact details and job preferences). If they have not linked their account it returns connected false; use get_my_resume or apply_for_job to sign them in.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Get My Profile
get_my_resumeJobs — Get the user's saved resume: its status (ready, processing or missing) and, when ready, the resume text and profile details read from it.No findings
Why it is in this group
- The name "get_my_resume" says "get": a word for reading.
Description, as the server wrote it Jobs — Get the user's saved resume: its status (ready, processing or missing) and, when ready, the resume text and profile details read from it. Use it to tailor advice or an application to the user's real experience.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Jobs · Get My Resume
list_active_applicationsJobs — List the user's applications that Worklittle is filling out right now (queued, running, or waiting on the user), with job_id and session_id.No findings
Why it is in this group
- The name "list_active_applications" says "list": a word for reading.
Description, as the server wrote it Jobs — List the user's applications that Worklittle is filling out right now (queued, running, or waiting on the user), with job_id and session_id. Use it to find which one to stop or check.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Jobs · List Active Applications
list_recent_chatsJobs — List the user's recent Worklittle chats (title and status) for the app sidebar.No findings
Why it is in this group
- The name "list_recent_chats" says "list": a word for reading.
Description, as the server wrote it Jobs — List the user's recent Worklittle chats (title and status) for the app sidebar.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Jobs · List Recent Chats
search_companiesJobs — Search the Worklittle market company index by name or slug (ranked typeahead).No findings
Why it is in this group
- The name "search_companies" says "search": a word for reading.
Description, as the server wrote it Jobs — Search the Worklittle market company index by name or slug (ranked typeahead). Returns id, name, slug, logo_url, and enrichment fields for employers with open jobs. Use when the user names an employer and you need a real slug/id for search_jobs company= filters, job alerts, or automations. If zero hits, try alternate spellings or related employer names from further search_companies calls — do not invent company ids or slugs. If still empty, tell the user that employer is not in the index yet and offer any close matches you found.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- title: Jobs · Search Companies
search_jobsJobs — Opens the Worklittle jobs MAP for a place and an optional role.1 finding
Why it is in this group
- The name "search_jobs" says "search": a word for reading.
Findings
- Info
The description is 4,600 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...thout it and say they can see salaries on the map (listed pay shows on each job)."
Description, as the server wrote it Jobs — Opens the Worklittle jobs MAP for a place and an optional role. This is a map query, not a list of jobs: the map recenters on the place and shows jobs there, so send the place and the role as SEPARATE fields. Never write 'product manager in San Francisco' as one query. PLACE: always pass near_lat + near_lng (the city's coordinates, which you know) and location as the display name (e.g. 'San Francisco, CA'). radius_km 25-50 for a city. If the user names no place, omit all place fields; the map opens at the user's approximate (IP-based) area. When a nearby search runs short, results widen to the rest of the country and then worldwide (search.scope says which: near, country or world), so say where the roles are. ROLE: query holds only the job title text (e.g. 'product manager') and may be omitted for 'any job'. Search Worklittle job listings. People say Worklittle plus a role, city, company, or filters (or just 'jobs') — they will not name this tool. Call it whenever they want Worklittle jobs. Search by keyword, company, location, job type, seniority, or recency. Use for ANY industry (retail, finance, healthcare, tech, etc.). Search matches title and filter text (substring / FTS), not vector embeddings. Role / title text goes in query (+ optional keywords). The API matches job TITLE substrings only for that text — it does not mix company names into the same field. Preserve negative title terms with a leading dash, e.g. 'software engineer, -senior' excludes titles containing senior. Use company for employer slugs (include or exclude). Never concatenate many job titles into one query unless the user supplied comma-separated roles. Do not add seniority_level, stacks, or resume-derived terms unless they asked. Omit seniority_level unless they explicitly name a level as an inclusion filter (never infer from profile). Expand abbreviations only; umbrella phrases use neutral roles and/or company slugs. Umbrella or vague phrases ('big tech', 'FAANG', 'top retailers'): interpret intent, then one search_jobs with comma-separated company slugs and/or a broad role query — prefer one API call over many. company MUST be employer slug(s): bare slugs include (OR), e.g. meta,google,apple. Prefix a slug with '-' to exclude, e.g. -lucid-motors,-tesla. Same leading-dash rule as title negatives, but in company not query. Expand 'no car companies' / 'don't show Lucid' into -slug tokens. Never pass display names as query. If unsure of slug, try lowercase hyphenated brand. Add skills or stack to query/keywords only when the user mentioned them — not from profile by default. When an include company filter returns 0 results, try a broader query (drop include company, use role keywords) before telling the user nothing matched. Pass cursor from a previous response to paginate. Search is anonymous. Do not call get_account, apply, or ask the user to Connect to search or skip. Connect / OAuth is only when they apply. After the map renders, briefly say what was found and where (listed pay shows on each job). For visa / H-1B: set visa_sponsorship to 'yes' (plus optional query). Postings must be explicitly tagged. When visa_sponsorship is set and posted_within_days is omitted, do not apply the default 7-day recency cutoff — tagged visa roles are sparse. For regional / nearby intent: near_lat, near_lng, radius_km (e.g. 50–65). Prefer this over the location substring when coordinates are known. For two or more metros in one user message (e.g. SF or NYC), pass location_or as comma-separated place names — one API request matches ANY listed place. Do not use near_* for multi-metro; use location_or or location with 'or' between cities. Recency: set posted_within_days from the user's words — today/just posted → 1; past few days → 3; this week → 7; past two weeks → 14; this month → 30. Omit when they did not mention timing (defaults to the last 7 days, the map's default). Set 0 only when they want any age / no date limit. Never put today/new/this week into query. Filters are the same as the map's filter chips, and nothing else: posted_within_days (Past 24 hours / 3 / 7 / 14 / 30 days), seniority_level (Experience: intern, entry/new grad, senior, manager, director/executive), employment_type (Type: full-time, part-time, contract), and visa_sponsorship (Visa). Prefer no filters: use one only when the user explicitly asks for it, because each filter shrinks the results a lot. There is no salary, remote/hybrid, or benefits filter. If the user asks to filter by salary, search without it and say they can see salaries on the map (listed pay shows on each job).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- title: Worklittle Jobs
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http jobs https://mcp.worklittle.com/Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__jobs__search_jobs",
"mcp__jobs__search_companies",
"mcp__jobs__get_job_details",
"mcp__jobs__get_market_overview",
"mcp__jobs__get_my_profile",
"mcp__jobs__list_recent_chats",
"mcp__jobs__get_my_resume",
"mcp__jobs__check_application_status",
"mcp__jobs__list_active_applications"
],
"ask": [
"mcp__jobs__mint_mcp_ui_embed_session"
],
"deny": [
"mcp__jobs__track_applied_job",
"mcp__jobs__logout_connected_account",
"mcp__jobs__upload_my_resume",
"mcp__jobs__delete_my_resume",
"mcp__jobs__update_my_profile",
"mcp__jobs__apply_for_job",
"mcp__jobs__submit_application",
"mcp__jobs__stop_application",
"mcp__jobs__steer_application",
"mcp__jobs__save_about_me"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as jobs. Review it before you use it.
