Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CAREMAN_URLYesBase URL of your CareMan instance
CAREMAN_PASSWORDYesYour CareMan password
CAREMAN_USERNAMEYesYour CareMan login name

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_planungsgruppenA

Returns all planning groups (Planungsgruppen) visible to the logged-in employee for the given month. Use this to discover available group IDs before calling get_abteilungsdienstplan.

Returns: Array of { name: string, id: number }

Example IDs (may vary per installation): 948 = RW 44 Haßloch 949 = RW 51 Neustadt

get_abteilungsdienstplanA

Returns the full team duty roster (Abteilungsdienstplan) for one planning group and month. Contains every employee with their assigned duty codes per day.

Returns raw API data: { data: { from, to, data: [{ // one entry per employee item1: { id, name }, // employee info item2: { data: [{ // assigned days only (sparse) day: { date, bankHolidayName, isSchoolHoliday }, shortName // duty code, e.g. "H31T" }]} }], legendDuties: { ... }, // duty code definitions with times legendLeavePeriods: { ... } } }

Use get_planungsgruppen first to find the planningGroupId.

get_rosters_preloadA

Returns the personal roster preload for one month. A single API call that covers multiple areas: Einsatzwünsche, Vakante Dienste, and Diensttausch.

Returns raw API data with these top-level keys: { rosterUrlaubEinsatzwunsch: { // personal calendar + shift requests data: { data: [{ item1: { name, id }, // employee (self) item2: { data: [{ // all days of the month (not sparse) day: { date, bankHolidayName, isSchoolHoliday }, shortName, // duty type label shortNameSollplan, // concrete duty code, e.g. "H31T" einsatzwunsch: boolean, // true = shift request exists for this day prioritaet: boolean, beantragt: boolean, // requested genehmigt: boolean, // approved einsatzwunschWunsch: number, // wish priority level kommentar: string }]} }]} },

swapDutyOffersOffered: { // Diensttausch: offers from others (can accept) data: { offers: [{ id, date, offerer, acceptor, dutiesOfferer: { data: [string] }, dutiesAcceptor: { data: [string] }, workstationsOfferer, planninggroupsOfferer, workstationsAcceptor, planninggroupsAcceptor, state, comment }]} },

swapDutyOffersOwn: { // Diensttausch: own offers data: { offers: [...] } },

vacantDutiesOccupied: { // Vakante Dienste: taken on by employee data: { duties: [{ idVacantDuty, atDate, nameWorkstation, duty, occupyUntil, state, comment, isAssumed, idPlanningGroup, namePlanningGroup }], legendDuties: { ... } } },

vacantDutiesAssumed: { // Vakante Dienste: assumed but pending data: { duties: [...] } },

fehlzeiten: { ... } // absences }

get_vakante_duty_detailsA

Returns full shift details for a single vacant duty entry.

Use idVacantDuty from get_rosters_preload → vacantDutiesOccupied.data.duties[].idVacantDuty

Returns: { day, from, to, employeeId, entries: [{ shortName, // duty code nameWorkplace, shortNameWorkplace, nameShiftType, nameRole, from, to, // UTC shift start/end times stringDuration, // e.g. "12h00" genehmigungsebene }] }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jalibu/careman-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server