mcpField
B
BambooHR MCP

BambooHR MCP

ローカル
github.com/encoreshaoビジネス・マーケティング477 週間前に更新

BambooHR MCP について

BambooHR MCP は、型付きで BambooHR API にアクセスする Node.js・TypeScript ライブラリです。Promise ベースのメソッドで主要なエンドポイントを呼び出せ、開発者はメソッドを追加できます。

主な機能

  1. 01TypeScript のモデルとレスポンス型
  2. 02主要エンドポイント向けの Promise メソッド
  3. 03BambooHR API ラッパークラス
  4. 04エクスポート済みヘルパー関数
  5. 05拡張可能な API メソッド

活用シーン

  1. 01Node.js アプリから BambooHR にアクセス
  2. 02TypeScript プロジェクトで BambooHR API を利用
  3. 03従業員・プロジェクト・勤務時間データの取得
  4. 04従業員の勤務時間の登録

MCP 対応

BambooHR 向け MCP ライブラリと説明されており、アプリケーションから BambooHR API の操作を呼び出すインターフェースを提供します。README には MCP のツールやトランスポートの詳細はありません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

BambooHR MCP

Node.js と TypeScript で構築された、BambooHR 用の Model Context Protocol(MCP)ライブラリです。このライブラリは、Node.js または TypeScript アプリケーションから BambooHR API を利用するための、シンプルで型安全なインターフェースを提供します。

特長

  • すべてのモデルと API レスポンスに対応する TypeScript 型
  • BambooHR の主要なすべてのエンドポイントに対応した、シンプルな Promise ベースの API
  • 独自のプロジェクトへの拡張や統合が簡単

インストール

# Clone the repository
git clone https://github.com/encoreshao/bamboohr-mcp.git

# Navigate to the project directory
cd bamboohr-mcp

# Install dependencies
npm install

使用方法

import {
  BambooHRApi,
  fetchWhosOut,
  fetchProjects,
  submitWorkHours,
  getMe,
  fetchEmployeeDirectory,
  fetchTimeEntries,
} from "bamboohr-mcp";

const token = process.env.BAMBOOHR_TOKEN!;
const companyDomain = process.env.BAMBOOHR_COMPANY_DOMAIN!;
const employeeID = process.env.BAMBOOHR_EMPLOYEE_ID!;

// List all employees with name, email, and job title
const directory = await fetchEmployeeDirectory(token, companyDomain);
directory.employees.forEach((emp) => {
  console.log(`${emp.displayName} — ${emp.workEmail} — ${emp.jobTitle}`);
});

// Fetch "who's out today"
const whosOut = await fetchWhosOut(token, companyDomain);
whosOut.forEach((out) => {
  console.log(`${out.employeeName}: ${out.startDate} to ${out.endDate}`);
});

// Submit work hours (find project/task IDs first)
const projects = await fetchProjects(token, companyDomain, employeeID);
const bambooHR = projects.find((p) => p.name.includes("BambooHR"));
const devTask = bambooHR?.tasks.find((t) => t.name.includes("Development"));
if (bambooHR && devTask) {
  await submitWorkHours(
    token,
    companyDomain,
    employeeID,
    bambooHR.id,
    devTask.id,
    "2024-06-01",
    1,
    "Development work on BambooHR"
  );
}

API

すべてのメソッドは Promise を返し、src/utils/models.d.ts で定義された型を使用します。

  • BambooHRApi クラス:すべての API メソッドをカプセル化します。
  • ヘルパー関数:fetchWhosOut、fetchProjects、submitWorkHours、getMe、fetchEmployeeDirectory、fetchTimeEntries。

環境変数

BambooHR API トークンと会社のドメインは、メソッドに直接渡すか、環境変数を使用できます。

必須:

  • BAMBOOHR_TOKEN — BambooHR API トークン
  • BAMBOOHR_COMPANY_DOMAIN — BambooHR の会社ドメイン(.bamboohr.com より前の部分)
  • BAMBOOHR_EMPLOYEE_ID — BambooHR の従業員 ID
BambooHR API トークンの作成

このライブラリを使用するには、BambooHR API トークンを作成する必要があります。

  1. BambooHR アカウントにログインします
  2. 左下のプロフィール画像をクリックします
  3. ドロップダウンメニューから「API Keys」を選択します
  4. 「Add New Key」をクリックします
  5. キーの API キー名(例:「MCP Server」)を入力し、「Generate Key」をクリックします
  6. 生成されたトークンをすぐにコピーします(トークンが表示されるのは一度だけです)
会社ドメインの確認

会社ドメインは、BambooHR の URL で使用されているサブドメインです。

  • https://yourcompany.bamboohr.com で BambooHR にアクセスする場合、会社ドメインは yourcompany です
  • この値は、環境変数 BAMBOOHR_COMPANY_DOMAIN に設定するか、API メソッドに直接渡します
従業員 ID の確認

従業員 ID は、次の方法で確認できます。

  1. プロフィール URL から確認します:プロフィールを表示すると、URL に従業員 ID が含まれます(例:https://yourcompany.bamboohr.com/employees/employee.php?id=123)

.env ファイルの例:

BAMBOOHR_TOKEN=your_api_token_here
BAMBOOHR_COMPANY_DOMAIN=yourcompany
BAMBOOHR_EMPLOYEE_ID=123

拡張

src/apis/bamboohr.ts に新しいメソッドを追加し、src/index.ts からエクスポートします。

貢献者

ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。