cl bamboohr mcp
一个全面的BambooHR MCP(模型上下文协议)服务器,提供对员工数据、休假、文件、分析和报告的读/写访问。
背景
该项目是通过评估三台现有的开源BambooHR MCP服务器而建立的,然后将这三台服务器的最佳架构、功能和API覆盖范围结合到一台安全、测试良好的服务器中:
| 来源 | 回购 | 我们采取了什么 |
|---|---|---|
| 建筑基础 | 依维拉康/mcp-bamboohr | 最干净的TypeScript、经过验证的测试模式、单例客户端、核心读取工具(员工、休假、文件、元数据) |
| 写入操作 | 艾萨克夫/班布尔 | update-employee, create-time-off-request、员工档案、部门 |
| 分析和报告 | zuharz/竹mcp非官方 | 劳动力分析、自定义报告、数据集发现、, find-employee, get-team-info,缓存/重试模式 |
这三个源代码仓库都是麻省理工学院授权的。没有一个是单独的生产质量(0-2个GitHub星级,日志中的API密钥泄漏等安全问题,缺少输入验证)。该项目通过适当的输入验证、凭证净化、写操作的字段分配表和全面的测试覆盖率来解决这些差距。
整个服务器(代码、测试和文档)由Claude(Opus 4.6)根据审计三个源代码仓库得出的详细架构计划生成。
特性
- 21工具 覆盖整个BambooHR API表面
- 阅读 和 写入操作(员工更新、休假请求)
- 内置缓存、指数回退重试和错误分类
- 安全强化:输入验证、凭证净化、字段分配
- 具有100多个测试的TypeScript
快速开始
克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"bamboohr": {
"command": "node",
"args": ["/path/to/cl-bamboohr-mcp/dist/index.js"],
"env": {
"BAMBOO_API_TOKEN": "your-api-key",
"BAMBOO_COMPANY_DOMAIN": "your-company"
}
}
}
}来源
git clone https://github.com/iseletsk/cl-bamboohr-mcp.git
cd cl-bamboohr-mcp
npm install
npm run build环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
BAMBOO_API_TOKEN | 是 | - | BambooHR API密钥 |
BAMBOO_COMPANY_DOMAIN | 是 | -- | 公司子域 |
DEBUG | 没有 | false | 启用调试日志记录 |
BAMBOO_CACHE_TTL_MS | 没有 | 300000 | 缓存TTL(毫秒)(5分钟) |
BAMBOO_MAX_RETRIES | 没有 | 3 | 最大重试次数 |
BAMBOO_REQUEST_TIMEOUT_MS | 没有 | 30000 | 请求超时(毫秒) |
BAMBOO_UPDATE_ALLOWED_FIELDS | 没有 | -- | 逗号分隔的员工更新列表 |
工具
员工管理(6)
- 招聘员工 --按ID获取员工详细信息
- 查找员工 --按姓名/电子邮件/部门搜索目录
- 更新员工 --更新员工字段(写入)
- 获取员工目录 --完整公司目录
- 获取员工照片 --员工照片URL
- 实现员工目标 --绩效目标
休息时间(4)
- 把谁弄出去 --目前谁出局了
- 请假请求 --按日期/状态筛选请求
- 估计失衡时间 --未来余额估算
- 创建休假请求 --创建请求(WRITE)
文件(3)
- 列出公司文件 --按类别列出的公司文件
- 获取公司文件 --文件元数据
- 获取员工档案 --员工档案分类
组织(3)
- 获取元字段 --字段元数据(可按类型筛选)
- 获取部门 --所有部门
- 获取团队信息 --按主管/部门划分的团队成员
分析(3)
- 发现数据集 --可用数据集
- 发现字段 --数据集中的字段
- 劳动力分析 --使用过滤器查询数据集
报告(2)
- 列出自定义报告 --已保存的报告
- 运行自定义报告 --执行报告
安全
- 所有ID均已验证(员工/文件/报告ID的数字正则表达式)
- 启动时验证的子域
- 无凭据日志记录——从错误对象中删除身份验证
- 写入操作的可选字段分配列表
- 通过Zod模式验证的日期和枚举
发展
npm test # Run tests
npm run test:coverage # Run with coverage
npm run build # TypeScript compilation
npm run lint # Type check only许可证
麻省理工学院
