BioMatrixReport MCP Server

BioMatrixReport MCP Server

Exposes BioMatrixReport APIs as MCP tools for querying employee details, sending WFO attendance report emails, and syncing biometric attendance data via natural language.

Category
Visit Server

README

BioMatrixReport MCP Server

Generated automatically from the BioMatrixReport source repo. Exposes its API as MCP tools so an AI assistant can call them via natural language.

What's in here

  • server.py - the MCP server (mounted at /mcp) plus one tool per API endpoint discovered in the source repo.
  • auth.py / session_store.py - authentication. Credentials and tokens never pass through the assistant - sign-in always happens in a real browser page, and only an opaque session reference reaches the model.
  • config.py - runtime settings, read from environment variables.

1. Configure environment variables

Copy .env.example to .env (locally) or set these in your hosting platform's dashboard:

  • TARGET_APP_BASE_URL - detected as http://localhost:5183 from the source repo. Confirm this is actually where BioMatrixReport is running (dev/staging/prod may differ) and update it if not.

2. Deploy to Render

  1. Push this folder to a new git repo (or use Render's "Deploy from a Blueprint" with the included render.yaml).
  2. In the Render dashboard, create a new Web Service from that repo (Render will detect the Dockerfile), or use the Blueprint if you set one up from render.yaml.
  3. Set the environment variables from step 1 in the Render dashboard.
  4. Deploy. Render will give you a public URL like https://your-service.onrender.com.

3. Connect it to your AI assistant

Add the MCP server URL to your assistant as a remote MCP connector:

https://your-service.onrender.com/mcp

Available tools

  • get_employee_details (GET /get-details) - Fetches an employee's details (name, email, department, manager, active status, etc.) from the external HRIS/Employee API by employee code. Returns the raw JSON employee record.
  • send_weekly_email (POST /sendWeeklyEmail) - Triggers sending of the weekly Work-From-Office (WFO) attendance report email to active employees (and their managers). Validates that attendance data exists for the last Mon/Tue/Wed before sending; if data is missing, sends an alert email instead and returns an error.
  • send_monthly_email (POST /sendMonthlyEmail) - Triggers sending of the monthly WFO attendance report email (with 6-month trend chart and pattern analysis) to active employees for the previous calendar month.
  • send_monthly_report (POST /api/EngineeringHeadReport/sendMonthlyReport) - Generates and emails a company-wide monthly WFO compliance report to the engineering head, including department/band breakdowns, compliance distribution, day-of-week analysis, manager leaderboard, and 6-month trends. Defaults to the previous month if month/year are not supplied.
  • sync_employees_from_hris (POST /api/EmployeeSync/syncFromHRIS) - Syncs employee master data from the external HRIS API into the local database, creating new employee records (default SendEmail='No') or updating existing ones (preserving SendEmail preference). Returns counts of new/updated records and any per-record errors.
  • upload_attendance_csv (POST /api/UserData/upload) - Uploads one or more CSV files containing biometric attendance data (employee ID, datetime, IN/OUT status) and inserts the records into the database.
  • send_monthly_attendance_email (POST /sendMonthlyAttendanceEmail) - Generates an Excel (xlsx) attendance report for all active employees for the previous month and emails it as an attachment to HR.
  • send_weekly_attendance_email (POST /sendWeeklyAttendanceEmail) - Generates a CSV attendance report for the prior complete week and emails it as an attachment to HR.
  • trigger_attendance_sync (POST /api/attendance-sync/trigger) - Manually triggers a sync of biometric attendance transactions (in/out punches) for a given date from the external iClock biometric device API into the AttendanceRecords table. Returns the date synced and the number of records upserted.

Notes from analysis

ASP.NET Core 6 app with no authentication/authorization configured anywhere (no [Authorize] attributes, no auth middleware registered in Program.cs), so all endpoints are unauthenticated. Base URL is only known from the local dev launchSettings.json (http://localhost:5183 / https://localhost:7083) - no deployed/production URL was found in config or docs. The app also calls several external third-party APIs (HRIS at app1.thepsi.com, an internal Employee API at 192.168.3.220:5000, a biometric iClock API, and a SendMail API) but those are outbound dependencies, not endpoints this app exposes, so they were excluded. The GET /get-details endpoint proxies to that internal Employee API.

Local development

pip install -r requirements.txt
cp .env.example .env  # fill in values
python server.py

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured