Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Attendance

FreeNot checked

Exposes BIPO attendance tools (clock punch, leave/OT requests, approvals, reports) to the BIPO AI assistant via a stateless proxy that authenticates callers and

GitHubEmbed

About

Exposes BIPO attendance tools (clock punch, leave/OT requests, approvals, reports) to the BIPO AI assistant via a stateless proxy that authenticates callers and forwards HRMS tokens.

README

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.

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)

from github.com/wenmaubipo/attendance-mcp

Install Attendance in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install attendance-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add attendance-mcp -- uvx --from git+https://github.com/wenmaubipo/attendance-mcp attendance-mcp

FAQ

Is Attendance MCP free?

Yes, Attendance MCP is free — one-click install via Unyly at no cost.

Does Attendance need an API key?

No, Attendance runs without API keys or environment variables.

Is Attendance hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Attendance in Claude Desktop, Claude Code or Cursor?

Open Attendance on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Attendance with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs