HR MCP Server
HR MCP 서버
Claude Desktop과 함께 사용하도록 구축된 HR 운영을 위한 MCP(Model Context Protocol) 서버입니다.
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에 대한 자세한 정보를 검색합니다.
지엑스피1
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용법
서버를 시작합니다:
npm start도구 유형으로 "로컬 도구(stdio를 통해)"를 선택하고 서버의 시작 스크립트 경로를 사용하여 Claude Desktop을 서버에 연결합니다.
Claude의 인터페이스를 통해 직원 데이터와 HR 도구에 접근하세요.
개발
소스 코드는
/src디렉토리에 있습니다.직원 데이터는
/src/data/employees.ts에 저장됩니다.서버는 엄격한 타이핑을 사용하는 TypeScript를 사용합니다.
개발 모드에서 실행하려면:
npx ts-node-esm src/index.ts기술 스택
타입스크립트
노드.js
@modelcontextprotocol/sdk - JavaScript/TypeScript용 MCP SDK
Zod - TypeScript 우선 스키마 검증
코드 구조
서버는 깔끔하고 유지 관리하기 쉬운 코드에 중점을 두고 구성됩니다.
중앙 집중식 로깅 - 일관된 JSON-RPC 형식 로깅
도구 기반 아키텍처 - 각 도구에는 명확한 책임이 있습니다.
스키마 검증 - 모든 입력에 대해 Zod를 사용한 강력한 타이핑
오류 처리 - 명확한 오류 메시지를 통한 포괄적인 검증
문서 - 복잡한 논리를 설명하는 인라인 주석
특허
MIT
저작권 (c) 2024
본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득한 모든 사람에게 소프트웨어를 제한 없이 거래할 수 있는 권한을 무상으로 부여합니다. 여기에는 소프트웨어 사본을 사용, 복사, 수정, 병합, 게시, 배포, 하위 라이선스 및/또는 판매할 수 있는 권한이 포함되나 이에 국한되지 않으며, 소프트웨어가 제공된 사람에게도 이러한 권한을 부여합니다. 단, 다음 조건에 따라야 합니다.
위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야 합니다.
본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저작자 또는 저작권자는 본 소프트웨어 또는 본 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송을 포함한 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
Available Tools
3 toolsget_employee_infoD
| Name | Required | Description | Default |
|---|---|---|---|
| employee_id | Yes | The ID of the employee to retrieve information for | |
| include_sensitive | No | Whether to include sensitive information like SSN (default: false) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| contact_info | No | Contact information during leave | |
| countries | Yes | Countries for which leave is being requested (e.g., ["USA", "UK"]) | |
| employee_id | Yes | The ID of the employee requesting leave | |
| end_date | Yes | End date of the leave (YYYY-MM-DD) | |
| reason | Yes | Reason for the leave request | |
| start_date | Yes | Start date of the leave (YYYY-MM-DD) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Search options | |
| query | Yes | Search parameters - provide at least one field |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.0- First observed
get_employee_info - First observed
request_global_leave - First observed
search_employees
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
AI から使えるクラウドグループウェア Work Handler の MCP サーバー。組織・メンバーの参照、出退勤の共有、タイムカード、承認フロー等を本人の権限の範囲で操作できる。
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables querying attendance information and managing employee leave requests, overtime requests, and schedules.-
- FlicenseBqualityDmaintenanceA 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-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables Claude to interact with a Lucca instance to list employees, departments, and view absences in natural language.3MIT
- FlicenseDqualityDmaintenanceAn 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-