Skip to main content
Glama
HRD-PIS MCP Server

HRD-PIS MCP Server

by Rashqueee

HRD-PIS MCP Server

📋 Prasyarat Sistem

Sebelum memulai, pastikan sistem Anda sudah terinstal:

  1. Node.js (Minimal versi 18)

  2. Git (Untuk cloning repositori)

  3. Aplikasi terminal (Command Prompt/PowerShell untuk Windows, atau Terminal bawaan untuk Mac/Linux).

  4. Claude Desktop (Jika ingin menjalankan tahap integrasi AI).

Related MCP server: HR Solx MCP Server

🚀 Langkah 1: Instalasi Proyek

  1. Buka terminal Anda dan clone repositori ini ke komputer lokal:

    git clone https://github.com/Rashqueee/hrd-pis-mcp.git
  2. Masuk ke dalam direktori proyek:

    cd hrd-pis-mcp
  3. Instal seluruh dependensi yang dibutuhkan (termasuk MCP SDK dan TypeScript):

    npm install

🔑 Langkah 2: Mendapatkan Token Autentikasi API

Server ini membutuhkan Bearer Token untuk dapat berkomunikasi dengan backend HRD-PIS. Token ini diambil melalui proses otentikasi Basic (Base64). Ikuti langkah ini dengan teliti:

A. Ubah Kredensial ke Base64 Ubah format username:password Anda menjadi format Base64 menggunakan terminal:

  • Pengguna Mac/Linux:

    echo -n "username_anda:password_anda" | base64
  • Pengguna Windows (PowerShell):

    [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("username_anda:password_anda"))

(Catat teks acak hasil perintah di atas, misalnya: YnVkaXNhbnRvc28...)

B. Tembak API Login Jalankan perintah curl berikut di terminal untuk melakukan login. Pastikan flag -D - disertakan agar terminal menampilkan Response Header:

curl -s -D - -X POST \
  https://api-profile-plus.pisdev.my.id/auth/login \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Basic <MASUKKAN_HASIL_BASE64_DI_SINI>"

C. Ambil Token Lihat hasil keluaran di terminal. Abaikan pesan success di bagian bawah, dan cari baris ini di bagian atas (Header): authorization: Bearer xxxxx... Salin teks tersebut. Ini adalah HRD_API_TOKEN Anda.

🏗️ Langkah 3: Build Proyek

Karena proyek ini ditulis dengan TypeScript, Anda harus melakukan kompilasi (build) menjadi JavaScript sebelum bisa dijalankan.

Jalankan perintah berikut di terminal (berada di dalam folder hrd-pis-mcp):

npm run build

Catatan: Perintah ini akan otomatis menghapus sisa kompilasi lama dan membuat folder build/ baru yang siap pakai.

🛠️ Langkah 4: Pengujian Lokal (MCP Inspector)

Sebelum dipasang ke Claude Desktop, uji coba tools Anda menggunakan MCP Inspector (antarmuka web resmi dari Anthropic).

Jalankan perintah di bawah ini dengan mengganti <TOKEN_ANDA> menggunakan token dari Langkah 2:

Untuk Pengguna Mac/Linux (Bash/Zsh):

HRD_BASE_URL="https://api-profile-plus.pisdev.my.id" HRD_API_TOKEN="<TOKEN_ANDA>" npx @modelcontextprotocol/inspector node build/index.js

Untuk Pengguna Windows (PowerShell):

$env:HRD_BASE_URL="https://api-profile-plus.pisdev.my.id"; $env:HRD_API_TOKEN="<TOKEN_ANDA>"; npx @modelcontextprotocol/inspector node build/index.js

Setelah perintah berjalan, terminal akan menampilkan tautan (misal: http://localhost:5173). Buka tautan tersebut di browser Anda untuk melakukan testing pada 16 tools yang tersedia secara manual.

(Tekan Ctrl + C di terminal untuk mematikan Inspector jika sudah selesai).

🤖 Langkah 5: Pemasangan Permanen di Claude Desktop

Jika pengujian lokal berhasil, pasangkan server ini ke Claude Desktop agar AI bisa menggunakannya secara otonom.

  1. Cari Absolute Path Proyek Anda: Dapatkan alamat direktori lengkap menuju file index.js hasil build Anda.

    • Contoh Mac: /Users/namauser/projects/hrd-pis-mcp/build/index.js

    • Contoh Win: C:\Users\namauser\projects\hrd-pis-mcp\build\index.js

  2. Buka File Konfigurasi Claude:

    • macOS: Buka terminal dan jalankan open ~/Library/Application\ Support/Claude/claude_desktop_config.json

    • Windows: Buka File Explorer dan tuju ke %APPDATA%\Claude\claude_desktop_config.json

  3. Masukkan Konfigurasi: Isi file JSON tersebut dengan format berikut:

    {
      "mcpServers": {
        "hrd-pis": {
          "command": "node",
          "args": [
            "<MASUKKAN_PATH_ABSOLUT_ANDA_DI_SINI>"
          ],
          "env": {
            "HRD_BASE_URL": "https://api-profile-plus.pisdev.my.id",
            "HRD_API_TOKEN": "<MASUKKAN_TOKEN_ANDA_DI_SINI>"
          }
        }
      }
    }

    ⚠️ Penting untuk Windows: Anda wajib mengubah garis miring terbalik tunggal (\) pada path menjadi ganda (\\). Contoh: "C:\\Users\\nama\\projects\\hrd-pis-mcp\\build\\index.js".

  4. Restart Claude Desktop: Tutup aplikasi Claude Desktop sepenuhnya (Quit), lalu buka kembali.

Buka obrolan baru, klik ikon Tools (palu) di kolom obrolan, dan Anda sudah bisa mulai memberikan perintah terkait HRD-PIS kepada Claude!

Available Tools

16 tools
cancel_submissionA

Batalkan pengajuan yang masih PENDING

Inputs: id (required).

create_submissionA

Ajukan izin/cuti/sakit (mendukung multi-date)

Inputs: type (required), dates (required), reason (required), attachment.

create_todoC

Tambah task baru

Inputs: task (required), date.

delete_todoC

Hapus task

Inputs: id (required).

get_announcement_detailC

Detail satu pengumuman

Inputs: id (required).

get_announcementsC

Daftar pengumuman perusahaan

Inputs: search, type, page, limit.

get_attendance_detailA

Detail satu record kehadiran berdasarkan UUID

Inputs: id (required).

get_attendance_historyC

Riwayat presensi saya (dengan summary)

Inputs: start_date, end_date, page, limit, +1 more.

get_attendance_performanceC

Performa kehadiran bulanan

Inputs: month (required), year (required).

get_leave_quotaA

Lihat sisa kuota cuti saya

Inputs: year.

get_my_submissionsB

Lihat daftar pengajuan izin/cuti/sakit saya (paginated)

Inputs: page, limit, month, year.

get_today_attendance_statusA

Status kehadiran hari ini (check-in, check-out, jam kerja)

Inputs: no named parameters.

get_today_todosB

Task hari ini + overdue tasks

Inputs: search.

get_todo_detailC

Detail satu task

Inputs: id (required).

get_todo_historyA

History semua task (paginated)

Inputs: date, status, search, page, +1 more.

update_todoC

Update task atau toggle status

Inputs: id (required), task, status.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 16 tools

    Disambiguation4/5

    Tools are clearly differentiated, with attendance-related tools separated by aspect (history, detail, performance, today's status). However, the four attendance tools might cause some ambiguity if descriptions are not carefully read.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern, with 'get_' for reads and 'create_', 'update_', 'delete_', 'cancel_' for writes. Naming is predictable and easy to understand.

    Tool Count5/5

    16 tools cover the main HR domains (attendance, leave, announcements, todos) without being too many or too few. Each tool serves a clear purpose within the scope.

    Completeness3/5

    The tool set covers retrieval well but lacks write operations for attendance (e.g., check-in/out) and has no update for submissions (only create and cancel). This leaves notable gaps for common HR workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Insperity's REST API to access employee data, including employee lists, check details, and profile information for HR management tasks.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Acts as a bridge between AI models and the HR Solx REST API, enabling natural language management of users, geographic data, and professional skills. It provides tools for performing health checks, retrieving reference data, and creating or listing user accounts.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Connects AI tools to PingRep AI Representatives, enabling profile retrieval, directory search, Q&A, and contact management.
      12
      7 npm
      MIT