Labsco
fuzzylabs logo

Breathe HR

from fuzzylabs

Provides secure, read-write access to Breathe HR data for AI assistants.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedPaid serviceNeeds API keys

Breathe HR MCP Server

Connect your Breathe HR data to AI assistants โ€” Access employees, absences, leave requests, and company information through natural language queries, with secure read-write capabilities.

Model Context Protocol Python 3.12+ Breathe HR API

๐Ÿšจ Disclaimer: This project is created by Fuzzy Labs with good vibes and is not officially supported by Breathe HR. Use at your own discretion.

What This Does

Transform how you work with your Breathe HR data by asking AI assistants natural language questions like:

  • "Show me all employees in the Engineering department"
  • "Who has pending leave requests this month?"
  • "Create a holiday request for John Doe from March 1-5"
  • "Search for employees named Sarah"
  • "What's our current headcount by department?"

๐Ÿ” Secure Access โ€” API key authentication with controlled permissions
๐Ÿš€ Instant Setup โ€” Works with any MCP-compatible AI assistant
๐Ÿ“Š Complete Coverage โ€” Access employees, absences, departments & more

What You Can Access

This MCP server provides secure access to your Breathe HR data:

Data TypeWhat You Can Do
๐Ÿ‘ฅ EmployeesList, search, view details, filter by department/status
๐Ÿ–๏ธ AbsencesView leave records, filter by dates/types, create requests
๐Ÿข CompanyAccess account information and settings
๐Ÿ“‹ DepartmentsList organizational structure and teams

Available Tools:

  • list_employees - Get paginated employee list with filters
  • get_employee - Get detailed employee information
  • search_employees - Search employees by query
  • list_absences - Get absence records with filtering
  • create_leave_request - Submit new leave requests
  • get_employee_absences - Get absences for specific employee
  • get_account_info - Get company account details
  • get_departments - List all departments

For Developers

Development Setup

Environment Variables (for development):

cp .env.example .env
# Edit .env and set BREATHE_HR_API_KEY=your_api_key_here

Run Tests:

uv run pytest

HTTP Server (for testing):

uv run uvicorn breathe_hr_mcp:app --reload
# Server available at http://localhost:8000/mcp/

API Testing

Test the schema endpoint:

curl -X POST http://localhost:8000/mcp/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

Test listing employees:

curl -X POST http://localhost:8000/mcp/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "list_employees",
      "arguments": {"page": 1, "per_page": 10}
    },
    "id": 1
  }'

Architecture

  • Server: FastMCP framework with FastAPI backend
  • Protocol: Model Context Protocol (MCP) via stdio
  • API: Breathe HR API v1 with secure access
  • Authentication: Bearer token (API key)