FunkyJobs
Server Details
Job search for Switzerland. Searches current listings on funkyjobs.ch by keyword, place with radius, workload, category and publishing date, and fetches a single listing with employer, location, workload and salary where stated. Read-only, no account needed. Docs: https://www.funkyjobs.ch/mcp-connector
- Status
- Healthy
- Uptime
- 100.0% over 25 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools are cleanly separated by granularity: search_jobs returns multiple preview listings, while get_job retrieves a single full listing. Their descriptions make the boundary explicit (search returns title/employer/location plus link; get returns details for one job), so an agent cannot easily pick the wrong one.
Both names follow the same snake_case verb_noun pattern (get_job, search_jobs) with a consistent plural/singular convention tied to cardinality. No deviation or mixed casing.
At 2 tools the surface is thin even for a read-only job board: there is no tool for browsing categories, locations, or employers, which search filters imply exist. It is not wrong for the narrow stated purpose, but it sits at the borderline of feeling under-scoped.
Search plus detail retrieval covers the core discover-then-read workflow of a job portal, and the description redirects to the external link for full text and application. Minor gaps remain (no way to enumerate categories/companies or list more than the 20 newest results directly), but agents can work around them.
Available Tools
2 toolsget_jobInserat abrufenARead-onlyIdempotentInspect
Ruft ein einzelnes Stelleninserat von funkyjobs.ch ab: Titel, Arbeitgeber, Ort, Pensum, Lohn falls angegeben, und einen Auszug der Beschreibung. Das vollständige Inserat und der Weg zur Bewerbung stehen unter dem mitgelieferten Link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Die id eines Treffers aus search_jobs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety and idempotency are covered. The description adds genuinely useful behavioral context by disclosing that the description text is only an excerpt and the full listing plus application path are behind the returned link, but it says nothing about error behavior for an invalid id 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded and waste-free: the first states the retrieval plus returned fields, the second adds the only extra fact the agent needs (excerpt vs. full listing via link). Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe the return shape, and it does so well by listing title, employer, location, Pensum, optional salary, an excerpt and a link. It is nearly complete; only failure/empty-result behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single id parameter is fully documented as 'Die id eines Treffers aus search_jobs'. The description adds no additional meaning about the parameter, so the schema carries the full burden and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Ruft ein einzelnes Stelleninserat von funkyjobs.ch ab') and enumerates the returned fields, which clearly distinguishes it from the plural-listing sibling search_jobs. An agent knows exactly what it fetches without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'einzelnes' (single) implies this is for retrieving one specific listing rather than searching, but the description never explicitly says when to use it versus search_jobs or that the id must come from a prior search. That routing information lives only in the schema, so usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsStellen suchenARead-onlyIdempotentInspect
Sucht aktuelle Stelleninserate in der Schweiz auf funkyjobs.ch: Vollzeit, Teilzeit, Nebenjobs und Ferienjobs. Filtert nach Stichwort, Ort mit Umkreis, Pensum, Kategorie und Veröffentlichungsdatum. Liefert je Treffer Titel, Arbeitgeber, Ort, Pensum und den Link zum Inserat auf funkyjobs.ch. Gibt die 20 neuesten Treffer zurück; gibt es mehr, steht die ganze Trefferliste unter more_url.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | Ort in der Schweiz, zum Beispiel «Bern» oder «Zürich». Für die ganze Schweiz weglassen. | |
| query | No | Stichwort, zum Beispiel Beruf oder Tätigkeit: «Koch», «Reinigung», «Software Entwickler». Mehrere Wörter müssen alle im Inserat vorkommen; Varianten lassen sich mit OR verbinden («Koch OR Köchin»). | |
| category | No | Berufsfeld. | |
| radius_km | No | Umkreis um den Ort in Kilometern. Ohne Angabe 10 km, mit 0 nur der Ort selbst. | |
| workload_max | No | Höchstpensum in Prozent, zum Beispiel 50 für Teilzeit bis 50 %. | |
| workload_min | No | Mindestpensum in Prozent. | |
| published_within | No | Nur Inserate, die heute (today) oder in den letzten 3, 7 oder 30 Tagen veröffentlicht wurden. Ohne Angabe alle. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds genuinely non-redundant behavior: it returns the 20 newest hits and exposes a more_url when the result set is larger, which is valuable pagination information not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with purpose then filters then return shape then pagination. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description covers return values (title, employer, place, workload, link) and the 20-hit limit with more_url fallback. Combined with the fully documented 7-parameter schema and annotation coverage, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents every filter with examples, defaults (radius 10 km, 0 = only the place) and enum values. The description restates the filter set (Stichwort, Ort mit Umkreis, Pensum, Kategorie, Veröffentlichungsdatum) but adds no syntax or format detail beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Sucht) and resource (Stelleninserate) plus the platform funkyjobs.ch and the job types covered, so an agent immediately knows this is a job-listing search rather than a detail fetch. It is clearly distinguishable from the sibling get_job, which by name retrieves a single listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this applies: searching current listings with the enumerated filters (keyword, place/radius, workload, category, publication date). It does not explicitly name get_job as the follow-up for full details, so routing to the alternative is only implied by the thin per-hit result fields.
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.
2 tool updates
- First observed
get_job - First observed
search_jobs
Publisher details
- Operator
- SIGMA7 GmbH
- Operator website
- https://www.funkyjobs.ch
- Vendor relationship
- First-party
- Documentation
- https://www.funkyjobs.ch/mcp-connector
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
Public MCP server for discovering open jobs. Search, filter, and get application links.
Google Jobs listings with direct apply links via the Apify Google Jobs Scraper, hosted MCP.
Search job postings across Indeed, LinkedIn, and more from one request - titles, companies
A jobs data API and MCP server. Every listing comes from the employer's own career site, an ATS feed or a government employment service, never resold from another board. Each row names its source and when we last confirmed the vacancy existed, and a role that disappears keeps a closure date and a reason. Six tools: search_jobs, get_job, company_hiring, market_signals, coverage, changes_since.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables users to search job postings with keyword, location, remote-only, date, and limit filters, and retrieve individual job details via MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search job listings on jobo.pl with keyword, location, remote-only, posted-after, and limit filters, and to retrieve individual job details from apply URLs. It exposes read-only tools compatible with any MCP Host.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP hosts to search dynamitejobs.com job listings and retrieve individual job details through read-only tools with keyword, location, remote, date, and limit filtering.MIT
- AlicenseNot gradedqualityCmaintenanceEnables any MCP host to search and retrieve job listings from remotedatajobs.com through keyword, location, remote-only, posted-date, and limit filters, plus detail lookup by URL.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.