Passgage MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PASSGAGE_DEBUG | No | Enable debug mode (true/false) | false |
| PASSGAGE_API_KEY | No | Company API key for admin access | |
| PASSGAGE_TIMEOUT | No | Request timeout in milliseconds | 30000 |
| PASSGAGE_BASE_URL | No | Base URL of Passgage API (default: https://api.passgage.com) | https://api.passgage.com |
| PASSGAGE_USER_EMAIL | No | User email for personal access | |
| PASSGAGE_USER_PASSWORD | No | User password for personal access | |
| PASSGAGE_DEFAULT_AUTH_MODE | No | Default authentication mode (company or user) | company |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| passgage_loginA | Login to Passgage API with email and password to get JWT token |
| passgage_refresh_tokenA | Refresh the current JWT token to extend its validity |
| passgage_logoutA | Logout from Passgage API and invalidate the current session |
| passgage_auth_statusA | Check authentication status, current mode, and available authentication methods |
| passgage_set_company_modeB | Switch to company API key authentication mode |
| passgage_switch_to_user_modeA | Switch to user JWT authentication mode (requires previous user login) |
| passgage_switch_to_company_modeB | Switch to company API key authentication mode (requires previous API key setup) |
| passgage_get_auth_modesA | Get available authentication modes and their status |
| passgage_list_usersA | List users with optional filtering and pagination |
| passgage_get_userA | Get a specific user by ID |
| passgage_create_userD | Create a new user |
| passgage_update_userC | Update an existing user |
| passgage_delete_userB | Delete a user by ID |
| passgage_list_approvalsA | List approvals with optional filtering and pagination |
| passgage_get_approvalA | Get a specific approval by ID |
| passgage_create_approvalC | Create a new approval |
| passgage_update_approvalC | Update an existing approval |
| passgage_delete_approvalA | Delete a approval by ID |
| passgage_list_approval_flowsA | List approval_flows with optional filtering and pagination |
| passgage_get_approval_flowA | Get a specific approval_flow by ID |
| passgage_create_approval_flowC | Create a new approval_flow |
| passgage_update_approval_flowC | Update an existing approval_flow |
| passgage_delete_approval_flowB | Delete a approval_flow by ID |
| passgage_list_access_zonesA | List access_zones with optional filtering and pagination |
| passgage_get_access_zoneB | Get a specific access_zone by ID |
| passgage_create_access_zoneC | Create a new access_zone |
| passgage_update_access_zoneC | Update an existing access_zone |
| passgage_delete_access_zoneB | Delete a access_zone by ID |
| passgage_list_assignment_requestsA | List assignment_requests with optional filtering and pagination |
| passgage_get_assignment_requestA | Get a specific assignment_request by ID |
| passgage_create_assignment_requestB | Create a new assignment_request |
| passgage_update_assignment_requestB | Update an existing assignment_request |
| passgage_delete_assignment_requestB | Delete a assignment_request by ID |
| passgage_list_branchesB | List branches with optional filtering and pagination |
| passgage_get_brancheA | Get a specific branche by ID |
| passgage_create_brancheC | Create a new branche |
| passgage_update_brancheC | Update an existing branche |
| passgage_delete_brancheA | Delete a branche by ID |
| passgage_list_branch_groupsA | List branch_groups with optional filtering and pagination |
| passgage_get_branch_groupA | Get a specific branch_group by ID |
| passgage_create_branch_groupC | Create a new branch_group |
| passgage_update_branch_groupB | Update an existing branch_group |
| passgage_delete_branch_groupA | Delete a branch_group by ID |
| passgage_list_cardsB | List cards with optional filtering and pagination |
| passgage_get_cardA | Get a specific card by ID |
| passgage_create_cardC | Create a new card |
| passgage_update_cardC | Update an existing card |
| passgage_delete_cardB | Delete a card by ID |
| passgage_list_departmentsA | List departments with optional filtering and pagination |
| passgage_get_departmentB | Get a specific department by ID |
| passgage_create_departmentB | Create a new department |
| passgage_update_departmentC | Update an existing department |
| passgage_delete_departmentA | Delete a department by ID |
| passgage_list_devicesC | List devices with optional filtering and pagination |
| passgage_get_deviceB | Get a specific device by ID |
| passgage_create_deviceC | Create a new device |
| passgage_update_deviceC | Update an existing device |
| passgage_delete_deviceB | Delete a device by ID |
| passgage_list_entrancesB | List entrances with optional filtering and pagination |
| passgage_get_entranceA | Get a specific entrance by ID |
| passgage_create_entranceC | Create a new entrance |
| passgage_update_entranceB | Update an existing entrance |
| passgage_delete_entranceB | Delete a entrance by ID |
| passgage_list_holidaysC | List holidays with optional filtering and pagination |
| passgage_get_holidayA | Get a specific holiday by ID |
| passgage_create_holidayC | Create a new holiday |
| passgage_update_holidayB | Update an existing holiday |
| passgage_delete_holidayB | Delete a holiday by ID |
| passgage_list_job_positionsA | List job_positions with optional filtering and pagination |
| passgage_get_job_positionA | Get a specific job_position by ID |
| passgage_create_job_positionB | Create a new job_position |
| passgage_update_job_positionB | Update an existing job_position |
| passgage_delete_job_positionA | Delete a job_position by ID |
| passgage_list_leavesB | List leaves with optional filtering and pagination |
| passgage_get_leaveA | Get a specific leave by ID |
| passgage_create_leaveC | Create a new leave |
| passgage_update_leaveC | Update an existing leave |
| passgage_delete_leaveB | Delete a leave by ID |
| passgage_list_leave_rulesA | List leave_rules with optional filtering and pagination |
| passgage_get_leave_ruleA | Get a specific leave_rule by ID |
| passgage_create_leave_ruleC | Create a new leave_rule |
| passgage_update_leave_ruleB | Update an existing leave_rule |
| passgage_delete_leave_ruleB | Delete a leave_rule by ID |
| passgage_list_leave_typesA | List leave_types with optional filtering and pagination |
| passgage_get_leave_typeA | Get a specific leave_type by ID |
| passgage_create_leave_typeC | Create a new leave_type |
| passgage_update_leave_typeB | Update an existing leave_type |
| passgage_delete_leave_typeB | Delete a leave_type by ID |
| passgage_list_night_worksA | List night_works with optional filtering and pagination |
| passgage_get_night_workA | Get a specific night_work by ID |
| passgage_create_night_workC | Create a new night_work |
| passgage_update_night_workD | Update an existing night_work |
| passgage_delete_night_workB | Delete a night_work by ID |
| passgage_list_organization_unitsC | List organization_units with optional filtering and pagination |
| passgage_get_organization_unitA | Get a specific organization_unit by ID |
| passgage_create_organization_unitC | Create a new organization_unit |
| passgage_update_organization_unitB | Update an existing organization_unit |
| passgage_delete_organization_unitB | Delete a organization_unit by ID |
| passgage_list_shiftsB | List shifts with optional filtering and pagination |
| passgage_get_shiftA | Get a specific shift by ID |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 151 tools
The majority of tools are clearly distinguished by their resource-specific CRUD operations (list/get/create/update/delete per entity). However, the authentication tools contain some overlap, such as set_company_mode and switch_to_company_mode having nearly identical purposes, which could lead to misselection.
Tool names follow a highly consistent pattern of passgage_<verb>_<resource> (e.g., list_users, create_user, delete_approval). Minor grammatical typos like 'branche' and 'sub_companie' do not break the naming convention, and the pattern is easily predictable across all 151 tools.
With 151 tools, this server is vastly over-scoped for an MCP server. Even a complex domain typically does not warrant more than 25-30 tools; this set is overwhelming and will slow down an agent's decision-making process, making the toolset impractical for effective use.
The tool set provides full CRUD operations for nearly 30 resource types, plus supplementary features like search, export, and dashboard stats, covering the apparent domain of workforce and access management. Potential gaps exist (e.g., no dedicated user-role management, no direct assignment for some entities), but the universal search and bulk operations mitigate these limitations.