Skip to main content
Glama
attendance-mcp
by wenmaubipo

attendance-mcp

MCP server that exposes BIPO attendance tools to the BIPO AI assistant.

It is a thin, stateless proxy: each tool authenticates the caller (BIPO), then forwards the logged-in user's HRMS token to the existing BIPO HRMS / attendance API, which enforces all role permissions (Employee, Coordinator, Manager, HR).

  • Language / framework: Python + FastMCP

  • Transport: remote streamable-HTTP

  • Auth:

    • Inbound (BIPO → server): x-service-key validated against MCP_SERVICE_KEY; the user's HRMS token arrives in X-HRMS-Authorization.

    • Outbound (server → HRMS API): the user's HRMS token forwarded as X-HRMS-Authorization.

Status: skeleton (pending HRMS API)

All 13 tools are wired and callable, but the real HRMS endpoints are not yet known. Every tool currently returns a structured PENDING_HRMS_API placeholder. Only src/attendance_mcp/bipo_client.py needs to change once the HRMS team provides the endpoints — replace each self._pending(...) with self._request(...).

See bipo-attendance-mcp-tools.html for the tool list shared with the HRMS team.

Related MCP server: Timely MCP Server

Tools

Role

Tools

Scenarios

Employee

clock_punch, submit_clock_amendment, submit_leave_request, submit_ot_request, get_ot_request, cancel_ot_request

1–5

Shared

get_attendance_status

6

Coordinator

submit_batch_ot_request

7

Manager

list_pending_approvals, approve_request, reject_request

8

HR

get_daily_exceptions, send_clock_reminders, generate_attendance_report

9–11

Scenario 5 guardrail: OT requests cannot be deleted — only cancelled. There is intentionally no delete_ot_request tool.

Setup

python -m venv .venv
.venv\Scripts\activate        # Windows
pip install -e ".[dev]"
cp .env.example .env          # then edit BIPO_API_BASE_URL etc.

Run

attendance-mcp                # streamable-HTTP on MCP_HOST:MCP_PORT (default 127.0.0.1:8000)

Test

pytest

Layout

src/attendance_mcp/
  server.py        FastMCP app + transport
  config.py        env settings
  auth.py          reads the caller's bearer token
  bipo_client.py   HRMS API client (placeholder calls; the only file to edit later)
  tools/           one module per role, each exposing register(mcp)
tests/             in-memory tests (no live API needed)

Tool Schema Changelog

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

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      MCP server that exposes MAYO Apollo HRM platform's Foundation, Attendance, and Payroll APIs as AI-callable tools, enabling natural language queries for employee profiles, attendance summaries, and payroll reports.
      33
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Exposes the Timely.mn v3 time-attendance API as MCP tools for Claude and other clients, allowing queries for company-wide attendance, employee profiles, and attendance reports.
      4
      -
    • F
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to interact with the HRD-PIS API for HR profile management, including authentication and various HR operations.
      16
      -