Skip to main content
Glama
gabrielrojasnyc

HR MCP Server

Servidor MCP de RR.HH.

Un servidor de Protocolo de Contexto de Modelo (MCP) para operaciones de RR.HH. creado para su uso con Claude Desktop.

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

Descripción general

Este servidor implementa el Protocolo de Contexto de Modelo para proporcionar a Claude acceso estructurado a los datos de los empleados y a las operaciones de RR.HH.

El servidor HR MCP permite a Claude:

  • Busque información detallada de los empleados

  • Búsqueda de empleados por diversos criterios

  • Enviar y gestionar solicitudes de licencia globales

  • Traducir texto con conocimiento del contexto de RR.HH./HCM

Para obtener una descripción arquitectónica detallada, consulte ARCHITECTURE.md .

Diseño de sistemas

Related MCP server: LeaveManager

Herramientas

El servidor proporciona las siguientes herramientas a Claude:

1. get_employee_info

Recupera información detallada sobre un empleado específico por identificación, incluidos detalles personales, información de empleo, habilidades, beneficios y más.

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

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

2. search_employees

Busque empleados por diversos criterios con opciones de coincidencia flexibles. Permite buscar por nombre, departamento, habilidades, ubicación y muchos otros campos.

// 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

Envíe solicitudes de licencia globales para empleados que viajan a varios países, con cadenas de aprobación y recordatorios de cumplimiento.

// 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. Mensaje de traducción: translate_text

Traduce texto de cualquier idioma a un idioma de destino específico con detección automática del idioma de origen y un enfoque especial en la terminología de RR.HH./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" 
})

El sistema de traducción maneja la terminología específica de RR.HH. con conocimiento del contexto, preservando el significado técnico de términos como "beneficios", "período", "cheque", "puesto", etc., que tienen significados especiales en contextos de gestión de capital humano.

Instalación

# 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

Uso

  1. Iniciar el servidor:

npm start
  1. Conecte Claude Desktop al servidor seleccionando "Herramienta local (a través de stdio)" como tipo de herramienta y utilizando la ruta al script de inicio del servidor.

  2. Acceda a los datos de los empleados y a las herramientas de RR.HH a través de la interfaz de Claude.

Desarrollo

  • El código fuente está en el directorio /src

  • Los datos de los empleados se almacenan en /src/data/employees.ts

  • El servidor utiliza TypeScript con tipificación estricta

Para ejecutar en modo de desarrollo:

npx ts-node-esm src/index.ts

Pila tecnológica

Estructura del código

El servidor está organizado con el foco puesto en un código limpio y mantenible:

  • Registro centralizado : registro consistente con formato JSON-RPC

  • Arquitectura basada en herramientas : cada herramienta tiene una responsabilidad clara

  • Validación de esquemas : tipificación fuerte con Zod para todas las entradas

  • Manejo de errores : validación integral con mensajes de error claros

  • Documentación : Comentarios en línea que explican lógica compleja

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Derechos de autor (c) 2024

Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.

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
    -