MCP Server

Job Spotter

io.github.GoodTurnStudio/jobspotter
Business & Operations Search & Research Public & reachable MCP 2026-07-28

What this MCP does

Searches current US and UK job listings by role, location, remote status, and related filters, and retrieves details for individual results.

get_job
Details for one job from a search result
Details for one job from a search result. For when the user asks about one of the results, for example "tell me more about the second one" or "what's the apply link for the Uber job?". Takes the id from a search_jobs result exactly as given; ids carry what is needed, so they keep working later. NHS Jobs and Teaching Vacancies results include the closing date.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The id from a search_jobs result, copied exactly, for example muse-22049500, remotive-2091141 or nhsjobs-C9413-26-0725. Some ids are longer, with a ~ and a code after it.'}}, 'additionalProperties': False}
search_jobs
Search current job listings
Search current job listings. For requests like "find remote Python jobs", "marketing jobs in New York", "junior data analyst jobs posted this week", "senior software engineer jobs in London", "nurse jobs in Manchester". Job words go in what and the place in where. Everyday phrasing in what also works: level words (junior, senior), "remote", "in <city>" and "this week" are picked out. The say line credits listings from Remotive, Himalayas, Jobicy and Remote OK to their source.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': [], 'properties': {'what': {'type': 'string', 'description': 'Job title, skill or field, for example "python developer" or "marketing". Required unless where is given.'}, 'level': {'enum': ['entry', 'mid', 'senior'], 'type': 'string', 'description': 'Level: entry (junior, graduate, intern), mid or senior.'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'How many results, 1 to 10. Default 10.'}, 'where': {'type': 'string', 'description': 'A city (New York, Austin, TX, London, Birmingham, UK), a US state (Texas), a UK county or region (Kent, Yorkshire), a UK postcode, a country (USA, UK, Germany), "remote", or remote in a country ("remote US").'}, 'country': {'enum': ['US', 'UK'], 'type': 'string', 'description': "US or UK, when the place exists in both (Birmingham, Manchester, Cambridge) and the user's country is known. Optional."}, 'posted_within_days': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'Only jobs posted in the last N days, 1 to 90. Default 30. 7 means this week.'}}, 'additionalProperties': False}
Changed
get_job
Oct. 1, 2026, 2:40 a.m.
Changed
search_jobs
Oct. 1, 2026, 2:40 a.m.
Added
get_job
Sept. 29, 2026, 2:40 a.m.
Added
search_jobs
Sept. 29, 2026, 2:40 a.m.