Talenta MCP by usefulapi

MCP server for Talenta — read employee, attendance, leave, payroll and recruitment data.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
92%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'talenta_list_employment_statuses' name length outside 3-30 rangein talenta_list_employment_statuses
  • LOWTool 'talenta_time_off_balance_history' name length outside 3-30 rangein talenta_time_off_balance_history
  • LOWTool 'talenta_list_employee_transfers' name length outside 3-30 rangein talenta_list_employee_transfers

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,323Tokens (tool definitions)
~2.2 KBTypical response size
Significant attention impact (6.50% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "talenta": {
      "url": "https://talenta.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://talenta.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (30)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢talenta_list_employees(user_ids, email, branch_ids, organization_ids, job_position_ids, ...)

List the employees of the company (Talenta Data API v3) with name, employee id, email, branch, organization, job position, employment status, join/resign dates and more. Filter by user ids, email, branch, organization, job position, job level, employment status, or join/created/modified dates. `include` adds sub-objects (approval line, family, education, payroll info, custom fields); use it sparingly, it slows the call. Contains personal data. GET /v3/employees.

Input Schema

{
  "type": "object",
  "properties": {
    "user_ids": {
      "description": "Only these Talenta user ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "email": {
      "description": "Only the employee with this email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "branch_ids": {
      "description": "Only these branch ids (0 = head office).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "organization_ids": {
      "description": "Only these organization ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_position_ids": {
      "description": "Only these job position ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_level_id": {
      "description": "Only this job level id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "employment_status_id": {
      "description": "Only this employment status id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "join_start_date": {
      "description": "Joined on or after (yyyy-mm-dd).",
      "type": "string"
    },
    "join_end_date": {
      "description": "Joined on or before (yyyy-mm-dd).",
      "type": "string"
    },
    "modified_start_date": {
      "description": "Modified on or after (yyyy-mm-dd).",
      "type": "string"
    },
    "modified_end_date": {
      "description": "Modified on or before (yyyy-mm-dd).",
      "type": "string"
    },
    "order_join_date": {
      "description": "Sort by join date.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "include": {
      "description": "Extra sub-objects per employee.",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "approval_line",
          "personal_employment",
          "family",
          "education",
          "payroll_info",
          "custom_fields"
        ]
      }
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_employee(user_id)

One employee by Talenta user id: personal data, employment, family, education, payroll info, custom fields and access role. Contains personal data. GET /v2/employee/{user_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Talenta user id (talenta_list_employees: user_id)."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_employment_info(user_id, employee_id, email)

Employment details of one employee (branch, class, grade, job, contract and probation dates, approval line). Give exactly one of user_id, employee_id or email. GET /v3/employee/employment-info.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "Talenta user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "employee_id": {
      "description": "The company's employee id (for example SDET-001).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "email": {
      "description": "The employee's email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_family_info(user_id, employee_id, page, limit)

Family members of one employee (name, relationship, birth date, marital status, ID number). Contains personal data. Give exactly one of user_id or employee_id. GET /v3/employee/family-info.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "Talenta user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "employee_id": {
      "description": "The company's employee id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_formal_education(user_id, employee_id, page, limit)

Formal education history of one employee (degree, institution, major, years, score). Give exactly one of user_id or employee_id. GET /v3/employee/formal-education.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "description": "Talenta user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "employee_id": {
      "description": "The company's employee id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_company_info(company_id)

The company's profile: name, address, phone, email, BPJS and tax numbers. GET /v2/company/{company_id}/info.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "description": "Talenta company id (default: the company of the connected credentials).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_branches(company_id, include_head_office, page, limit)

List the company's branches with address, province and tax details. Use the ids to filter employees. GET /v2/company/{company_id}/branch.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "description": "Talenta company id (default: the company of the connected credentials).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "include_head_office": {
      "description": "Also return the head office (default false).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_organizations(company_id, search, page, limit)

List the company's organizations (departments) with parent organization and branch. GET /v2/company/{company_id}/organization.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "description": "Talenta company id (default: the company of the connected credentials).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Filter by organization name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_job_positions(company_id, status, branch_id, parent_id, search, ...)

List the company's job positions with level, parent position, branch and status. GET /v3/company/{company_id}/job-positions.

Input Schema

{
  "type": "object",
  "properties": {
    "company_id": {
      "description": "Talenta company id (default: the company of the connected credentials).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "1 = active, 0 = inactive.",
      "anyOf": [
        {
          "type": "number",
          "const": 0
        },
        {
          "type": "number",
          "const": 1
        }
      ]
    },
    "branch_id": {
      "description": "Only this branch id.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "parent_id": {
      "description": "Only children of this job position id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Filter by job position name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_job_levels(search, status, page, limit)

List the company's job levels with code, status and employee count. GET /v3/company/job-levels.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Match by job level name or code.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "status": {
      "description": "1 = active, 0 = inactive.",
      "anyOf": [
        {
          "type": "number",
          "const": 0
        },
        {
          "type": "number",
          "const": 1
        }
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_employment_statuses(page, limit)

List the company's employment statuses (permanent, contract, ...) with ids for employee filters. The company is selected by the HMAC credentials. GET /v2/company/me/employment-status.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_time_off_requests(start_date, end_date, status, user_id)

Time off (leave) requests of the company in a date range, optionally for one user or one status. GET /v2/time-off.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "description": "Start of the period (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the period (yyyy-mm-dd)."
    },
    "status": {
      "description": "Only this request status.",
      "type": "string",
      "enum": [
        "approved",
        "pending",
        "cancelled",
        "rejected"
      ]
    },
    "user_id": {
      "description": "Only this Talenta user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_time_off_balance_history(start_date, end_date, policy_name, page, limit)

Per-employee time off balances over a period: beginning balance, taken, adjustment, expired, carry forward, ending balance, per policy. GET /v3/time-off/balance-history.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "From this date (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "To this date (yyyy-mm-dd).",
      "type": "string"
    },
    "policy_name": {
      "description": "Only this time off policy (by name).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_time_off_balance_log(start_date, end_date, policy_name, page, limit)

The log of time off balance changes (requests, adjustments, expiries) per employee and policy. GET /v3/time-off/balance-log.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "From this date (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "To this date (yyyy-mm-dd).",
      "type": "string"
    },
    "policy_name": {
      "description": "Only this time off policy (by name).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_attendance_summary(date, branch_ids, organization_ids, job_level_ids, job_position_ids, ...)

The attendance summary of all employees for one day: schedule, shift, clock in/out, breaks, overtime, time off. Filter by branch, organization, job level/position, or clock-in/out status (early, late, none). GET /v3/attendance/summary-report.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "The day (yyyy-mm-dd)."
    },
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "organization_ids": {
      "description": "Only these organization ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_level_ids": {
      "description": "Only these job level ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_position_ids": {
      "description": "Only these job position ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "clock_in": {
      "description": "eci = early clock in, lci = late clock in, nci = no clock in.",
      "type": "string",
      "enum": [
        "eci",
        "lci",
        "nci"
      ]
    },
    "clock_out": {
      "description": "eco = early clock out, lco = late clock out, nco = no clock out.",
      "type": "string",
      "enum": [
        "eco",
        "lco",
        "nco"
      ]
    },
    "sort": {
      "description": "Sort field.",
      "type": "string",
      "enum": [
        "id_employee",
        "full_name",
        "shift",
        "clock_in",
        "clock_out",
        "work_start",
        "work_end"
      ]
    },
    "order": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_live_attendance(user_id, start_date, end_date)

Live attendance records (check-in/out time, location, schedule) of one employee in a date range. GET /v3/live-attendance.

Input Schema

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Talenta user id."
    },
    "start_date": {
      "type": "string",
      "description": "From (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "description": "To (yyyy-mm-dd)."
    }
  },
  "required": [
    "user_id",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_schedules(schedule, branch_ids, organization_ids, page, limit)

The current work schedule (shift pattern) of each employee, filterable by schedule name, branch and organization. GET /v3/schedule.

Input Schema

{
  "type": "object",
  "properties": {
    "schedule": {
      "description": "Only this schedule name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "organization_ids": {
      "description": "Only these organization ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_overtime_requests(start_date, end_date, user_ids, request_status, employee_search, ...)

Overtime requests in a date range (at most one year), with employee, date, duration, compensation type and status. GET /v3/overtime/request.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "description": "From (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "description": "To (yyyy-mm-dd), at most one year after start_date."
    },
    "user_ids": {
      "description": "Only requests of these Talenta user ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "request_status": {
      "description": "Only these statuses.",
      "minItems": 1,
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Pending",
          "Approved",
          "Rejected",
          "Canceled"
        ]
      }
    },
    "employee_search": {
      "description": "Search by employee name or id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_timesheets(start_date, end_date, page, limit)

Company timesheet entries (activity, duration, task, assignee) in a date range. GET /v3/timesheet.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "From (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "To (yyyy-mm-dd).",
      "type": "string"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_payroll_info(status, user_ids, branch_ids, organization_ids, job_position_ids, ...)

Payroll setup of the company's employees: tax status (PTKP), NPWP, BPJS numbers, bank account. Sensitive payroll and bank data. Filter by status, branch, organization, job position, employment status, job level, user ids or modified date. GET /v3/payroll.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "0 = active employees, 1 = resigned.",
      "anyOf": [
        {
          "type": "number",
          "const": 0
        },
        {
          "type": "number",
          "const": 1
        }
      ]
    },
    "user_ids": {
      "description": "Only these Talenta user ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "organization_ids": {
      "description": "Only these organization ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_position_ids": {
      "description": "Only these job position ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "employment_status_ids": {
      "description": "Only these employment status ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_level_ids": {
      "description": "Only these job level ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "modified_start_date": {
      "description": "Modified on or after (yyyy-mm-dd).",
      "type": "string"
    },
    "modified_end_date": {
      "description": "Modified on or before (yyyy-mm-dd).",
      "type": "string"
    },
    "order": {
      "description": "Sort direction.",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_payroll_report(year, month, payment, branch_ids, organization_ids, ...)

Company-wide payroll summary (salary detail) for one month. Sensitive payroll data. Optional filters by payment method, branch, organization, job level. GET /v3/payroll/report.

Input Schema

{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "minimum": 2000,
      "maximum": 2100,
      "description": "Year (yyyy)."
    },
    "month": {
      "type": "integer",
      "minimum": 1,
      "maximum": 12,
      "description": "Month, 1-12."
    },
    "payment": {
      "description": "Payment method filter, 1 or 2.",
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        }
      ]
    },
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "organization_ids": {
      "description": "Only these organization ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_level_ids": {
      "description": "Only these job level ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    }
  },
  "required": [
    "year",
    "month"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_reimbursements(id_employee, full_name, status, disbursement_status, policy_name, ...)

Reimbursement requests of the company with employee, policy, amount and approval/disbursement status. Filter by employee, status, policy or request date. GET /v3/reimbursement.

Input Schema

{
  "type": "object",
  "properties": {
    "id_employee": {
      "description": "Only this employee id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "full_name": {
      "description": "Only employees with this name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "status": {
      "description": "Request status.",
      "type": "string",
      "enum": [
        "pending",
        "rejected",
        "approved",
        "canceled"
      ]
    },
    "disbursement_status": {
      "description": "Disbursement status.",
      "type": "string",
      "enum": [
        "ready",
        "waiting",
        "paid"
      ]
    },
    "policy_name": {
      "description": "Only this reimbursement policy (by name).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "start_request_date": {
      "description": "Requested on or after (yyyy-mm-dd).",
      "type": "string"
    },
    "end_request_date": {
      "description": "Requested on or before (yyyy-mm-dd).",
      "type": "string"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_reprimands(start_date, end_date, status, type, search, ...)

Reprimand letters (SP 1/2/3 or custom) with the employee, dates and status. GET /v3/reprimand.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "Reprimand range start (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "Reprimand range end (yyyy-mm-dd).",
      "type": "string"
    },
    "status": {
      "description": "1 = active, 2 = canceled, 3 = expired.",
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        },
        {
          "type": "number",
          "const": 3
        }
      ]
    },
    "type": {
      "description": "1 = SP 1, 2 = SP 2, 3 = SP 3, 99 = custom.",
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        },
        {
          "type": "number",
          "const": 3
        },
        {
          "type": "number",
          "const": 99
        }
      ]
    },
    "search": {
      "description": "Keyword.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_employee_transfers(page, limit)

Employee transfer and promotion requests with employee, type, effective date and approval status. GET /v3/employee-transfer.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_delegations(delegate_from, delegate_to, delegation_type, start_date, end_date, ...)

Approval/admin/time-off delegations between employees with dates and type. GET /v3/delegations.

Input Schema

{
  "type": "object",
  "properties": {
    "delegate_from": {
      "description": "Only delegations from these user ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "delegate_to": {
      "description": "Only delegations to these user ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "delegation_type": {
      "description": "Delegation category.",
      "type": "string",
      "enum": [
        "ADMIN",
        "TIME_OFF",
        "DELEGATION_REQUEST"
      ]
    },
    "start_date": {
      "description": "Starting on or after (yyyy-mm-dd).",
      "type": "string"
    },
    "end_date": {
      "description": "Ending before (yyyy-mm-dd).",
      "type": "string"
    },
    "page": {
      "description": "Page number, 1-based (default 1). Use data.pagination.next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-50 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_jobs(keyword, branch_ids, job_position_ids, published_only, page, ...)

Job openings of the company, newest first. Filter by keyword, branch, job position, or only those live on the career page. GET /v3/recruitment/jobs.

Input Schema

{
  "type": "object",
  "properties": {
    "keyword": {
      "description": "Search the job alias or id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_position_ids": {
      "description": "Only these job position ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "published_only": {
      "description": "Only jobs live on the career page.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, 1-based (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_job(job_id)

One job opening in full, with its hiring stages and custom questions. GET /v3/recruitment/jobs/{job_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Job id (talenta_list_jobs: job_id)."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_candidates(search, application_date_start, application_date_end, order, page, ...)

Candidate applications of the company, newest first. Search by name, filter by application date. Contains personal data. GET /v3/recruitment/candidates.

Input Schema

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Part of the candidate's name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "application_date_start": {
      "description": "Applied on or after (alone: exactly this date) (yyyy-mm-dd).",
      "type": "string"
    },
    "application_date_end": {
      "description": "Applied on or before (yyyy-mm-dd); needs application_date_start.",
      "type": "string"
    },
    "order": {
      "description": "Sort direction (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, 1-based (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "limit": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_get_candidate(job_application_id)

One candidate application with personal data, education and work experience. Contains personal data (ID numbers, address, salary). GET /v3/recruitment/candidates/{job_application_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Application id (talenta_list_candidates: job_application_id)."
    }
  },
  "required": [
    "job_application_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢talenta_list_hiring_stages(branch_ids, job_position_ids, published_only, page, per_page)

For each job opening, how many candidates sit in each pipeline phase (screening, assessment, interview, job offer). GET /v3/recruitment/hiring-stages.

Input Schema

{
  "type": "object",
  "properties": {
    "branch_ids": {
      "description": "Only these branch ids.",
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9007199254740991
      }
    },
    "job_position_ids": {
      "description": "Only these job position ids.",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "published_only": {
      "description": "Only published jobs.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, 1-based (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded30 tools