Darwinbox HRMS MCP Server

by prithvidbox

339 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server for interacting with the Darwinbox HRMS API. It provides standardized tools for managing employee data, attendance, and leave management, enabling AI assistants to perform HR operations.

Details

Author
prithvidbox
Downloads
339
Categories
Other

- Employee management: get, update, add, and deactivate employees.
- Download personal documents and upload profile attachments.
- Get employee history, position master data, and forms data.
- Attendance management: get monthly/daily attendance and roster.
- Record and backdate attendance punches.
- Leave management: approve leaves, get balance, balance, import leaves.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Darwinbox HRMS MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, install dependencies (npm install), and build (npm run build). Configure your MCP client (Claude Desktop, Cline, or Cursor) with the required environment variables: DARWINBOX_DOMAIN, DARWINBOX_CLIENT_ID, DARWINBOX_CLIENT_SECRET, DARWINBOX_GRANT_TYPE, DARWINBOX_CODE, and DARWINBOX_DATASET_KEY. The server then exposes tools authenticated via OAuth 2.0.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "darwinbox hrms mcp server": {
            "darwinbox": {
                "command": "node",
                "args": [
                    "path/to/darwinbox-server/build/index.js"
                ],
                "env": {
                    "DARWINBOX_DOMAIN": "",
                    "DARWINBOX_CLIENT_ID": "",
                    "DARWINBOX_CLIENT_SECRET": "",
                    "DARWINBOX_GRANT_TYPE": "",
                    "DARWINBOX_CODE": "",
                    "DARWINBOX_DATASET_KEY": ""
                }
            }
        }
    }
}

McpServers

{
    "darwinbox": {
        "command": "node",
        "args": [
            "path/to/darwinbox-server/build/index.js"
        ],
        "env": {
            "DARWINBOX_DOMAIN": "",
            "DARWINBOX_CLIENT_ID": "",
            "DARWINBOX_CLIENT_SECRET": "",
            "DARWINBOX_GRANT_TYPE": "",
            "DARWINBOX_CODE": "",
            "DARWINBOX_DATASET_KEY": ""
        }
    }
}

Darwinbox HRMS MCP Server

A Model Context Protocol (MCP) server for interacting with the Darwinbox HRMS API. This server provides tools for managing employee data, attendance, and leave management through a standardized interface.

Demo

Demo

Features

Core Tools

- Employee Management - Get employee details (single, multiple, or all employees) - Update employee information - Add new employees - Deactivate employees - Download personal documents - Get employee history - Get position master data - Get forms data - Get separation details - Upload profile attachments

Time Management Tools

- Attendance Management - Get monthly attendance - Get daily attendance - Get attendance roster - Record attendance punches - Record backdated attendance - Leave Management - Approve leaves - Get leave action history - Get holiday list - Get leave balance - Import leaves

Installation

1. Clone the repository:

git clone https://github.com/prithvidbox/darwinbox-mcp
cd darwinbox-server

2. Install dependencies:

npm install

3. Build the project:

npm run build

MCP Client Configuration

Claude Desktop Client

{
  "mcpServers": {
    "darwinbox": {
      "command": "node",
      "args": ["path/to/darwinbox-server/build/index.js"],
      "env": {
        "DARWINBOX_DOMAIN": "https://your-domain.darwinbox.in",
        "DARWINBOX_CLIENT_ID": "your-client-id",
        "DARWINBOX_CLIENT_SECRET": "your-client-secret",
        "DARWINBOX_GRANT_TYPE": "authorization_code",
        "DARWINBOX_CODE": "your-auth-code",
        "DARWINBOX_DATASET_KEY": "your-dataset-key"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Cline Configuration

{
  "servers": {
    "darwinbox": {
      "command": "node",
      "args": ["path/to/darwinbox-server/build/index.js"],
      "env": {
        "DARWINBOX_DOMAIN": "https://your-domain.darwinbox.in",
        "DARWINBOX_CLIENT_ID": "your-client-id",
        "DARWINBOX_CLIENT_SECRET": "your-client-secret",
        "DARWINBOX_GRANT_TYPE": "authorization_code",
        "DARWINBOX_CODE": "your-auth-code",
        "DARWINBOX_DATASET_KEY": "your-dataset-key"
      }
    }
  }
}

Cursor Configuration

{
  "mcpServers": {
    "darwinbox": {
      "command": "node",
      "args": ["path/to/darwinbox-server/build/index.js"],
      "env": {
        "DARWINBOX_DOMAIN": "https://your-domain.darwinbox.in",
        "DARWINBOX_CLIENT_ID": "your-client-id",
        "DARWINBOX_CLIENT_SECRET": "your-client-secret",
        "DARWINBOX_GRANT_TYPE": "authorization_code",
        "DARWINBOX_CODE": "your-auth-code",
        "DARWINBOX_DATASET_KEY": "your-dataset-key"
      }
    }
  }
}

Authentication

The server uses OAuth 2.0 for authentication. It automatically handles:
1. Token acquisition using the provided credentials
2. Token management and renewal
3. Authenticated API requests with proper headers

Error Handling

The server provides detailed error messages for:
- Missing or invalid configuration
- Authentication failures
- Invalid API requests
- API response errors

License

This project is licensed under the MIT License - see the LICENSE file for details.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.