Jobroulette

Jobs in Germany, Austria and Switzerland matched to your resume.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
93%
Integridad del esquema
71%
Calidad de los nombres
91%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'list_job_applications' description lacks action verben list_job_applications
  • LOWTool 'list_employer_introductions' description lacks action verben list_employer_introductions

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~9,451Tokens (definiciones de herramientas)
~7.9 KBTamaño de respuesta típico
Impacto significativo en la atención (7.38% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "jobroulette": {
      "url": "https://mcp.jobroulette.de/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.jobroulette.de/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🔴upload_resume(freitext, pdf, felder, wunsch, datei)

Use this when the user is looking for a job (Stelle) and shares their resume, CV or Lebenslauf, or wants to change the one on file. Two steps with the same tool. First call it with freitext (the resume as text), pdf (a PDF, Base64) or datei (an attached PDF): the resume is only **read**, the extracted fields come back under `entwurf`, and nothing is saved yet — except that a PDF is kept as the user’s one resume document and replaces the previous one. Show the user these fields and let them correct whatever was misread. Then call this tool again with felder: only that saves the resume, and the first time it also selects five job matches — call get_job_matches to show them. Never save fields the user has not seen. Each user has exactly one resume; saving again updates it and brings no new job matches — those come only from refresh_job_matches. Jobroulette covers IT, sales, operations, engineering, marketing, finance and legal, and HR: if the saved resume carries `imZuschnitt` false, tell the user that their resume does not look like any of these fields and the matches will therefore probably not fit them. Before the first resume, the user has to consent to its processing themselves on the Jobroulette website; until then this tool fails with einwilligung_fehlt, quoting the consent text and the page where the user gives it. Show both to the user — you cannot consent on their behalf. Exactly one of freitext, pdf, datei, felder per call. Scope: cv:schreiben.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "freitext": {
      "description": "Der CV als Text, so wie der Pro ihn geschrieben oder eingefügt hat. Wird gelesen, nicht hinterlegt.",
      "type": "string",
      "minLength": 1
    },
    "pdf": {
      "description": "Der CV als PDF mit Textebene, Base64-kodiert, höchstens 5 MiB. Scans werden abgelehnt. Wird gelesen, nicht hinterlegt.",
      "type": "string",
      "minLength": 1,
      "maxLength": 6990508,
      "format": "base64",
      "contentEncoding": "base64",
      "pattern": "^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"
    },
    "felder": {
      "description": "Der vom Pro bestätigte CV in einzelnen Angaben — nur damit wird hinterlegt. Pflicht: Berufsbezeichnung, Berufsjahre, mindestens eine Kenntnis.",
      "type": "object",
      "properties": {
        "berufsbezeichnung": {
          "type": "string",
          "minLength": 1
        },
        "berufsjahre": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "kenntnisse": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "stationen": {
          "default": [],
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "arbeitgeber": {
                "type": "string",
                "minLength": 1
              },
              "rolle": {
                "type": "string",
                "minLength": 1
              },
              "von": {
                "type": "string",
                "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
              },
              "bis": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "beschreibung": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "arbeitgeber",
              "rolle",
              "von",
              "bis"
            ]
          }
        },
        "ausbildung": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "studienabschluss": {
          "default": null,
          "type": [
            "boolean",
            "null"
          ]
        },
        "sprachen": {
          "default": [],
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "required": [
        "berufsbezeichnung",
        "berufsjahre",
        "kenntnisse"
      ]
    },
    "wunsch": {
      "description": "Was der Pro sucht und seinem CV nicht zu entnehmen ist, in seinen Worten, höchstens 280 Zeichen — etwa „nur remote, Vollzeit, ab März\". Daraus werden Umfang, Vertragsart, Arbeitsort, Orte, Seniorität, Branchen, Mindestgehalt, Unternehmensgröße und ausgeschlossene Arbeitgeber gelesen. Nur mit felder; ohne ihn bleibt der bisherige.",
      "type": "string",
      "maxLength": 280
    },
    "datei": {
      "description": "The resume as an attached PDF file.",
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "minLength": 1
        },
        "file_id": {
          "type": "string",
          "minLength": 1
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "entwurf": {
      "description": "Bei freitext oder pdf: die gelesenen Felder. Es ist nichts hinterlegt worden. Lege sie dem Pro vor, lass ihn korrigieren und rufe dann erneut mit felder auf.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "freitext": {
              "type": "string",
              "minLength": 1
            },
            "felder": {
              "type": "object",
              "properties": {
                "berufsbezeichnung": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "berufsjahre": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "kenntnisse": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "stationen": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "arbeitgeber": {
                        "type": "string",
                        "minLength": 1
                      },
                      "rolle": {
                        "type": "string",
                        "minLength": 1
                      },
                      "von": {
                        "type": "string",
                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                      },
                      "bis": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "beschreibung": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "arbeitgeber",
                      "rolle",
                      "von",
                      "bis"
                    ],
                    "additionalProperties": false
                  }
                },
                "ausbildung": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "studienabschluss": {
                  "default": null,
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "sprachen": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "berufsbezeichnung",
                "berufsjahre",
                "kenntnisse",
                "stationen",
                "ausbildung",
                "studienabschluss",
                "sprachen"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "freitext",
            "felder"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "angelegt": {
      "description": "Bei felder: der hinterlegte CV. Beim ersten stehen damit fünf Stellenvorschläge bereit, get_job_matches zeigt sie. Ein geänderter CV ändert sie nicht; neue gibt es nur mit refresh_job_matches.",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "felder": {
              "type": "object",
              "properties": {
                "berufsbezeichnung": {
                  "type": "string",
                  "minLength": 1
                },
                "berufsjahre": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "kenntnisse": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "stationen": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "arbeitgeber": {
                        "type": "string",
                        "minLength": 1
                      },
                      "rolle": {
                        "type": "string",
                        "minLength": 1
                      },
                      "von": {
                        "type": "string",
                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                      },
                      "bis": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "beschreibung": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "arbeitgeber",
                      "rolle",
                      "von",
                      "bis"
                    ],
                    "additionalProperties": false
                  }
                },
                "ausbildung": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "studienabschluss": {
                  "default": null,
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "sprachen": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "required": [
                "berufsbezeichnung",
                "berufsjahre",
                "kenntnisse",
                "stationen",
                "ausbildung",
                "studienabschluss",
                "sprachen"
              ],
              "additionalProperties": false
            },
            "wunsch": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1
                },
                {
                  "type": "null"
                }
              ]
            },
            "imZuschnitt": {
              "type": "boolean",
              "description": "Whether the resume falls within the fields Jobroulette covers: IT; sales and business development; operations, strategy and projects; engineering and R&D outside IT; marketing, content and design; finance, legal and compliance; HR and recruiting. If false, tell the user that their resume does not look like any of these fields and the job matches will therefore probably not fit them; they may continue anyway."
            }
          },
          "required": [
            "felder",
            "wunsch",
            "imZuschnitt"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_job_matches

Use this when the user asks for jobs (Stellen) that fit them or wants to see their job matches again. Returns the five jobs currently matched to their resume. Nothing is recalculated: the selection stays until the user replaces it with refresh_job_matches, even if they change their resume; `erneuerbarAb` says from when that is possible. A job with `zustand` `verschwunden` is no longer advertised: tell the user so and do not offer to apply; from the next day on it is left out. Scope: cv:lesen.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "vollstaendig": {
      "type": "boolean"
    },
    "hinweis": {
      "type": [
        "string",
        "null"
      ]
    },
    "erneuerbarAb": {
      "anyOf": [
        {
          "type": "string",
          "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": "null"
        }
      ]
    },
    "stellen": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stelleId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "titel": {
            "type": "string",
            "minLength": 1
          },
          "arbeitgeber": {
            "type": "string",
            "minLength": 1
          },
          "url": {
            "type": "string",
            "minLength": 1
          },
          "standorte": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "arbeitsort": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "vor_ort",
                  "hybrid",
                  "fern"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "bewerbungsweg": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "mail",
                  "kontakt",
                  "formular"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "formularUrl": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "begruendung": {
            "default": null,
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "dafuer": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "skills"
                            },
                            "treffer": {
                              "minItems": 1,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "gefordert": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "art",
                            "treffer",
                            "gefordert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "ort"
                            },
                            "stellenort": {
                              "type": "string",
                              "minLength": 1
                            },
                            "wunschort": {
                              "type": "string",
                              "minLength": 1
                            },
                            "entfernungKm": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "art",
                            "stellenort",
                            "wunschort",
                            "entfernungKm"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "arbeitsort"
                            },
                            "wert": {
                              "type": "string",
                              "enum": [
                                "vor_ort",
                                "hybrid",
                                "fern"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "wert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "fern"
                            },
                            "orte": {
                              "minItems": 1,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          },
                          "required": [
                            "art",
                            "orte"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "umfang"
                            },
                            "wert": {
                              "type": "string",
                              "enum": [
                                "vollzeit",
                                "teilzeit"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "wert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "vertragsart"
                            },
                            "wert": {
                              "type": "string",
                              "enum": [
                                "befristet",
                                "unbefristet"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "wert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "stufe"
                            },
                            "wert": {
                              "type": "string",
                              "enum": [
                                "praktikum",
                                "einstieg",
                                "junior",
                                "mittel",
                                "senior",
                                "lead",
                                "leitung"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "wert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "branche"
                            },
                            "wert": {
                              "type": "string",
                              "enum": [
                                "software",
                                "it_dienstleistung",
                                "telekommunikation",
                                "finanzen",
                                "versicherung",
                                "krypto",
                                "handel",
                                "konsumgueter",
                                "gesundheit",
                                "pharma_biotech",
                                "industrie",
                                "automobil",
                                "luft_raumfahrt",
                                "ruestung",
                                "energie",
                                "logistik",
                                "immobilien_bau",
                                "medien",
                                "marketing",
                                "gaming",
                                "gluecksspiel",
                                "beratung",
                                "recht_steuern",
                                "personal",
                                "bildung_forschung",
                                "freizeit",
                                "oeffentlich_gemeinnuetzig"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "wert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "gehalt"
                            },
                            "von": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "bis": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "waehrung": {
                              "type": "string",
                              "enum": [
                                "EUR",
                                "CHF"
                              ]
                            },
                            "mindestens": {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "art",
                            "von",
                            "bis",
                            "waehrung",
                            "mindestens"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "groesse"
                            },
                            "klassen": {
                              "minItems": 1,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "klein",
                                  "mittel",
                                  "gross",
                                  "konzern"
                                ]
                              }
                            }
                          },
                          "required": [
                            "art",
                            "klassen"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "dagegen": {
                    "type": "array",
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "skills_fehlen"
                            },
                            "fehlend": {
                              "minItems": 1,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1
                              }
                            },
                            "gefordert": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "art",
                            "fehlend",
                            "gefordert"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "keine_skills"
                            }
                          },
                          "required": [
                            "art"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "unscharf"
                            },
                            "wunsch": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "required": [
                            "art",
                            "wunsch"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "unbekannt"
                            },
                            "kriterium": {
                              "type": "string",
                              "enum": [
                                "ort",
                                "arbeitsort",
                                "umfang",
                                "vertragsart",
                                "stufe",
                                "branche",
                                "groesse"
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "kriterium"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "art": {
                              "type": "string",
                              "const": "gehalt_unbekannt"
                            },
                            "mindestens": {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            "schaetzung": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "von": {
                                      "anyOf": [
                                        {
                                          "type": "integer",
                                          "minimum": -9007199254740991,
                                          "maximum": 9007199254740991
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "bis": {
                                      "anyOf": [
                                        {
                                          "type": "integer",
                                          "minimum": -9007199254740991,
                                          "maximum": 9007199254740991
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "waehrung": {
                                      "type": "string",
                                      "enum": [
                                        "EUR",
                                        "CHF"
                                      ]
                                    },
                                    "herkunft": {
                                      "type": "string",
                                      "enum": [
                                        "anzeige",
                                        "branche"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "von",
                                    "bis",
                                    "waehrung",
                                    "herkunft"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "art",
                            "mindestens",
                            "schaetzung"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "dafuer",
                  "dagegen"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "umfang": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "vollzeit",
                  "teilzeit"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "vertragsart": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "befristet",
                  "unbefristet"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "beschaeftigungsstatus": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "regulaer",
                  "werkstudent",
                  "praktikum",
                  "ausbildung",
                  "freiberuflich"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "gehalt": {
            "default": null,
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "von": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "bis": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "waehrung": {
                    "type": "string",
                    "enum": [
                      "EUR",
                      "CHF"
                    ]
                  },
                  "herkunft": {
                    "type": "string",
                    "enum": [
                      "anzeige",
                      "branche"
                    ]
                  }
                },
                "required": [
                  "von",
                  "bis",
                  "waehrung",
                  "herkunft"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "zustand": {
            "default": "offen",
            "type": "string",
            "enum": [
              "offen",
              "verschwunden"
            ]
          }
        },
        "required": [
          "stelleId",
          "titel",
          "arbeitgeber",
          "url",
          "standorte",
          "arbeitsort",
          "bewerbungsweg",
          "formularUrl",
          "begruendung",
          "umfang",
          "vertragsart",
          "beschaeftigungsstatus",
          "gehalt",
          "zustand"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "vollstaendig",
    "hinweis",
    "erneuerbarAb",
    "stellen"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴refresh_job_matches

Use this only when the user explicitly asks for new or different jobs (neue Stellen) than the ones already matched. Replaces the current matches with up to five jobs never matched to this user before and says how many; call get_job_matches to show them. Once every 24 hours; an earlier call is refused with zu_frueh and names the time from which it works. Scope: cv:schreiben.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "vollstaendig": {
      "type": "boolean"
    },
    "hinweis": {
      "type": [
        "string",
        "null"
      ]
    },
    "erneuerbarAb": {
      "anyOf": [
        {
          "type": "string",
          "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": "null"
        }
      ]
    },
    "anzahl": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "vollstaendig",
    "hinweis",
    "erneuerbarAb",
    "anzahl"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢draft_job_application(stelleId)

Use this when the user wants to apply for one of their matched jobs (Bewerbung). Drafts an application by email for that job: recipient from the posting, subject, cover letter and the stored resume document as attachment. Sends nothing. Show the user the draft, let them edit the cover letter and sign it with their name. If the posting asks for more (salary expectation, earliest start date, a cover letter, certificates), forderungen names each with a hint for the user; the cover letter then holds a line with [bitte eintragen] that must be filled in or removed before sending. If the posting names no email address for applications, the call is refused and names the posting. Scope: cv:lesen.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "stelleId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "stelleId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "stelleId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "titel": {
      "type": "string",
      "minLength": 1
    },
    "arbeitgeber": {
      "type": "string",
      "minLength": 1
    },
    "url": {
      "type": "string",
      "minLength": 1
    },
    "empfaenger": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "betreff": {
      "type": "string",
      "minLength": 1
    },
    "anschreiben": {
      "type": "string",
      "minLength": 1
    },
    "anhang": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "dateiname": {
              "type": "string",
              "minLength": 1
            },
            "groesse": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "dateiname",
            "groesse"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "forderungen": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "art": {
            "type": "string",
            "enum": [
              "gehaltsvorstellung",
              "eintrittstermin",
              "anschreiben",
              "zeugnisse"
            ]
          },
          "hinweis": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "art",
          "hinweis"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "stelleId",
    "titel",
    "arbeitgeber",
    "url",
    "empfaenger",
    "betreff",
    "anschreiben",
    "anhang",
    "forderungen"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴send_job_application(stelleId, anschreiben, anhang, datei)

Use this when the user has seen the draft of their job application (Bewerbung) and explicitly wants it sent. Sends exactly one email to the employer, with the cover letter and the user’s resume document or another PDF (anhang or datei) as attachment. The call is the user’s consent for exactly this job: make it only after they have seen the draft and explicitly asked to send it. A second call for the same job sends nothing and names the first application. Scope: bewerbung:senden.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "stelleId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "anschreiben": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "anhang": {
      "type": "object",
      "properties": {
        "pdf": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2031616,
          "format": "base64",
          "contentEncoding": "base64",
          "pattern": "^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$"
        },
        "dateiname": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        }
      },
      "required": [
        "pdf",
        "dateiname"
      ]
    },
    "datei": {
      "description": "The attachment as an attached PDF file.",
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string",
          "minLength": 1
        },
        "file_id": {
          "type": "string",
          "minLength": 1
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ]
    }
  },
  "required": [
    "stelleId",
    "anschreiben"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "stelleId": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        {
          "type": "null"
        }
      ]
    },
    "titel": {
      "type": "string",
      "minLength": 1
    },
    "arbeitgeber": {
      "type": "string",
      "minLength": 1
    },
    "empfaenger": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "betreff": {
      "type": "string",
      "minLength": 1
    },
    "anhang": {
      "type": "object",
      "properties": {
        "dateiname": {
          "type": "string",
          "minLength": 1
        },
        "groesse": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "dateiname",
        "groesse"
      ],
      "additionalProperties": false
    },
    "zustellung": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "abgelehnt",
            "angenommen",
            "zugestellt",
            "unzustellbar",
            "gesperrt"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "gesendetAm": {
      "type": "string",
      "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))$"
    }
  },
  "required": [
    "stelleId",
    "titel",
    "arbeitgeber",
    "empfaenger",
    "betreff",
    "anhang",
    "zustellung",
    "gesendetAm"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_job_applications

Use this when the user asks about the job applications (Bewerbungen) they have sent. Returns each application: to whom, when, with which attachment and how far delivery has got; "angenommen" means on its way, not delivered. Scope: cv:lesen.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "bewerbungen": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stelleId": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              {
                "type": "null"
              }
            ]
          },
          "titel": {
            "type": "string",
            "minLength": 1
          },
          "arbeitgeber": {
            "type": "string",
            "minLength": 1
          },
          "empfaenger": {
            "type": "string",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "betreff": {
            "type": "string",
            "minLength": 1
          },
          "anhang": {
            "type": "object",
            "properties": {
              "dateiname": {
                "type": "string",
                "minLength": 1
              },
              "groesse": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "dateiname",
              "groesse"
            ],
            "additionalProperties": false
          },
          "zustellung": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "abgelehnt",
                  "angenommen",
                  "zugestellt",
                  "unzustellbar",
                  "gesperrt"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "gesendetAm": {
            "type": "string",
            "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))$"
          }
        },
        "required": [
          "stelleId",
          "titel",
          "arbeitgeber",
          "empfaenger",
          "betreff",
          "anhang",
          "zustellung",
          "gesendetAm"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "bewerbungen"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_employer_introductions(nurOffene)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "nurOffene": {
      "default": true,
      "description": "Only the unanswered offers. false also returns the answered ones.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "vorschlaege": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "arbeitgeber": {
            "type": "string",
            "minLength": 1
          },
          "titel": {
            "type": "string",
            "minLength": 1
          },
          "standorte": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "minLength": 1
          },
          "stelleGeloescht": {
            "type": "boolean"
          },
          "gefragtAm": {
            "anyOf": [
              {
                "type": "string",
                "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": "null"
              }
            ]
          },
          "stand": {
            "type": "string",
            "enum": [
              "offen",
              "abgelehnt",
              "zugestimmt",
              "widerrufen",
              "vorgestellt"
            ]
          },
          "zustimmungsseite": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "arbeitgeber",
          "titel",
          "standorte",
          "url",
          "stelleGeloescht",
          "gefragtAm",
          "stand",
          "zustimmungsseite"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "vorschlaege"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴decline_employer_introduction(id)

Use this when the user does not want to be introduced to an employer for a job (Vermittlungsvorschlag ablehnen). Declines the offer on the user’s behalf. The first answer counts: a declined offer cannot be accepted later, and a second call changes nothing and says so. To accept, the user ticks the box themselves on the page named in list_employer_introductions. Scope: vermittlung:zustimmen.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The id of the offer from list_employer_introductions."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "arbeitgeber": {
      "type": "string",
      "minLength": 1
    },
    "titel": {
      "type": "string",
      "minLength": 1
    },
    "standorte": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "url": {
      "type": "string",
      "minLength": 1
    },
    "stelleGeloescht": {
      "type": "boolean"
    },
    "gefragtAm": {
      "anyOf": [
        {
          "type": "string",
          "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": "null"
        }
      ]
    },
    "stand": {
      "type": "string",
      "enum": [
        "offen",
        "abgelehnt",
        "zugestimmt",
        "widerrufen",
        "vorgestellt"
      ]
    }
  },
  "required": [
    "id",
    "arbeitgeber",
    "titel",
    "standorte",
    "url",
    "stelleGeloescht",
    "gefragtAm",
    "stand"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴withdraw_employer_introduction(id)

Use this when the user wants to take back their consent to be introduced to an employer for a job (Zustimmung zur Vermittlung widerrufen). Works until Jobroulette has presented the user; after that the employer handles the data on its own responsibility, and this tool fails and says so. A second call changes nothing. Scope: vermittlung:zustimmen.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The id of the offer from list_employer_introductions."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "arbeitgeber": {
      "type": "string",
      "minLength": 1
    },
    "titel": {
      "type": "string",
      "minLength": 1
    },
    "standorte": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "url": {
      "type": "string",
      "minLength": 1
    },
    "stelleGeloescht": {
      "type": "boolean"
    },
    "gefragtAm": {
      "anyOf": [
        {
          "type": "string",
          "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": "null"
        }
      ]
    },
    "stand": {
      "type": "string",
      "enum": [
        "offen",
        "abgelehnt",
        "zugestimmt",
        "widerrufen",
        "vorgestellt"
      ]
    }
  },
  "required": [
    "id",
    "arbeitgeber",
    "titel",
    "standorte",
    "url",
    "stelleGeloescht",
    "gefragtAm",
    "stand"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas