Workfeed MCP by usefulapi

Review staffing, availability and leave; create or update shifts with confirmation.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
72%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'workfeed_list_salary_supplements' name length outside 3-30 rangein workfeed_list_salary_supplements

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,812Tokens (Tool-Definitionen)
~1.1 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.20% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "workfeed": {
      "url": "https://workfeed.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://workfeed.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (17)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢workfeed_list_departments

Department names and IDs. GET /departments. Unpaginated vendor response, bounded to5000rows and2MiB here.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_roles

Roles and their department IDs. GET /roles. Unpaginated vendor response, bounded to5000rows and2MiB here.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_employees

Scheduling/contact fields only; excludes national IDs, banking, tax, emergency contacts, wages, addresses and custom fields. GET /employees. Unpaginated vendor response, bounded to5000rows and2MiB here.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_settings

Pay-period and shift-break settings. GET /settings. Unpaginated vendor response, bounded to5000rows and2MiB here.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_salary_supplements

Read supplement definitions, not flex-hour supplements. Duration days are inclusive in company timezone. GET /salary-supplements. Unpaginated vendor response, bounded to5000rows and2MiB here.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_employee(id)

Read one selected employee. Staff responses exclude payroll identifiers; leave notes are omitted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_shift(id)

Read one selected shift. Staff responses exclude payroll identifiers; leave notes are omitted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_leave(id)

Read one selected leave. Staff responses exclude payroll identifiers; leave notes are omitted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_availability(id)

Read one selected availability. Staff responses exclude payroll identifiers; leave notes are omitted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_shifts(startFrom, startTo, employeeID, released, roleID, ...)

Read shifts whose start>=startFrom and start<startTo (not overlap). Maximum93days per request here. Optional role and department must agree. No vendor pagination parameter is invented.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "startFrom": {
      "type": "string",
      "maxLength": 40
    },
    "startTo": {
      "type": "string",
      "maxLength": 40
    },
    "employeeID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "released": {
      "type": "boolean"
    },
    "roleID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "departmentID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    }
  },
  "required": [
    "startFrom",
    "startTo"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_leaves(from, to, employeeIDs, typeIDs, includeDeleted)

Read any leave overlapping from/to, including leave beginning before the range. Max93days here. Free-text leave notes omitted. Repeated employeeIDs/typeIDs filters; includeDeleted defaults true upstream.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 40
    },
    "to": {
      "type": "string",
      "maxLength": 40
    },
    "employeeIDs": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Opaque Workfeed ID from a preceding read; not a UUID."
      }
    },
    "typeIDs": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Opaque Workfeed ID from a preceding read; not a UUID."
      }
    },
    "includeDeleted": {
      "type": "boolean"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_availabilities(from, to, employeeID, type)

Read contained records: start>=from AND end<to, max93days here. End exactly at to is excluded; allow an extra second beyond the last desired end. This differs from leave overlap.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 40
    },
    "to": {
      "type": "string",
      "maxLength": 40
    },
    "employeeID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "type": {
      "type": "string",
      "enum": [
        "WORK",
        "NO_WORK"
      ]
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_list_department_days(departmentID, from, to)

Read stored daily notes, manual revenue, extra labor and targets; from inclusive/to exclusive company-zone days, max93days here. Array may include null for unstored days. Calculated labor totals use get_department_stats.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "departmentID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    }
  },
  "required": [
    "departmentID",
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_department_day(departmentID, date)

Read one stored daily record; a successful null means no data is stored for that day.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "departmentID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "date": {
      "type": "string"
    }
  },
  "required": [
    "departmentID",
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workfeed_get_department_stats(departmentID, from, to)

Calculated per-day laborCost/revenue, with from/to inclusive company-zone days, at most31days. Prefer laborCost here: shift grossPay is0 for monthly-paid staff. laborPercentage null when revenue0 is not0%.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "departmentID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    }
  },
  "required": [
    "departmentID",
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workfeed_create_shift(confirm, roleID, start, end, employeeID, ...)

Create one shift after the user approves its exact staff, role and times. confirm:true is mandatory. released:true publishes it and cannot be undone through this connector. employeeID:null creates an unassigned shift. No automatic retry; inspect before retrying an uncertain outcome.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "confirm": {
      "type": "boolean",
      "const": true
    },
    "roleID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "start": {
      "type": "string",
      "maxLength": 40
    },
    "end": {
      "type": "string",
      "maxLength": 40
    },
    "employeeID": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9_-]+$",
          "description": "Opaque Workfeed ID from a preceding read; not a UUID."
        },
        {
          "type": "null"
        }
      ]
    },
    "released": {
      "type": "boolean"
    },
    "comment": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "type": "null"
        }
      ]
    },
    "tagIDs": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Opaque Workfeed ID from a preceding read; not a UUID."
      }
    }
  },
  "required": [
    "confirm",
    "roleID",
    "start",
    "end",
    "employeeID",
    "released",
    "comment"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workfeed_update_shift(id, confirm, expectedUpdateTime, roleID, start, ...)

Update one shift after user review; confirm:true required. Pre-reads current shift, optionally rejects stale expectedUpdateTime, and never changes either original UTC calendar day. Vendor additionally enforces company-date rules. Published shifts cannot be unpublished. No deletes or automatic write retries; inspect uncertain outcomes.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "confirm": {
      "type": "boolean",
      "const": true
    },
    "expectedUpdateTime": {
      "type": "string",
      "maxLength": 40
    },
    "roleID": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Opaque Workfeed ID from a preceding read; not a UUID."
    },
    "start": {
      "type": "string",
      "maxLength": 40
    },
    "end": {
      "type": "string",
      "maxLength": 40
    },
    "employeeID": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9_-]+$",
          "description": "Opaque Workfeed ID from a preceding read; not a UUID."
        },
        {
          "type": "null"
        }
      ]
    },
    "released": {
      "type": "boolean"
    },
    "comment": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 5000
        },
        {
          "type": "null"
        }
      ]
    },
    "tagIDs": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Opaque Workfeed ID from a preceding read; not a UUID."
      }
    }
  },
  "required": [
    "id",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet17 Tools