Skip to main content
Glama
arimon03

Evaluar MCP Server

by arimon03
README.md
# Evaluar MCP Server

Servidor MCP (Model Context Protocol) para autenticarse en Evaluar y lanzar procesos eTalent desde tu IDE.

## Instalación

### 1. Clonar y compilar

```bash
git clone <repository-url>
cd evaluar-mcp
npm install
npm run build
```

### 2. Configurar en tu MCP Host

Obtén la ruta absoluta del proyecto:

```bash
# En Windows
cd
# Resultado ejemplo: C:\Users\tu-usuario\proyectos\evaluar-mcp

# En Mac/Linux  
pwd
# Resultado ejemplo: /Users/tu-usuario/proyectos/evaluar-mcp
```

#### Claude Desktop

Edita `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "evaluar": {
      "command": "node",
      "args": ["C:\\Users\\tu-usuario\\proyectos\\evaluar-mcp\\dist\\index.js"],
      "env": {
        "EVALUAR_AUTH_URL": "https://auth.evaluar.com/auth/realms/evcore/protocol/openid-connect/token",
        "EVALUAR_API_URL": "https://apis.evaluar.com",
        "EVALUAR_GRAPHQL_URL": "https://apis.evaluar.com/v2/graphql",
        "EVALUAR_CLIENT_ID": "evcap"
      }
    }
  }
}
```

#### Cursor

Edita `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "evaluar": {
      "command": "node",
      "args": ["C:\\Users\\tu-usuario\\proyectos\\evaluar-mcp\\dist\\index.js"],
      "env": {
        "EVALUAR_AUTH_URL": "https://auth.evaluar.com/auth/realms/evcore/protocol/openid-connect/token",
        "EVALUAR_API_URL": "https://apis.evaluar.com",
        "EVALUAR_GRAPHQL_URL": "https://apis.evaluar.com/v2/graphql",
        "EVALUAR_CLIENT_ID": "evcap"
      }
    }
  }
}
```

### 3. Reiniciar tu IDE

Reinicia Claude Desktop, Cursor o tu IDE preferido para que cargue el nuevo MCP server.

## Herramientas Disponibles

### Autenticación
- `auth_login`: Iniciar sesión con usuario y contraseña
- `auth_refresh`: Refrescar el token de autenticación

### Gestión de Empresas
- `company_list`: Listar empresas disponibles
- `company_select`: Seleccionar empresa activa

### Búsqueda de Positions
- `position_search`: Buscar positions por nombre (soporta wildcard)

### Procesos eTalent
- `process_create`: Crear proceso eTalent (estado DRAFT)
- `process_assign_position`: Asignar position a un proceso
- `process_launch`: Lanzar proceso (devuelve URL de summary)

## Flujo de Uso Típico

1. **Iniciar sesión**:
   ```
   Usa auth_login con tus credenciales de Evaluar
   ```

2. **Seleccionar empresa** (si tienes más de una):
   ```
   Usa company_list para ver opciones
   Usa company_select para elegir una
   ```

3. **Buscar position**:
   ```
   Usa position_search con el nombre del cargo
   ```

4. **Crear y lanzar proceso**:
   ```
   Usa process_create
   Usa process_assign_position
   Usa process_launch
   ```

5. **Acceder al proceso**:
   ```
   Copia la URL de summary devuelta por process_launch
   ```

## Ejemplo de Uso

"Necesito lanzar un proceso eTalent para un asesor de ventas"

El MCP te guiará paso a paso:
1. Pedirá tus credenciales
2. Si tienes varias empresas, te mostrará opciones
3. Buscará positions relacionadas con "asesor ventas"
4. Creará el proceso y te dará la URL de summary

## Variables de Entorno

- `EVALUAR_AUTH_URL`: URL de autenticación Keycloak
- `EVALUAR_API_URL`: Base URL de APIs REST
- `EVALUAR_GRAPHQL_URL`: URL de endpoint GraphQL
- `EVALUAR_CLIENT_ID`: Client ID OAuth (default: evcap)

## Rate Limiting

El servidor implementa un límite de 1 solicitud por segundo para evitar sobrecargar las APIs de Evaluar.

## Manejo de Errores

- **401**: Requiere autenticación o refresh de token
- **403**: Permisos insuficientes
- **5xx**: Error del servidor Evaluar
- **Rate limit**: Espera requerida antes de siguiente solicitud

## Soporte

Este MCP solo soporta procesos tipo `etalent`. Otros tipos como `cap360` o `trust` están fuera del alcance actual.

## Estructura del Proyecto

```
evaluar-mcp/
├── src/
│   ├── index.ts          # Entry point MCP server
│   ├── tools/            # MCP tools implementations
│   ├── api/              # HTTP client
│   └── types.ts          # TypeScript types
├── dist/                 # Compiled output
├── package.json
└── tsconfig.json
```

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool maps cleanly to a distinct action: authentication, company context, position lookup, and process lifecycle steps. There is no meaningful overlap between tools.

Naming Consistency5/5

All tool names follow a consistent noun_verb pattern with clear prefixes (auth_, company_, position_, process_). This makes the API predictable and easy to navigate.

Tool Count5/5

With 8 tools, the server is well-scoped for an authentication, company selection, position search, and process creation workflow. Each tool contributes a meaningful step.

Completeness4/5

The process lifecycle is covered from creation through launch, but there is no way to list, view, or update existing processes. This is a minor gap that agents can partially work around but may hinder tracking.

Maintenance

ActivityInactive
ResponsivenessNo issues