Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

kiwiHR MCP by usefulapi

by m190version 1.14.4i★ –iRuns in the cloud
Registry nameio.usefulapi/kiwihr

Install

Overview

Description from the maker (original English)

Read kiwiHR employees, time off, timesheets, projects; create and update employees, timesheets.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://kiwihr.usefulapi.io/mcp

Run this in your terminal

claude mcp add --transport http kiwihr https://kiwihr.usefulapi.io/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

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

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "kiwihr": {
      "type": "http",
      "url": "https://kiwihr.usefulapi.io/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://kiwihr.usefulapi.io/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • kiwihr_list_users

    List or search employees (kiwiHR 'users') with name, work email, active flag, employee number, employment dates, position, team, location and manager. Filter by active state, team, location, position, e-mail or name. Payroll, bank, tax and insurance data are never included. Graph

  • kiwihr_get_user

    One employee by id: the list fields plus probation end, about-me, language, invitation status, work phones, all teams, work schedule and custom field values. With include_personal=true it also returns birth date, private e-mail and phone, nationality, gender, pronouns, home addre

  • kiwihr_list_teams

    List teams and departments (id, name, kind GROUP or DEPARTMENT). Use the ids to filter employees. GraphQL query teams.

  • kiwihr_list_locations

    List office locations (id, name). Use the ids to filter employees. GraphQL query locations.

  • kiwihr_list_positions

    List job positions (id, name). Use the ids to filter employees. GraphQL query positions.

  • kiwihr_list_custom_fields

    List the company's custom employee profile fields (id, name, section, data type, choice options). Payroll and bank sections are listed by name only; their values are never returned by any tool. GraphQL query customFields.

  • kiwihr_list_time_off_types

    List time off (absence) types such as vacation or sick leave: id, name, colour, visibility to team members. Use the ids with kiwihr_get_time_off_usage and kiwihr_list_time_off_balances. GraphQL query timeOffTypes.

  • kiwihr_list_time_off_balances

    Time off balances of all employees: per employee and time off rule the allowance, accrued, used, requested, planned and available days, carry-over and the accrual/usage periods. Filter by time off type, active state and usage period. The API has no per-employee filter or paging f

  • kiwihr_get_time_off_usage

    Who took (or requested) how much time off in a date range: per employee the request count and used days for each time off rule of the chosen time off types. Use it for absence reports ('who was off in March?'). Optional employee filters as in kiwihr_list_users. GraphQL query time

  • kiwihr_list_timesheets

    Daily timesheets of one employee (or the key's admin user when user_id is omitted) in a date range: expected, tracked, time off, holiday and break time in SECONDS, approval flag, time offs, holidays, entries (start/end, type, note, project) and break-rule violations. GraphQL quer

  • kiwihr_get_timesheet

    The timesheet of ONE employee for ONE day (user_id omitted = the admin user the key acts as), with all entries and their ids (needed to update or delete an entry). Times in seconds. GraphQL query timesheet.

  • kiwihr_get_attendance_statement

    Attendance summary of ONE employee over a date range: expected, tracked, total, time off and holiday time (seconds) and days, balance, overtime, meal vouchers, and tracked time per project. GraphQL query attendanceStatement.

  • kiwihr_list_attendance_statements

    Attendance summaries of ALL employees over a date range (expected vs tracked time, time off, holidays, balance, overtime, tracked time per project). Optionally only employees with time tracked on a project, or with uncategorized time; inactive employees can be included. GraphQL q

  • kiwihr_list_overtime_balances

    Current overtime balance (seconds) per employee. GraphQL query overtimeBalanceStatements.

  • kiwihr_list_projects

    List time-tracking projects (id, name, status ACTIVE or INACTIVE). GraphQL query projects.

  • kiwihr_get_project

    One time-tracking project by id (name, status). GraphQL query project.

  • kiwihr_list_journeys

    List onboarding/offboarding journeys (id, name, status DRAFT/ONGOING/COMPLETED/CANCELLED, assignee, journey type, custom date). Filter by status, assignee, type or team. GraphQL query journeys.

  • kiwihr_get_journey

    One journey by id with its steps (name, description, fixed start and due dates). With include_personal=true it also returns the private e-mail address stored on the journey. GraphQL query journey.

  • kiwihr_list_journey_templates

    List journey templates (id, name, description, type). Use a template id with kiwihr_create_journey. GraphQL query journeyTemplates.

  • kiwihr_list_journey_types

    List journey types such as pre-onboarding, onboarding or offboarding (id, name, key, archived date). GraphQL query journeyTypes.

  • kiwihr_create_timesheet_entry

    WRITE: add a time entry to the timesheet of one employee on one day (user_id omitted = the admin user the key acts as). type MANUAL = worked time (give start_at and end_at as HH:mm:ss, or a part_of_day), BREAK = a break. Optional project and note. Creates a new entry each call (n

  • kiwihr_update_timesheet_entry

    WRITE: change an existing timesheet entry (get its id from kiwihr_get_timesheet): times, part of day, project or note. Only the fields you pass are changed. Setting the same values again gives the same result. Returns the updated day. GraphQL mutation updateTimesheetEntry.

  • kiwihr_delete_timesheet_entry

    WRITE, DESTRUCTIVE: permanently delete one timesheet entry by id (get it from kiwihr_get_timesheet). This cannot be undone. Returns true when deleted. GraphQL mutation deleteTimesheetEntry.

  • kiwihr_create_project

    WRITE: create a time-tracking project (name, status ACTIVE or INACTIVE; default ACTIVE). Creates a new project each call (not idempotent). GraphQL mutation createProject.

  • kiwihr_update_project

    WRITE: rename a project or switch it ACTIVE/INACTIVE (INACTIVE projects can no longer be used for time tracking). Only the fields you pass are changed. GraphQL mutation updateProject.

  • kiwihr_create_user

    WRITE: add a new employee record (first name, last name and work e-mail are required; optional start date, manager, teams, position, location and phones). Creates a new employee each call (not idempotent). No invitation is sent by this tool. Payroll and bank data cannot be set. G

  • kiwihr_update_user

    WRITE: change an employee's work profile: name, start date, about-me, work phones, position, team(s), location, manager. Only the fields you pass are changed (team_ids replaces the whole team list). Private, payroll and bank data cannot be changed with this tool. GraphQL mutation

  • kiwihr_deactivate_user

    WRITE, ACCESS-CHANGING: deactivate an active employee (typically after they leave): they lose access to kiwiHR and drop out of active lists. Reversible with kiwihr_activate_user. GraphQL mutation deactivateUser.

  • kiwihr_activate_user

    WRITE: re-activate a deactivated employee so they appear in active lists and can use kiwiHR again. GraphQL mutation activateUser.

  • kiwihr_create_journey

    WRITE: create an onboarding/offboarding journey for an employee from a journey type and optionally a template (ids from kiwihr_list_journey_types / kiwihr_list_journey_templates). Creates a new journey each call (not idempotent). It does not publish it; check the status in the re

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 79 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 30 tool descriptions and found no hidden instructions to the AI

Compared with others in Otheri

  • More stars than 0% of the other 32564 servers in this category
  • Published to the registry more recently than 98% of the other 32564 servers in this category
  • Basic checks equal to or better than 100% of the other 32564 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is kiwiHR MCP by usefulapi safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.14.4) reached the registry today.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Tools MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

Tools MCP

by First-CH

Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

kiwiHR MCP by usefulapi

Read kiwiHR employees, time off, timesheets, projects; create and update employees, timesheets.

Live endpoint: https://kiwihr.usefulapi.io/mcp · Homepage: https://usefulapi.io/kiwihr

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://kiwihr.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http kiwihr https://kiwihr.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
{

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

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your kiwiHR credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/kiwihr/

On first connect you'll paste your kiwiHR (Tellent HR) company API key (create it in the kiwiHR web app under Company Settings / Configuration > Integrations > API Keys).

Tools

ToolTypeWhat it does
kiwihr_list_usersreadList employees
kiwihr_get_userreadGet employee
kiwihr_list_teamsreadList teams
kiwihr_list_locationsreadList locations
kiwihr_list_positionsreadList positions
kiwihr_list_custom_fieldsreadList custom fields
kiwihr_list_time_off_typesreadList time off types
kiwihr_list_time_off_balancesreadList time off balances
kiwihr_get_time_off_usagereadGet time off usage
kiwihr_list_timesheetsreadList timesheets
kiwihr_get_timesheetreadGet timesheet
kiwihr_get_attendance_statementreadGet attendance statement
kiwihr_list_attendance_statementsreadList attendance statements
kiwihr_list_overtime_balancesreadList overtime balances
kiwihr_list_projectsreadList projects
kiwihr_get_projectreadGet project
kiwihr_list_journeysreadList journeys
kiwihr_get_journeyreadGet journey
kiwihr_list_journey_templatesreadList journey templates
kiwihr_list_journey_typesreadList journey types
kiwihr_create_timesheet_entrywriteCreate timesheet entry
kiwihr_update_timesheet_entrywriteUpdate timesheet entry
kiwihr_delete_timesheet_entrywriteDelete timesheet entry
kiwihr_create_projectwriteCreate project
kiwihr_update_projectwriteUpdate project
kiwihr_create_userwriteCreate employee
kiwihr_update_userwriteUpdate employee
kiwihr_deactivate_userwriteDeactivate employee
kiwihr_activate_userwriteActivate employee
kiwihr_create_journeywriteCreate journey
kiwihr_usage_statusmetaUsage status (free-tier meter)
kiwihr_request_featuremetaRequest a missing feature
kiwihr_upgrademetaUpgrade to Pro or Pro+
kiwihr_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.

Pro covers this server only. Subscribe with kiwihr_upgrade (it returns a Stripe Checkout link). Cancel any time with kiwihr_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running kiwihr_upgrade before then undoes the cancel. Or write to support@usefulapi.io.

License

MIT © usefulapi. Not affiliated with or endorsed by kiwiHR.

Ask PopNx