evrimalacan

BambooHR MCP Server

Community evrimalacan
Updated

MCP server for BambooHR

BambooHR MCP Server

npm versionCoverage: 100%License: MIT

A Model Context Protocol (MCP) server that seamlessly connects AI assistants to BambooHR's API. Access employee data, time off information, company files, and more through natural language queries in Claude and other AI assistants.

๐Ÿš€ Quick Start

Get Your BambooHR Credentials

  1. Log into your BambooHR account
  2. Click your name in the lower left-hand corner of any page
  3. Select API Keys from the user context menu (if you have sufficient permissions)
  4. Generate a new API key
  5. Note your company subdomain (the part before .bamboohr.com)

Configuration

Add the server to your Claude Desktop configuration:

{
  "mcpServers": {
    "bamboohr": {
      "command": "npx",
      "args": ["mcp-bamboohr@latest"],
      "type": "stdio",
      "env": {
        "BAMBOO_API_TOKEN": "your_actual_api_token",
        "BAMBOO_COMPANY_DOMAIN": "your_company_subdomain"
      }
    }
  }
}

โœจ Features

  • ๐Ÿง‘โ€๐Ÿ’ผ Employee Management - Get employee data, photos, directory, and performance goals
  • ๐Ÿ–๏ธ Time Off Management - Check balances, requests, and who's out
  • ๐Ÿ“ Company Resources - Access files, documents, and metadata
  • ๐Ÿ”’ Token Authentication - Uses BambooHR's API with token authentication
  • ๐ŸŽฏ Type Safety - Full TypeScript support with type definitions
  • โœ… 100% Test Coverage - 71 tests covering all code
  • ๐Ÿ›ก๏ธ Error Handling - Proper error handling and timeouts
  • ๐Ÿ“š Documentation - Setup guides and examples

๐Ÿ› ๏ธ Available Tools

The server provides 10 MCP tools covering essential BambooHR operations:

Employee Management

  • get-employee - Retrieve detailed employee information with customizable fields
  • get-employee-photo - Download employee photos in various sizes
  • get-employee-directory - Access the complete company directory
  • get-employee-goals - View performance goals and objectives

Time Off Management

  • estimate-time-off-balance - Calculate future time off balances
  • get-time-off-requests - Retrieve and filter time off requests
  • get-whos-out - View upcoming time off and holidays

Company Resources

  • list-company-files - Browse available company files and categories
  • get-company-file - Download specific company documents
  • get-meta-fields - Discover all available BambooHR data fields

๐Ÿ’ก Example Queries

  • "Show me John Smith's employee information"
  • "Who's out of office next week?"
  • "What are the pending time off requests that need approval?"
  • "Download the employee handbook from company files"
  • "What are Sarah's current performance goals?"
  • "How much vacation time will I have by year-end?"

๐Ÿ—๏ธ Development

From Source

# Clone and setup
git clone https://github.com/evrimalacan/mcp-bamboohr.git
cd mcp-bamboohr
npm install

# Build
npm run build

# Run tests (71 comprehensive tests with 100% coverage)
npm test

# Development mode
npm run dev

๐Ÿ› Troubleshooting

Common Issues

"Authentication failed"

  • Verify your API token is correct
  • Ensure company domain is just the subdomain (not full URL)

"Access forbidden"

  • Check your BambooHR user has API access enabled
  • Verify permissions for the specific resource

"Resource not found"

  • Confirm the employee ID or resource exists
  • Check you have permission to access the resource

๐Ÿ“š Documentation

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Add tests for your changes
  4. Ensure all tests pass (npm test)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

๐Ÿ“„ License

MIT License - see LICENSE file for details.

๐ŸŒŸ Support

Made with tons of โค๏ธ

MCP Server ยท Populars

MCP Server ยท New