Skip to main content
Glama
iwsen

Arbetsförmedlingen MCP

by iwsen

Job statistics

job_stats
Read-onlyIdempotent

Counts job ads by region, municipality, occupation, field, skill, or other dimensions, using the same filters as job search to reveal labour-market demand.

Instructions

Number of jobs broken down by region, municipality, occupation, field, skill, etc. For example: "how many Python jobs per region". Accepts the same filters as search_jobs.

Input Schema

NameRequiredDescriptionDefault
qNoFree text: job title, technology, employer, e.g. "python" or "sjuksköterska"
topNoRows per field
skillNoSkills. Names ("Python") or concept ids from the taxonomy
regionNoRegions (län). Names ("Stockholms län") or concept ids from the taxonomy
remoteNotrue — jobs where remote work is likely
larlingNotrue — apprenticeships (lärling)
traineeNotrue — traineeships (trainee)
employerNoEmployer name or organization number (digits only)
group_byNoFields to group by
latitudeNoLatitude for radius search
longitudeNoLongitude for radius search
radius_kmNoRadius in km (requires latitude and longitude)
occupationNoOccupations. Names ("Systemutvecklare") or concept ids from the taxonomy
municipalityNoMunicipalities. Names ("Göteborg") or concept ids from the taxonomy
open_for_allNotrue — "Öppen för alla" ads
employment_typeNoEmployment type. Names ("Vanlig anställning") or concept ids from the taxonomy
published_afterNoISO date or datetime (YYYY-MM-DD / YYYY-MM-DDTHH:MM:SS), or a number of minutes ago
workplace_modelNoWorkplace model. Names ("Distans") or concept ids from the taxonomy
worktime_extentNoWorking hours. Names ("Heltid") or concept ids from the taxonomy
occupation_fieldNoOccupation fields. Names ("Data/IT") or concept ids from the taxonomy
published_beforeNoISO date or datetime
experience_not_requiredNotrue — only jobs with no experience requirement
driving_license_requiredNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds the key behavioral fact not in annotations: the result is aggregated counts per grouping dimension, not job records. It does not discuss result shape or how large the breakdown can get, leaving a modest gap.

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?

Two tight sentences: the core purpose with its grouping dimensions is front-loaded, followed by a concrete example and the sibling relationship. Nothing is redundant.

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 23-parameter tool with no output schema, the description should clarify the return structure (how counts are keyed per group_by field) and any limits on the breakdown. The example query hints at this but does not describe the response, which is a noticeable gap given the tool's complexity.

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 96%, so nearly every parameter is documented in the schema itself, including top, group_by and the taxonomy-name-or-id convention. The description adds only the inherited-from-search_jobs framing and no syntax or behavior detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and operation: counts of jobs broken down by region, municipality, occupation, field, skill. The example ("how many Python jobs per region") makes the aggregation nature unambiguous and separates it from search_jobs, which returns listings rather than counts.

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?

"Accepts the same filters as search_jobs" establishes this as the aggregation counterpart to the sibling search tool, giving the agent a clear basis for choosing between them. It stops short of an explicit when-to-use/when-not statement or naming the alternative as the tool for raw listings.

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

Deploy Server

Other Tools