Quinyx MCP by usefulapi
Read groups, roles, employees, agreement metadata, role assignments and planned shifts.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"quinyx": {
"url": "https://quinyx.usefulapi.io/mcp"
}
}
}Remote endpoints
https://quinyx.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟢quinyx_list_groups(pageSize, pageToken, idIn)
Read one bounded page of organization groups (including units/sections). Requires organization:groups:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
},
"idIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_list_roles(pageSize, pageToken)
Read one bounded page of organization roles. Requires organization:roles:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_list_employees(pageSize, pageToken, idIn)
Read one bounded page of scheduling employee details. Requires hr:employees:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
},
"idIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^\\d+$"
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_list_agreements(pageSize, pageToken, employeeId, badgeNumber, groupId, ...)
Read one bounded page of agreement scheduling metadata (v3preview1). Requires hr:agreements:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
},
"employeeId": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^\\d+$"
},
"badgeNumber": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"groupId": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
},
"templateId": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^\\d+$"
},
"startDateLte": {
"type": "string"
},
"endDateGte": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_list_role_assignments(pageSize, pageToken, idIn, employeeIdIn, groupIdIn, ...)
Read one bounded page of employee role assignments. Requires hr:role-assignments:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
},
"idIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^\\d+$"
}
},
"employeeIdIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^\\d+$"
}
},
"groupIdIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"roleIdIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"startDateGte": {
"type": "string"
},
"startDateLte": {
"type": "string"
},
"endDateGte": {
"type": "string"
},
"endDateLte": {
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_list_shifts(pageSize, pageToken, idIn, groupIdIn, employeeIdIn, ...)
Read one bounded page of scheduled shifts. Requires schedule:shifts:read. Returns data plus opaque pagination tokens; pass pageToken for another page, no automatic crawl. Operational allowlist excludes payroll, national IDs, private contact/health information and free-text comments. beginGte/beginLte required here, at most93days apart; no writes or punches.
Input Schema
{
"type": "object",
"properties": {
"pageSize": {
"description": "One page, default50, maximum100.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"pageToken": {
"description": "Opaque nextPageToken from a previous response; never a URL to follow.",
"type": "string",
"minLength": 1,
"maxLength": 4096,
"pattern": "^[^\\x00-\\x1f\\x7f]+$"
},
"idIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"groupIdIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"employeeIdIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|badgeNumber:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric employee ID or badgeNumber:external-id."
}
},
"beginGte": {
"type": "string",
"maxLength": 40
},
"beginLte": {
"type": "string",
"maxLength": 40
},
"statusIn": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"deleted": {
"type": "boolean"
}
},
"required": [
"beginGte",
"beginLte"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_get_group(id)
Read operational group metadata by internal numeric ID or documented external reference. Requires organization:groups:read. Payroll/private fields omitted.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_get_role(id)
Read operational role metadata by internal numeric ID or documented external reference. Requires organization:roles:read. Payroll/private fields omitted.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_get_employee(id)
Read operational employee metadata by internal numeric ID or documented external reference. Requires hr:employees:read. Payroll/private fields omitted.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|badgeNumber:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric employee ID or badgeNumber:external-id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quinyx_get_agreement(id)
Read operational agreement metadata by internal numeric ID or documented external reference. Requires hr:agreements:read. Payroll/private fields omitted. Uses documented v3preview1 agreement API.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 80,
"pattern": "^(?:\\d+|xrefId:[A-Za-z0-9._-]{1,64})$",
"description": "Internal numeric ID or xrefId:external-id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence