BambooHR MCP服务器
MCP(模型上下文协议)服务器,提供对BambooHR休假功能的访问。
特性
此服务器提供以下工具:
休假工具
- 获取超时请求 -检索员工的休假请求
- employeeId (必填):员工ID - start (可选):筛选开始日期(YYYY-MM-DD格式) - end (可选):筛选结束日期(YYYY-MM-DD格式)
- 定时平衡 -为员工腾出时间
- employeeId (必填):员工ID
- list_员工 -列出公司目录中的所有员工
- create_time_off_request -为员工创建新的休假请求
- employeeId (必填):创建休假请求的员工的ID - timeOffTypeId (必填):休假类型的ID(例如,“1”表示休假,“27”表示家庭办公日) - start (必填):休假请求的开始日期(YYYY-MM-DD格式) - end (必填):休假请求的结束日期(YYYY-MM-DD格式) - employeeNote (可选):员工关于请求的可选注释
设置
先决条件
- 转到1.21或更高版本
- BambooHR API密钥
- BambooHR公司子域名
安装
- 克隆此存储库:
git clone https://github.com/keithballdotnet/bamboohr-mcp-server.git
cd bamboohr-mcp-server- 运行安装脚本以安装Git钩子:
./scripts/setup.sh- 安装依赖项:
go mod tidy- 设置环境变量:
export BAMBOOHR_API_KEY="your_api_key_here"
export BAMBOOHR_COMPANY="your_company_subdomain"获取BambooHR证书
- API密钥:
- 登录您的BambooHR帐户 - 前往“设置”>“API密钥” - 生成新的API密钥
- 公司子域名:
- 这是您BambooHR URL中的子域 - 例如,如果您的BambooHR URL为 https://mycompany.bamboohr.com,则您的公司子域为 mycompany
运行服务器
go run main.go服务器将启动并通过stdin/stdout监听MCP请求。
与MCP客户端一起使用
此服务器实现了模型上下文协议,可以与任何兼容MCP的客户端一起使用。
VS代码配置
对于带有MCP扩展名的VS Code,请使用配置文件 .vscode/mcp.json:
{
"inputs": [],
"servers": {
"bamboohr": {
"command": "./bamboohr-mcp-server",
"env": {
"BAMBOOHR_COMPANY": "your_company_subdomain",
"BAMBOOHR_API_KEY": "YOUR_API_KEY"
},
"args": []
}
}
}备注:替换 YOUR_API_KEY 使用您的实际BambooHR API密钥和 YOUR_COMPANY 使用您公司的子域名。该存储库包含一个预提交挂钩(通过安装 ./scripts/setup.sh)在提交时,它会自动将两个敏感值替换为占位符,以防止意外暴露凭据。
示例用法
配置后,您可以通过MCP客户端使用这些工具:
获得休假请求
Get all time-off requests for employee {employeeId} in 2025创建休假请求
Create a home office day request for September 5th, 2025 for employee {employeeId}这将使用:
employeeId:“{employeeId}”start: "2025-09-05"end: "2025-09-05"timeOffTypeId:“27”(内政部工作日)amount: "1"
常见休假类型ID
1-假期2-生病的日子5-生病的孩子19-国外移动工作27-家庭办公日
Claude桌面配置示例
将此添加到您的Claude Desktop配置文件中:
{
"mcpServers": {
"bamboohr": {
"command": "go",
"args": ["run", "/path/to/bamboohr_mcp_server/main.go"],
"env": {
"BAMBOOHR_API_KEY": "your_api_key_here",
"BAMBOOHR_COMPANY": "your_company_subdomain"
}
}
}
}使用的API端点
此服务器使用以下BambooHR API终结点:
GET /api/v1/time_off/requests-获得休假请求GET /api/gateway.php/{company}/v1/employees/{id}/time_off/calculator-获得时间平衡GET /api/gateway.php/{company}/v1/employees/directory-列出员工PUT /api/v1/employees/{id}/time_off/request-创建新的休假请求
认证
服务器使用以BambooHR API密钥作为用户名和空密码的HTTP基本身份验证。
错误处理
服务器为以下对象提供详细的错误消息:
- API凭据丢失或无效
- 员工ID无效
- API速率限制
- 网络连接问题
发展
建筑
go build -o .build/bamboohr-mcp-server二进制文件将在 .build 文件夹,以保持项目根目录的干净。
测试
go test ./...建立一个释放
要为macOS、Linux和Windows构建二进制文件,请执行以下步骤:
- 设置您的环境:
- 确保您已安装Go(1.21或更高版本)。
- 构建二进制文件:
- 运行以下命令:
go build -o .build/bamboohr-mcp-server-macos main.go
GOOS=linux GOARCH=amd64 go build -o .build/bamboohr-mcp-server-linux main.go
GOOS=windows GOARCH=amd64 go build -o .build/bamboohr-mcp-server-windows.exe main.go- 验证二进制文件:
- 确保在中创建二进制文件 .build 目录:
ls .build- 创建GitHub版本:
- 使用GitHub CLI创建版本:
gh release create v1.0.0 \
.build/bamboohr-mcp-server-macos#"macOS binary" \
.build/bamboohr-mcp-server-linux#"Linux binary" \
.build/bamboohr-mcp-server-windows.exe#"Windows binary" \
--title "BambooHR MCP Server v1.0.0" \
--notes "Initial release of the BambooHR MCP Server with binaries for macOS, Linux, and Windows."- 发布发布:
- 该版本将在 发布页面.
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
对于问题和疑问:
- 查看BambooHR API文档:https://documentation.bamboohr.com/
- 在此存储库中创建问题
发布
我们为macOS、Linux和Windows提供预构建的二进制文件。您可以从以下网址下载最新版本 发布页面.
使用二进制
- 下载二进制文件
- 访问 发布页面 并下载适合您操作系统的二进制文件。
- 使二进制文件可执行 (如果需要):
- 在macOS/Linux上:
chmod +x bamboohr-mcp-server-- 运行服务器:
- 设置所需的环境变量:
export BAMBOOHR_API_KEY="your_api_key"
export BAMBOOHR_COMPANY="your_company_subdomain"- 启动服务器:
./bamboohr-mcp-server-- 访问服务器:
- 服务器按照MCP协议通过stdin/stdout进行通信。
