{"_id":"@asanstefanski/hrlab-mcp-server","name":"@asanstefanski/hrlab-mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@asanstefanski/hrlab-mcp-server","version":"1.0.0","description":"MCP Server for HRLab API integration","main":"dist/server.js","type":"module","bin":{"hrlab-mcp-server":"dist/server.js"},"scripts":{"build":"tsc","start":"node dist/server.js","dev":"tsc --watch & node --watch dist/server.js","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^0.4.0","zod":"^3.22.4"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0"},"keywords":["mcp","server","hrlab","api","model-context-protocol","claude","anthropic"],"author":{"name":"asanstefanski"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/asanstefanski/hrlab-mcp-server.git"},"bugs":{"url":"https://github.com/asanstefanski/hrlab-mcp-server/issues"},"homepage":"https://github.com/asanstefanski/hrlab-mcp-server#readme","_id":"@asanstefanski/hrlab-mcp-server@1.0.0","types":"./dist/server.d.ts","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-UbSSON3Qeub4+HSo20Z+hg2VK+F3P/cFyxu00XY3cxAHgZQNd6wniXmUOkL3fT4MiRJXgwCVNjaphjZWHNY9aw==","shasum":"70aa5b3884545bb511ca797ce3cfd73441d4bd81","tarball":"https://registry.npmjs.org/@asanstefanski/hrlab-mcp-server/-/hrlab-mcp-server-1.0.0.tgz","fileCount":8,"unpackedSize":47651,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEQoP0pfu1P4ELP/Qo7r2iYGPxowwcngfcjyXKsBH40KAiAW/bU9tZXJicGkeWz63El8yNxDlYiR0RvaVoN+DhrwQg=="}]},"_npmUser":{"name":"asanstefanski","email":"asan.stefanski@advisori.de"},"directories":{},"maintainers":[{"name":"asanstefanski","email":"asan.stefanski@advisori.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hrlab-mcp-server_1.0.0_1752185155575_0.0032792836305770567"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-10T22:05:55.381Z","1.0.0":"2025-07-10T22:05:55.763Z","modified":"2025-07-10T22:05:56.137Z"},"maintainers":[{"name":"asanstefanski","email":"asan.stefanski@advisori.de"}],"description":"MCP Server for HRLab API integration","homepage":"https://github.com/asanstefanski/hrlab-mcp-server#readme","keywords":["mcp","server","hrlab","api","model-context-protocol","claude","anthropic"],"repository":{"type":"git","url":"git+https://github.com/asanstefanski/hrlab-mcp-server.git"},"author":{"name":"asanstefanski"},"bugs":{"url":"https://github.com/asanstefanski/hrlab-mcp-server/issues"},"license":"MIT","readme":"# HRLab MCP Server\n\nA Model Context Protocol (MCP) server for integrating with the HRLab API. This server provides comprehensive access to all HRLab endpoints for HR data management.\n\n## Features\n\nThis MCP server provides access to all HRLab API endpoints organized into categories:\n\n### Absences (4 tools)\n- `getAllVacations` - Get all vacation records\n- `getAllSicknesses` - Get all sickness records  \n- `getAllTravels` - Get all travel records\n- `getAllHomeOffices` - Get all home office records\n\n### Organisation (11 tools)\n- `getAllUsers` - Get all user records\n- `getAllDepartments` - Get all department records\n- `getAllTeams` - Get all team records\n- `getAllCompanies` - Get all company records\n- `getAllAbsenceTypes` - Get all absence type records\n- `getAllBranchOffices` - Get all branch office records\n- `getAllCostUnits` - Get all cost unit records\n- `getAllEquipments` - Get all equipment records\n- `getAllProjects` - Get all project records\n- `getAllQualificationTypes` - Get all qualification type records\n- `getAllTasks` - Get all task records\n\n### Remuneration (4 tools)\n- `getAllBonusTargets` - Get all bonus target records\n- `getAllHourlyWages` - Get all hourly wage records\n- `getAllPerks` - Get all perk records\n- `getAllSalaryTypes` - Get all salary type records\n\n### Family (3 tools)\n- `getAllChildren` - Get all children records\n- `getAllMaternities` - Get all maternity records\n- `getAllParentalLeaves` - Get all parental leave records\n\n### Recruiting (4 tools)\n- `getAllAnnouncements` - Get all job announcement records\n- `getAllCandidatures` - Get all candidature records\n- `getAllCandidatureStatuses` - Get all candidature status records\n- `getAllStatuses` - Get all status records\n\n### UserData (5 tools)\n- `getAllAppointments` - Get all appointment records\n- `getAllBankAccounts` - Get all bank account records\n- `getAllCertificates` - Get all certificate records\n- `getAllContactData` - Get all contact data records\n- `getAllBudgets` - Get all budget records\n\n### Benefits (3 tools)\n- `getAllBenefits` - Get all benefit records\n- `getAllCapitalFormingBenefits` - Get all capital forming benefit records\n- `getAllCompanyPensions` - Get all company pension records\n\n## Installation\n\n### Via NPX (Recommended)\n\n```bash\nnpx @asanstefanski/hrlab-mcp-server\n```\n\n### Via NPM Global Install\n\n```bash\nnpm install -g @asanstefanski/hrlab-mcp-server\nhrlab-mcp-server\n```\n\n### Local Development\n\n1. **Clone and install dependencies:**\n   ```bash\n   git clone https://github.com/asanstefanski/hrlab-mcp-server.git\n   cd hrlab-mcp-server\n   npm install\n   ```\n\n2. **Build the project:**\n   ```bash\n   npm run build\n   ```\n\n3. **Start the server:**\n   ```bash\n   npm start\n   ```\n\n## Configuration\n\nThe server requires an HRLab API token to authenticate with the HRLab API. You can obtain this token from your HRLab account settings.\n\n**Set the environment variable:**\n```bash\nexport HRLAB_API_TOKEN=\"your-hrlab-api-token\"\n```\n\nOr create a `.env` file in your project root:\n```\nHRLAB_API_TOKEN=your-hrlab-api-token\n```\n\n## Development\n\n- **Watch mode for development:**\n  ```bash\n  npm run dev\n  ```\n\n- **Clean build directory:**\n  ```bash\n  npm run clean\n  ```\n\n\n## API Features\n\n- **Automatic pagination** - Handles large datasets by automatically fetching all pages\n- **Rate limiting** - Respects HRLab's rate limits (60 requests per minute)\n- **Filtering support** - Most endpoints support filtering by user ID, date ranges, and other parameters\n- **Error handling** - Comprehensive error handling for API failures\n- **TypeScript support** - Full TypeScript interfaces for all HRLab data types\n\n## Usage with Claude Code\n\nAfter setting up the server, you can use it with Claude Code or other MCP clients:\n\n1. Configure your MCP client to connect to this server\n2. Use the available tools to query HRLab data\n3. All tools support optional filtering parameters\n\n## Example Tool Usage\n\n```javascript\n// Get all vacations for the last 3 months\ngetAllVacations({\n  start_date: \"01-04-2024\" // DD-MM-YYYY format\n})\n\n// Get all users in a specific department\ngetAllUsers({\n  department_id: \"123\"\n})\n\n// Get all appointments for a specific user\ngetAllAppointments({\n  user_id: \"456\",\n  start_date: \"01-07-2024\",\n  end_date: \"31-07-2024\"\n})\n```\n\n## Rate Limiting\n\nThe server implements rate limiting to comply with HRLab's API limits:\n- Maximum 60 requests per minute\n- 1 second minimum interval between requests\n- Automatic retry handling\n\n## Error Handling\n\nThe server includes comprehensive error handling for:\n- Invalid API tokens\n- Network connectivity issues\n- API rate limit exceeded\n- Invalid parameter values\n- Server errors\n\n## License\n\nMIT","readmeFilename":"README.md","_rev":"1-fdd2efc9df36da38e7080d80a20e8992"}