Skip to main content
Glama

Server Details

Search open jobs in Switzerland and Liechtenstein by keywords and filters, and read job details with requirements, workload, salary information and a link to the original advert. Public, read-only MCP server; no account or API key required.

Ownership verified
Status
Healthy
Uptime
98.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation3/5

search and search_jobs overlap heavily (same domain, one is a simpler subset), and fetch and get_job both retrieve a job by id, though formats differ. Descriptions clarify the distinctions, but the boundaries are not crisp enough to prevent misselection in all cases.

Naming Consistency3/5

Mixed conventions: fetch and search are bare verbs, get_job and list_categories are verb_noun, and search_jobs is verb_noun but inconsistent with the standalone search. Readable but not a predictable pattern across the set.

Tool Count5/5

Five tools is well-scoped for a job search API. Each tool covers a distinct capability (basic search, filtered search, job details, full-text retrieval, category browsing), with no bloat or extreme thinness.

Completeness4/5

Coverage includes search, filtering, job details, full-text access, and category/role browsing, which covers the core job-search workflow. Minor gaps such as company-level lookup or saved searches exist, but agents can work around them.

Available Tools

5 tools
fetchFetch a jobA
Read-onlyIdempotent
Inspect

The full text of one job by its id from search, as a readable document.

NameRequiredDescriptionDefault
idYesThe job id from search.

Output Schema

NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered. The description adds only that the result is a 'readable document,' with no details on formatting, size limits, or error behavior – modest added context.

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?

A single front-loaded sentence that conveys scope and output form with no filler.

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

Completeness3/5

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

For a one-parameter read tool with an output schema and full annotations, most burdens are handled elsewhere. However, the description omits sibling differentiation against get_job, which is a notable gap given the near-identical names.

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?

Schema description coverage is 100%, so the id parameter and its origin ('from search') are fully documented in the schema. The description adds no syntax or format details beyond the schema's baseline.

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?

States a specific verb ('Fetch'), resource ('one job by its id'), and output form ('full text ... as a readable document'). Distinguishes from siblings like search by emphasizing retrieval of a single job's full content rather than listing or searching.

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

Usage Guidelines2/5

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

It implies usage by mentioning 'from search' but offers no explicit when-to-use guidance, and it does not mention the sibling get_job or how fetch differs from it despite the overlapping purpose, leaving routing ambiguous.

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

get_jobGet a jobA
Read-onlyIdempotent
Inspect

Full details of one job by its id from search_jobs: facts, salary, description (usually a jopp brief) and the link to the original advert.

NameRequiredDescriptionDefault
idYesThe job id from search_jobs.

Output Schema

NameRequiredDescription
idYes
urlYesThe job on jopp.ai.
roleYes
startYesAn ISO date, "immediately" or "by_agreement".
titleYes
salaryYes"stated" comes from the advert. "estimated" is a jopp estimate of the yearly salary at 100 % workload and is not from the advert.
statusYes
companyYes
applyUrlYesThe original advert: the employer's or source's page to read it in full and apply.
categoryYes
industryYes
isAgencyYes
languageYesLanguage of title and description.
workModeYes
workloadYes
educationYesLowest education the advert asks for.
locationsYes
offerKindYes
seniorityYes
experienceYesYears of experience the advert asks for.
lastSeenAtYesISO date jopp last saw the advert online.
leadershipYes
descriptionYesMarkdown. Usually jopp's brief, a factual summary of the advert; the original advert at applyUrl is authoritative.
publishedAtYes
contractTypeYes
withJoppAccountYesWhat a person can do with this job after signing in to jopp.
requiredLanguagesYes
advantageLanguagesYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description earns credit by disclosing what the payload actually contains – facts, salary, description, and the link to the original advert – which the annotations do not.

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?

A single front-loaded sentence with the payload contents appended; nothing is wasted. Minor drag from the unclear 'usually a jopp brief' phrasing (likely a typo), which slightly blurs the return 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?

With an output schema present, return values need not be explained, and annotations cover the safety profile. For a one-parameter lookup tool this is essentially complete, with only the vague 'jopp brief' wording leaving a small gap.

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?

Schema coverage is 100% and the schema already states 'The job id from search_jobs', so the description's 'by its id from search_jobs' is largely redundant. Baseline 3 applies when the schema carries the parameter documentation.

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?

States a specific verb and resource ('Full details of one job') and pins the scope to a single record by id, which cleanly separates it from search_jobs. The mention of 'from search_jobs' further anchors it against the sibling list.

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 phrase 'by its id from search_jobs' implies the workflow (search first, then fetch full detail) and names the sibling that supplies the id. It does not explicitly state when not to use it or contrast with 'fetch', so it stops 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.

list_categoriesList job categoriesA
Read-onlyIdempotent
Inspect

jopp's occupation categories and their roles, for the category and role filters of search_jobs. Pass a category key to get its roles with typical job titles.

NameRequiredDescriptionDefault
categoryNoA category key to list its roles in detail.

Output Schema

NameRequiredDescription
categoriesYes

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety and side-effect profile is fully covered. The description adds helpful context about what the tool returns (categories and roles, with typical job titles) and its relationship to search_jobs, but it does not go beyond the annotations to describe any additional behavioral traits like rate limits or specific output details.

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 extremely concise, two sentences, and front-loads the core purpose. Every sentence earns its place by clarifying what the tool returns and its connection to search_jobs without any filler.

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 that the tool has an output schema and rich annotations, the description is nearly complete. It explains the tool's role and return values well. It could be slightly more complete by explicitly mentioning the default behavior (listing all categories when no category is provided) and possibly the format of keys, but the essentials are covered.

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?

Schema description coverage is 100%, so the schema already explains the single parameter 'category' as a key to list its roles in detail. The description adds meaning by noting that passing a category key returns its roles with typical job titles, and that omitting it gives the top-level categories. This is slightly more context than the schema, but not substantially beyond what's structured; it meets the baseline for high schema coverage.

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 provides a specific verb+resource: it tells the agent this tool lists occupation categories and their roles. It also explicitly differentiates from the sibling search_jobs by stating these categories and roles are meant to be used as filters for that tool. This gives an unambiguous sense of purpose.

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?

The description gives a clear use case (to get category and role filters for search_jobs), implying when to use it. However, it does not explicitly state when *not* to use it, or contrast it with other siblings like fetch or search. It also doesn't mention whether calling it without a category is the standard way to list all categories.

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

search_jobsSearch jobs in SwitzerlandA
Read-onlyIdempotent
Inspect

Search open jobs in Switzerland and Liechtenstein by keywords and filters. Only jobs whose advert is still online are returned. Lehrstellen are listed only with segment apprenticeships. Returns up to 20 jobs per page, newest first for filter-only searches; keyword searches rank by relevance, favouring recent adverts and mixing companies. Use get_job for a job's full description.

NameRequiredDescriptionDefault
roleNoA role key from list_categories; requires its category.
limitNo
queryNoKeywords matched against job title, company and description, with German word forms (e.g. "Pflegefachfrau", "Software Engineer Python"). All words must match; use OR between alternatives, "quotes" for phrases and -word to exclude. Place names match only the text; use cantons to filter by location.
cursorNonextCursor of a previous search_jobs result; the other arguments are then ignored.
cantonsNoTwo-letter canton codes (ZH, BE, VD, GE, …) or LI for Liechtenstein.
segmentNojobs (default): regular jobs and internships. apprenticeships: only Lehrstellen (Swiss vocational apprenticeships, Berufslehre). A search lists one of the two, never both.jobs
categoryNoA category key from list_categories.
workModesNo
senioritiesNo
workloadMaxNoHighest workload in percent of full time (10–100).
workloadMinNoLowest workload in percent of full time (10–100).
salaryStatedNoOnly jobs whose advert states a salary.
contractTypesNoNot for segment apprenticeships.
advertLanguagesNoLanguage the advert is written in.
excludeAgenciesNoLeave out recruitment agencies.
requiredLanguagesNoOnly jobs that require all of these languages.
publishedWithinDaysNo

Output Schema

NameRequiredDescription
totalYesHow many open jobs match.
resultsYes
searchUrlYesThe same search on jopp.ai.
nextCursorYesPass as cursor for the next page; null at the end.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioural context beyond them: only still-online adverts are returned, results are capped at 20 per page, filter-only searches are newest-first while keyword searches are relevance-ranked with recency bias and company mixing. It stops short of describing pagination termination or any rate limits.

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?

Four compact sentences, front-loaded with scope and the online-only constraint, then ranking behaviour, then the sibling hand-off. Every sentence carries distinct information with no filler.

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?

With an output schema present, return-shape explanation is unnecessary, and the description covers the non-obvious constraints an agent needs (online-only, segment exclusivity, page cap, ranking differences). For a 17-parameter tool it could have hinted at how cursor paging terminates, but coverage is strong overall.

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?

Schema description coverage is 76% and the schema itself carries detailed semantics (query syntax, OR/quotes/exclusion, role-requires-category, cursor overriding other args). The description largely restates the segment constraint and the 20-per-page limit rather than adding new meaning, so the baseline 3 applies.

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?

States a specific verb and resource (search open jobs) plus the geographic scope (Switzerland and Liechtenstein) and the filter/keyword duality. It also explicitly routes full-description lookups to the sibling get_job, so an agent can distinguish it from neighbours without opening a schema.

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?

Gives clear context for when this tool applies (open adverts only, keyword vs filter mode) and names the alternative for detail retrieval ('Use get_job for a job's full description'). It does not, however, say when to prefer list_categories to discover role/category keys, which the schema requires as inputs.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedsearch_jobs3 fields changed
      • addedInput schema / properties / contractTypes / description
        Added value: +"Not for segment apprenticeships."
      • changedInput schema / properties / contractTypes / items / enum
        Previous value: -[
        -  "permanent",
        -  "temporary",
        -  "internship",
        -  "apprenticeship",
        -  "freelance"
        -]New value: +[
        +  "permanent",
        +  "temporary",
        +  "internship",
        +  "freelance"
        +]
      • addedInput schema / properties / segment
        Added value: +{
        +  "default": "jobs",
        +  "description": "jobs (default): regular jobs and internships. apprenticeships: only Lehrstellen (Swiss vocational apprenticeships, Berufslehre). A search lists one of the two, never both.",
        +  "enum": [
        +    "jobs",
        +    "apprenticeships"
        +  ],
        +  "type": "string"
        +}
  2. 2 tool updates
    • Changedget_job1 field changed
      • changedOutput schema / properties / url / description
        Previous value: -"The job on getjopp.app."New value: +"The job on jopp.ai."
    • Changedsearch_jobs2 fields changed
      • changedOutput schema / properties / results / items / properties / url / description
        Previous value: -"The job on getjopp.app."New value: +"The job on jopp.ai."
      • changedOutput schema / properties / searchUrl / description
        Previous value: -"The same search on getjopp.app."New value: +"The same search on jopp.ai."
  3. 5 tool updates
    • First observedfetch
    • First observedget_job
    • First observedlist_categories
    • First observedsearch
    • First observedsearch_jobs

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources