Skip to main content
Glama

List offers to introduce you to an employer (Vermittlung)

list_employer_introductions
Read-onlyIdempotent

Use this when the user asks whether Jobroulette wants to introduce them to an employer for a job (Vermittlung). Returns the introduction offers: at which employer Jobroulette would like to present the user, which job it is about and when the user was asked. Only the user can accept an offer, on the Jobroulette website: zustimmungsseite is the page where they do it — give them this link. Scope: cv:lesen.

Input Schema

NameRequiredDescriptionDefault
nurOffeneNoOnly the unanswered offers. false also returns the answered ones.

Output Schema

NameRequiredDescriptionDefault
vorschlaegeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • removedOutput schema / properties / vorschlaege / items / properties / antwort
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "enum": [
      -        "ja",
      -        "nein"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / beantwortetAm
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "date-time",
      -      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / cvFassungVom
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "date-time",
      -      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / cvVorhanden
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / kanal
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "enum": [
      -        "mail",
      -        "deck",
      -        "mcp"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / vorschlaege / items / properties / stand
      Added value: +{
      +  "enum": [
      +    "offen",
      +    "abgelehnt",
      +    "zugestimmt",
      +    "widerrufen",
      +    "vorgestellt"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / properties / vorschlaege / items / properties / vorgestelltAm
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "date-time",
      -      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / widerrufKanal
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "enum": [
      -        "mail",
      -        "deck",
      -        "mcp"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / vorschlaege / items / properties / widerrufenAm
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "date-time",
      -      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / vorschlaege / items / properties / zustimmungsseite
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • changedOutput schema / properties / vorschlaege / items / required
      Previous value: -[
      -  "id",
      -  "arbeitgeber",
      -  "titel",
      -  "standorte",
      -  "url",
      -  "stelleGeloescht",
      -  "gefragtAm",
      -  "antwort",
      -  "beantwortetAm",
      -  "kanal",
      -  "cvFassungVom",
      -  "cvVorhanden",
      -  "widerrufenAm",
      -  "widerrufKanal",
      -  "vorgestelltAm"
      -]New value: +[
      +  "id",
      +  "arbeitgeber",
      +  "titel",
      +  "standorte",
      +  "url",
      +  "stelleGeloescht",
      +  "gefragtAm",
      +  "stand",
      +  "zustimmungsseite"
      +]
  2. First observed

TDQS

A4.3/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 the safety profile is covered. The description adds real context beyond that: the required scope `cv:lesen`, and the constraint that the agent cannot accept an offer on the user's behalf but must hand over the `zustimmungsseite` link. It does not cover pagination or volume limits, keeping it just short of a 5.

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?

Front-loaded with the trigger condition, then return contents, then the acceptance constraint and link, then scope. Sentences are dense and purposeful, though the return-value enumeration partially duplicates what the output schema already declares.

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?

An output schema exists, so the description needn't detail return shape, and it still names the key fields; auth scope and the accept-on-website constraint round it out. The only omission an agent might want is that `nurOffene` can be set to false to include answered offers.

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 single parameter `nurOffene` has full schema description coverage, so the schema already explains that false also returns answered offers. The description never mentions this filter, so it adds nothing on top of the structured field. 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 (list employer introduction offers / Vermittlung) and enumerates the returned fields: employer, job, and when the user was asked. An agent can distinguish it from decline_employer_introduction and withdraw_employer_introduction without opening any schema.

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?

Gives an explicit trigger ("Use this when the user asks whether Jobroulette wants to introduce them to an employer") and an explicit exclusion: acceptance is not done here, only by the user on the Jobroulette website via the `zustimmungsseite` link. That routes the agent away from the sibling mutation tools by name of action.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources