Personio Recruiting Ops Plane
Server Details
Ask Personio Recruiting the recruiting-ops questions dashboards miss by connecting applications, stage transitions, candidates, recruiting jobs, categories, org units, workplaces, jobs catalog, webhooks, event activity, and intake documents. Find stage-movement stalls, candidate freshness gaps, source quality by job/category, hiring load by department and workplace, webhook delivery issues, intake readiness gaps, and bottleneck owners. No dashboard build. No SQL.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 30 tools
Each tool targets a unique resource and action (e.g., get/list for applications, candidates, webhooks, etc.), with no overlap. The api_request tool is a catch-all but is intentionally separate and clearly described.
All tools follow a consistent 'verb_noun' pattern (create_, get_, list_, update_, delete_, upload_, ping_, redeliver_), with no mixed styles or ambiguous verbs. Even compound nouns like list_application_stage_transitions maintain the same convention.
With 30 tools, the surface is heavily overloaded, exceeding the 25-tool threshold for 'too many'. While the domain is broad, many of these are simple get/list accessors for reference data, which could be consolidated or reduced without losing capability.
The set covers full webhook lifecycle management (create, get, update, delete, ping, redeliver) and read operations for recruiting entities, but lacks update/delete for applications and candidates, and does not expose operations like moving an application between stages (only reading transitions). The presence of api_request mitigates some gaps but does not make the declared surface complete.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
- Changed
api_request2 fields changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run a live (non-GET) change. Ignored for GET and when dry_run=true.", + "type": "boolean" +} - changed
Input schema / properties / path / descriptionPrevious value: -"Full URL or documented path, for example /applications or https://api.personio.de/v1/recruiting/applications."New value: +"Full URL or documented path."
- Changed
create_recruiting_application1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
create_webhook1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
delete_webhook1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
get_application3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_candidate3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_jobs_catalog_item3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_org_unit3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Added
get_person - Changed
get_recruiting_category3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_recruiting_job3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_webhook3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
get_workplace3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_application_stage_transitions3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_applications5 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -} - added
Input schema / properties / updated_afterAdded value: +{ + "description": "Only include records updated at or after this ISO 8601 timestamp (for example 2026-05-01).", + "minLength": 4, + "type": "string" +} - added
Input schema / properties / updated_beforeAdded value: +{ + "$ref": "#/properties/updated_after", + "description": "Only include records updated at or before this ISO 8601 timestamp." +}
- Changed
list_candidates3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_jobs_catalog3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_org_units3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Added
list_persons - Changed
list_recruiting_categories3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_recruiting_jobs3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_webhook_activity3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_webhook_events3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_webhooks3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
list_workplaces3 fields changed- changed
Input schema / properties / detail_profile / defaultPrevious value: -"full"New value: +"operational" - changed
Input schema / properties / detail_profile / descriptionPrevious value: -"full returns raw API payload; operational returns a compact recruiting-ops projection."New value: +"operational (default) returns a compact recruiting-ops projection with names, prose, and other personal fields omitted; pass full to include the raw API payload with those fields." - removed
Input schema / properties / reasonRemoved value: -{ - "description": "Required when detail_profile=full.", - "maxLength": 500, - "minLength": 12, - "type": "string" -}
- Changed
ping_webhook1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
redeliver_webhook_events1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
update_webhook1 field changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live change. Ignored when dry_run=true.", + "type": "boolean" +}
- Changed
upload_recruiting_application_document6 fields changed- added
Input schema / properties / confirmAdded value: +{ + "default": false, + "description": "Set true to run this live upload. Ignored when dry_run=true.", + "type": "boolean" +} - added
Input schema / properties / file_base64Added value: +{ + "description": "Document contents as base64 (a data: prefix is allowed). Provide this or file_url.", + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / file_name / descriptionPrevious value: -"Optional filename to send to Personio."New value: +"Filename to send to Personio (recommended with file_base64)." - removed
Input schema / properties / file_pathRemoved value: -{ - "description": "Local path to the document file.", - "minLength": 1, - "type": "string" -} - added
Input schema / properties / file_urlAdded value: +{ + "description": "Public or signed URL the document can be fetched from. Provide this or file_base64.", + "format": "uri", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "file_path" -]
28 tool updates
- First observed
api_request - First observed
create_recruiting_application - First observed
create_webhook - First observed
delete_webhook - First observed
get_application - First observed
get_candidate - First observed
get_control_plane_capabilities - First observed
get_jobs_catalog_item - First observed
get_org_unit - First observed
get_recruiting_category - First observed
get_recruiting_job - First observed
get_webhook - First observed
get_workplace - First observed
list_application_stage_transitions - First observed
list_applications - First observed
list_candidates - First observed
list_jobs_catalog - First observed
list_org_units - First observed
list_recruiting_categories - First observed
list_recruiting_jobs - First observed
list_webhook_activity - First observed
list_webhook_events - First observed
list_webhooks - First observed
list_workplaces - First observed
ping_webhook - First observed
redeliver_webhook_events - First observed
update_webhook - First observed
upload_recruiting_application_document
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm107 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.