Skip to main content
Glama

Magnificent Jobs

Server Details

Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
AdanRott/magnificent-jobs-plugin
GitHub Stars
0
Server Listing
Magnificent job search

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clear, distinct responsibility: searching jobs, fetching job details, listing states, and finding cities. There is no overlap in purpose, so an agent can easily select the right tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: find_cities, get_job, list_states, search_jobs. This makes the API predictable and easy to work with.

Tool Count5/5

With only 4 tools, the server is tightly scoped for its purpose of job searching and lookup. Each tool earns its place without unnecessary bulk, making it easy for agents to navigate.

Completeness4/5

The core workflow of searching and retrieving jobs is fully covered, supplemented by geographic lookup helpers. A minor gap is the lack of a 'recent jobs' or 'browse all' endpoint, but search functionality mitigates this.

Available Tools

4 tools
find_citiesFind citiesA
Read-onlyIdempotent
Inspect

Look up US cities that currently have jobs (prefix match), with job counts. Use when a city name is ambiguous or you need the exact spelling before search_jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoCity name prefix, e.g. 'san'.
limitNo
stateNoRestrict to a state (name or 2-letter code).

Output Schema

ParametersJSON Schema
NameRequiredDescription
citiesYes
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to cover safety. It adds meaningful behavioral context by specifying prefix matching, job count inclusion, and the requirement that cities currently have jobs. This is useful information beyond what the annotations say.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences, front-loaded with the tool's core behavior, and ends with concrete usage guidance. Every sentence earns its place with no filler or repetition.

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?

For a simple, read-only lookup tool with good annotations and an output schema, the description covers the essential behavioral contract: what is returned (matching cities with job counts), how matching works (prefix), and when the tool should be used. No critical operational gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes q and state in reasonable detail, and limit has constraints. The description's 'prefix match' phrasing adds only marginal semantic value over q's schema description. It does not explain how limit behaves or how the state parameter interacts with the city prefix, so the description provides an acceptable but not strong contribution.

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?

The description clearly states the tool's action ('Look up US cities'), its scope ('US cities that currently have jobs'), and key behavior ('prefix match, with job counts'). It also distinguishes itself from the sibling search_jobs tool by explicitly positioning it as a pre-step to verify spelling before job search.

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?

The description explicitly says 'Use when a city name is ambiguous or you need the exact spelling before search_jobs', which provides clear contextual guidance. It does not include a full when-not-to-use section or explicitly name alternatives beyond the reference to search_jobs, so it falls 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.

get_jobGet job detailsA
Read-onlyIdempotent
Inspect

Full details for one job by slug: description, apply link, salary, skills, benefits, employer info.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe job slug from search_jobs results (last path segment of the url).

Output Schema

ParametersJSON Schema
NameRequiredDescription
atsNo
urlYes
slugYes
titleNo
salaryNo
org_urlNo
benefitsNo
org_sizeNo
apply_urlNoDirect apply link on the employer's ATS
educationNo
locationsNo
key_skillsNo
date_postedNo
descriptionNo
org_industryNo
organizationNo
employment_typeNo
experience_levelNo
visa_sponsorshipNo
work_arrangementNo
description_sourceNo
requirements_summaryNo
responsibilities_summaryNo
Behavior4/5

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

Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already indicate a non-mutating, idempotent operation. The description aligns with this by promising only retrieval of details, with no mention of side effects or modifications. It does not add extra behavioral context (e.g., rate limits, authentication), but given the strong annotations, the description is sufficient and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, directly stating the tool's purpose and listing the included data fields. No redundant or irrelevant information is present. It is well-structured and easy to parse.

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

Completeness4/5

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

The description lists the key fields returned (description, apply link, salary, skills, benefits, employer info), giving a clear sense of the output content. It does not detail the exact structure or error handling, but since an output schema is declared, that information is likely available elsewhere. Overall, it is sufficiently complete for a straightforward retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'slug' is well-described in the schema: 'The job slug from search_jobs results (last path segment of the url).' The tool description also mentions 'by slug', reinforcing its role as the identifier. The schema coverage is 100%, and the description adds little beyond the schema, but the combination is clear and unambiguous.

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?

The description explicitly states the tool retrieves full details for a single job by slug, listing the specific data fields (description, apply link, salary, skills, benefits, employer info). This clearly distinguishes it from sibling tools like search_jobs (which searches multiple jobs) and find_cities/list_states (which deal with location data).

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?

The description implies usage: when you have a specific job slug and need complete details, this tool is appropriate. It does not explicitly compare with alternatives, but the context of sibling tools (search_jobs for searching, find_cities/list_states for location) makes the use case clear. It could be improved by explicitly stating 'use when you have a slug from search_jobs results', but the intent is evident.

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

list_statesList statesA
Read-onlyIdempotent
Inspect

US states with the number of live jobs in each.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
statesYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by specifying the output content (states with live job counts), which is not in the annotations. It does not contradict any annotations and is concise.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the purpose and content. It is front-loaded, contains no filler, and every word is meaningful. This is an exemplary concise description.

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

Completeness4/5

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

Given the tool's simplicity (no parameters), presence of an output schema, and annotations covering side effects, the description provides sufficient context. It states the core output clearly. However, it could be slightly enhanced by suggesting a typical use case (e.g., 'Use to get job counts by state'), but this is not critical for such a straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the schema coverage is 100% and there is nothing to explain. The baseline for 0 params is 4, and the description does not need to add parameter details since none exist. It appropriately avoids unnecessary commentary.

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?

The description clearly states the tool's function: it lists US states along with the count of live jobs in each. The verb 'list' is implied but the resource ('states') and the specific data ('number of live jobs') are explicit, distinguishing it from siblings like search_jobs or find_cities which focus on individual jobs or cities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus its siblings. The description implies its use for an overview of states with job counts, but it does not mention alternatives like search_jobs or find_cities, nor any exclusions. This is a typical simple list tool lacking explicit usage direction.

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

search_jobsSearch jobsA
Read-onlyIdempotent
Inspect

Search live job postings in the United States (US only — no other countries) by meaning (embedding similarity against the postings). YOU write the expanded query — it is embedded as-is, with no server-side rewriting — so always send query in this shape: ". <One sentence of what the role does; 3-5 key skills/tools>." NO ABBREVIATIONS anywhere in the query — spell everything out (ML → machine learning, AI → artificial intelligence, RN → registered nurse, SWE → software engineer, QA → quality assurance, PM → product manager, CDL → commercial driver's license, EMT → emergency medical technician, etc.) and keep the user's qualifiers (seniority, shift, domain). Example: user says 'ML eng jobs' → query 'Machine Learning Engineer. Builds, trains and deploys machine learning models; Python, PyTorch, MLOps, data pipelines.' Optionally add city (results within radius_miles of that city, ranked by relevance) and/or state. Without a city, ranks across the state or nationwide. Returns job cards with a url to show the user; call get_job for details.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoUS city name, e.g. 'Denver' or 'Denver, CO'. Non-US cities are not covered and return no match.
limitNoDefault 12.
queryNoExpanded query, embedded verbatim: 'Full Job Title. One sentence of core responsibilities; 3-5 key skills/tools.' Keep user qualifiers (senior, night shift, fintech…). NO abbreviations or acronyms anywhere in the text — always the spelled-out form ('machine learning', not 'ML'; 'registered nurse', not 'RN'; 'software engineer', not 'SWE'); never a single word.
stateNoUS state full name or 2-letter code.
offsetNoFor paging; use nextOffset from a previous call.
radius_milesNo10, 30 or 50 (default 50). Only used with city.
employment_typeNo
experience_levelNoYears-of-experience band.
work_arrangementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobsYes
modeYesWhich search path ran (city_semantic, city_nearest, state_semantic, nationwide_semantic, newest, …)
countYes
hasMoreYes
resolvedYesHow the request was interpreted: state, city + coordinates, radius, query, filters
nextOffsetYes
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses key behavioral traits: the query is embedded verbatim with no server-side rewriting, ranking depends on city/state inclusion, and results are returned as job cards with a URL. It also instructs how to handle pagination via offset.

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?

The description is longer than strictly necessary, but every section earns its place given the tool's complexity. It is front-loaded with purpose and uses imperative, rule-based language. Minor redundancy exists with the schema's query description (both mention no abbreviations), but overall it remains tight and well-organized.

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?

The description covers all critical aspects: core function, query construction, geographic scope, optional filters, ranking behavior, pagination, output format, and sibling tool direction. Combined with the rich schema and presence of an output schema, it is complete for an AI agent to select and invoke the tool correctly.

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?

The description adds substantial meaning to parameters beyond the schema: it specifies the exact query template, bar on abbreviations, example query, role of city/state, default radius, and how offset pagination works. This goes well beyond the schema's parameter descriptions, especially for `query`.

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?

The description clearly states the tool's function: "Search live job postings in the United States (US only — no other countries) by meaning (embedding similarity against the postings)." This is specific about verb, resource, and scope, and distinguishes it from siblings by noting "call get_job for details."

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance, including the required query format ("YOU write the expanded query — it is embedded as-is"), geographic constraints, optional filters, and an explicit pointer to an alternative: "call get_job for details." It also explains ranking behavior with and without a city.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Verified job search: every listing is opened and confirmed live and accepting applicants within the last 72 hours, and re-verified on a rolling clock, so agents can recommend jobs without ghost-job or dead-link risk. Read-only, no auth.
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Enables searching live, normalized job postings from 30+ ATS feeds and job boards, with tools for job search, source listing, pricing plans, and Upwork jobs.
  • F
    license
    -
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
  • A
    license
    A
    quality
    A
    maintenance
    Live tech-hiring intelligence for AI agents. Search 130K+ open jobs collected daily from ~500 tech companies' own career sites — plus company hiring profiles, tech stacks, salary benchmarks, and skill trends. Five tools work with no account.
    31
    219
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.