Skip to main content
Glama
gabrielrojasnyc

HR MCP Server

HR MCP サーバー

Claude Desktop で使用するために構築された HR 操作用の Model Context Protocol (MCP) サーバー。

https://github.com/user-attachments/assets/4cb89115-daf2-4647-81d2-aadd9e0dd29e

概要

このサーバーはモデルコンテキストプロトコルを実装し、Claude に従業員データと HR 操作への構造化されたアクセスを提供します。

HR MCP サーバーにより、Claude は次のことが可能になります。

  • 従業員の詳細情報を検索する

  • さまざまな条件で従業員を検索

  • グローバル休暇申請の提出と管理

  • HR/HCM コンテキスト認識によるテキスト翻訳

詳細なアーキテクチャの概要については、 ARCHITECTURE.md を参照してください。

システム設計

Related MCP server: LeaveManager

ツール

サーバーは、Claude に次のツールを提供します。

1. get_employee_info

個人情報、雇用情報、スキル、福利厚生など、特定の従業員に関する詳細情報を ID 別に取得します。

// Example usage:
get_employee_info({ employee_id: "E001" })

// With sensitive information:
get_employee_info({ employee_id: "E001", include_sensitive: true })

2. 従業search_employees

柔軟なマッチングオプションを備えた様々な条件で従業員を検索できます。氏名、部署、スキル、勤務地など、様々なフィールドでの検索に対応しています。

// Basic search:
search_employees({ 
  query: { department: "Engineering" } 
})

// Advanced search:
search_employees({ 
  query: { 
    location: "Seattle", 
    performance_rating: 5 
  }, 
  options: { 
    sort_by: "hireDate", 
    output_format: "detailed" 
  } 
})

// Search with sensitive information:
search_employees({ 
  query: { salary_min: 100000 }, 
  options: { include_sensitive: true } 
})

3. request_global_leave

承認チェーンとコンプライアンス リマインダーを使用して、複数の国に出張する従業員のグローバル休暇申請を送信します。

// Basic request:
request_global_leave({ 
  employee_id: "E002", 
  start_date: "2025-05-01", 
  end_date: "2025-05-15", 
  reason: "Family vacation", 
  countries: ["USA", "UK"] 
})

// With custom contact info:
request_global_leave({ 
  employee_id: "E002", 
  start_date: "2025-05-01", 
  end_date: "2025-05-15", 
  reason: "Family vacation", 
  countries: ["USA", "UK"], 
  contact_info: { 
    email: "bob.vacation@example.com", 
    phone: "+1-555-123-4567" 
  } 
})

4. 翻訳プロンプト: translate_text

自動ソース言語検出と HR/HCM 用語に特に重点を置いて、任意の言語のテキストを指定されたターゲット言語に翻訳します。

// Basic translation:
translate_text({ 
  text: "Les employés doivent soumettre leurs feuilles de temps avant la fin de la période.", 
  target_language: "English" 
})

翻訳システムは、コンテキストを認識しながら HR 固有の用語を処理し、人材管理のコンテキストで特別な意味を持つ「給付金」、「期間」、「チェック」、「ポジション」などの用語の技術的な意味を保持します。

インストール

# Clone the repository
git clone https://github.com/yourusername/hr-mcp-server.git
cd hr-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

使用法

  1. サーバーを起動します。

npm start
  1. ツール タイプとして「ローカル ツール (stdio 経由)」を選択し、サーバーの起動スクリプトへのパスを使用して、Claude Desktop をサーバーに接続します。

  2. Claude のインターフェースを通じて従業員データと HR ツールにアクセスします。

発達

  • ソースコードは/srcディレクトリにあります

  • 従業員データは/src/data/employees.tsに保存されます。

  • サーバーは厳密な型付けのTypeScriptを使用します

開発モードで実行するには:

npx ts-node-esm src/index.ts

技術スタック

  • タイプスクリプト

  • Node.js

  • @modelcontextprotocol/sdk - JavaScript/TypeScript 用の MCP SDK

  • Zod - TypeScript ファーストのスキーマ検証

コード構造

サーバーは、クリーンで保守しやすいコードに重点を置いて構成されています。

  • 集中ログ- 一貫したJSON-RPC形式のログ

  • ツールベースのアーキテクチャ- 各ツールには明確な責任がある

  • スキーマ検証- すべての入力に対して Zod による強力な型付け

  • エラー処理- 明確なエラーメッセージによる包括的な検証

  • ドキュメント- 複雑なロジックを説明するインラインコメント

ライセンス

マサチューセッツ工科大学

著作権 (c) 2024

本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。

Available Tools

3 tools
get_employee_infoD
ParametersJSON Schema
NameRequiredDescriptionDefault
employee_idYesThe ID of the employee to retrieve information for
include_sensitiveNoWhether to include sensitive information like SSN (default: false)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_global_leaveD
ParametersJSON Schema
NameRequiredDescriptionDefault
contact_infoNoContact information during leave
countriesYesCountries for which leave is being requested (e.g., ["USA", "UK"])
employee_idYesThe ID of the employee requesting leave
end_dateYesEnd date of the leave (YYYY-MM-DD)
reasonYesReason for the leave request
start_dateYesStart date of the leave (YYYY-MM-DD)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_employeesD
ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNoSearch options
queryYesSearch parameters - provide at least one field

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedget_employee_info
    • First observedrequest_global_leave
    • First observedsearch_employees

TDQS

D1.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_employee_info retrieves specific employee details, request_global_leave handles leave requests, and search_employees finds employees based on criteria. There is no overlap in functionality, making tool selection straightforward.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_employee_info, request_global_leave, search_employees). The naming is uniform and predictable, with no deviations in style or convention.

Tool Count2/5

With only 3 tools, the server feels thin for an HR domain, which typically requires more operations like updating employee info, managing leave approvals, or handling payroll. The count is too low for comprehensive HR functionality.

Completeness2/5

The tool set is severely incomplete for an HR server. It lacks essential CRUD operations (e.g., update or delete employee info), leave management workflows (e.g., approve/reject leave), and other HR functions like onboarding or performance reviews, leading to significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables users to manage employee leave through natural language. It provides tools to check leave balances, apply for leave, and view leave history via Claude integration.
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude to interact with a Lucca instance to list employees, departments, and view absences in natural language.
    3
    MIT
  • F
    license
    D
    quality
    D
    maintenance
    An AI-powered HR assistant that automates employee management, leave handling, ticket creation, meeting scheduling, and email notifications through natural language conversations using the Model Context Protocol.
    11
    -