Kolay IK MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.2.4Updated Nov 7, 2026

Read employees, leave and payroll; create leave, time records and events in Kolay IK.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for the Kolay IK HR platform: read employees, leave, time records, expenses, payroll and events, and create or change records.

What you can do
  • Look up employees, profiles, leave balances, trainings, custom fields and the organization tree
  • List and read leave records, time records, transactions, expense categories, payroll runs and payroll sheets
  • List and read company calendar events and trainings
  • Create leave records, time records, calendar events and employee records; update events and employees
  • Delete time records and calendar events
  • Check usage, request a feature, upgrade or cancel the subscription
When to use it
Useful when an assistant should answer HR questions from a Kolay IK account, such as who is on leave, remaining leave days, pending overtime approvals, payroll totals or upcoming company events, or when it should file leave, time records or events on the user's behalf.
Requirements
Remote endpoint reached over streamable HTTP; no local install. Sign-in is via OAuth, and on first connect the user supplies a Kolay IK API token created in the Kolay IK developer settings. The server stores the token per user. Payroll tools need a token with the payroll:list or payroll-sheet:view scope. Free plan allows 50 tool calls per month.
Before you install
Write tools change real HR data: creating leave deducts balances and may be auto-approved, creating a person creates a real record and may send an invitation, and deleting time records or events cannot be undone. Payroll sheets expose sensitive salary data for all employees. The server holds the user's Kolay IK API token. Paid plans cost money (Pro $9/month or $90/year, Pro+ $39/month or $390/year) and upgrade returns a Stripe checkout link; cancellation has no refund for the current period.

Installation

In SourceWeft

  1. Open Kolay IK MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fkolay-ik/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "kolay-ik-by-usefulapi": {
      "type": "http",
      "url": "https://kolay-ik.usefulapi.io/mcp"
    }
  }
}

README

Kolay IK MCP by usefulapi

Use your Kolay IK account from Claude, Cursor, or any MCP client. Read employees, leave, time records, expenses, payroll and calendar events, and create leave or time records, change events and employee records. Hosted, no local install: connect with your own credentials.

Live endpoint: https://kolay-ik.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://kolay-ik.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http kolay-ik https://kolay-ik.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:
json
{  "mcpServers": {    "kolay-ik": {      "url": "https://kolay-ik.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 Kolay IK credentials.

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

On first connect you provide your Kolay IK API token, created in Kolay IK under Ayarlar → Geliştirici Ayarları → API Token Oluştur. The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
kolayik_get_mereadGet the token's user
kolayik_list_peoplereadList people
kolayik_get_personreadGet a person
kolayik_get_person_summaryreadGet a person summary
kolayik_get_person_leave_balancesreadGet leave balances
kolayik_list_person_trainingsreadList a person's trainings
kolayik_list_person_fieldsreadList person data fields
kolayik_list_unitsreadList organization units
kolayik_list_approval_processesreadList approval processes
kolayik_list_leavesreadList leave records
kolayik_get_leavereadGet a leave record
kolayik_create_leavewriteCreate a leave record
kolayik_list_timelogsreadList timelogs
kolayik_get_timelogreadGet a timelog
kolayik_create_timelogwriteCreate a timelog
kolayik_delete_timelogwriteDelete a timelog
kolayik_list_transactionsreadList transactions
kolayik_get_transactionreadGet a transaction
kolayik_list_expense_categoriesreadList expense categories
kolayik_list_payrollsreadList payroll periods
kolayik_get_payroll_sheetreadGet a payroll sheet
kolayik_list_eventsreadList calendar events
kolayik_get_eventreadGet a calendar event
kolayik_create_eventwriteCreate a calendar event
kolayik_update_eventwriteUpdate a calendar event
kolayik_delete_eventwriteDelete a calendar event
kolayik_list_trainingsreadList trainings
kolayik_get_trainingreadGet a training
kolayik_create_personwriteCreate a person
kolayik_update_personwriteUpdate a person
kolayik_usage_statusmetaUsage status (free-tier meter)
kolayik_request_featuremetaRequest a missing feature
kolayik_upgrademetaUpgrade to Pro or Pro+
kolayik_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 [email protected].

Pro covers this server only. Subscribe with kolayik_upgrade (it returns a Stripe Checkout link). Cancel any time with kolayik_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running kolayik_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/kolay-ik/README.md at commit 4046075

Tools

30

kolayik_get_me

Get the token's user

The Kolay IK user the API token belongs to: id, name, email, work email. A cheap check that the connection works. GET /v2/profile/me.

Takes no parameters.

kolayik_list_people

List people

List employees (id, first and last name), 60 per page. By default only active employees; set status to terminated for people who left. Search by name with q. Filter by hire date (active people) or termination date (terminated people). The reply has total, currentPage and lastPage; request the next page with page. POST /v2/person/list (a read).

Parametersqpagestatushired_tohired_fromterminated_toterminated_from

kolayik_get_person

Get a person

Full profile of one employee: contact data, employment dates, contract, units, compensation and custom data fields. National id numbers and bank numbers are removed. GET /v2/person/view/{id}.

Parametersperson_idrequired

kolayik_get_person_summary

Get a person summary

Short profile of one employee: name, contact data, current units (company, location, department, position) and manager. GET /v2/person/view-summary/{id}.

Parametersperson_idrequired

kolayik_get_person_leave_balances

Get leave balances

Leave entitlement of one employee per leave type: earned, used, carried over and unused days. GET /v2/person/leave-status/{id}.

Parametersperson_idrequired

kolayik_list_person_trainings

List a person's trainings

Trainings assigned to one employee. GET /v2/person/list-trainings/{id}.

Parametersperson_idrequired

kolayik_list_person_fields

List person data fields

The custom data fields a person can have (fieldToken, type, category). Use the fieldToken in kolayik_update_person and kolayik_create_person. GET /v2/person/show-available-data-fields.

Takes no parameters.

kolayik_list_units

List organization units

The organization tree: unit types (company, branch, department, position ...) and their items with ids. GET /v2/unit/show-unit-tree.

Takes no parameters.

kolayik_list_approval_processes

List approval processes

The approval chains configured in the account (leave, expense and similar), with their steps and approvers. Filter by name or by a person in the steps. GET /v2/approval-process/list.

Parameterssearchperson_id

kolayik_list_leaves

List leave records

List leave (time off) records, newest data first as the vendor orders them. Filter by status, a date range or one person. Each record has the leave type, dates, person, replacement, status (approved/waiting/rejected) and used days. GET /v2/leave/list.

Parameterslimitstatusend_dateperson_idstart_dateinclude_inactive_employees

kolayik_get_leave

Get a leave record

One leave record with type, dates, return date, comment, person, replacement person, status and used days. GET /v2/leave/view/{id}.

Parametersleave_idrequired

kolayik_create_leave

Create a leave record

WRITE: records leave for an employee and deducts the used days from their balance. The vendor may approve it immediately, and it is visible to the employee and their manager. Find the leave type id in an existing leave record (kolayik_list_leaves) or the person's balances (kolayik_get_person_leave_balances). Not idempotent: a second call creates a second record. POST /v2/leave/create.

Parameterscommentend_daterequiredperson_idrequiredstart_daterequiredleave_type_idrequiredreplacement_person_id

kolayik_list_timelogs

List timelogs

List time records (work hours, overtime) with person, start and end, minutes used, status and type. Filter by person, type, status and date range. The reply has searchCount, totalCount, page and limit. POST /v2/timelog/list (a read).

Parameterspagetypelimitstatusend_dateperson_idsort_typesort_orderstart_date

kolayik_get_timelog

Get a timelog

One time record by id. GET /v2/timelog/view/{id}.

Parameterstimelog_idrequired

kolayik_create_timelog

Create a timelog

WRITE: adds a time record (work hours or overtime) for an employee. With status approved it counts immediately (overtime may flow into payroll); with waiting it enters the approval process. Not idempotent: a second call creates a second record. POST /v2/timelog/create.

Parameterstypestatusrequiredend_daterequiredperson_idrequiredstart_daterequireddescription

kolayik_delete_timelog

Delete a timelog

WRITE (destructive): permanently deletes one time record. This cannot be undone. DELETE /v2/timelog/delete/{id}.

Parameterstimelog_idrequired

kolayik_list_transactions

List transactions

List employee transactions (expenses, advance payments, bonuses, overtime pay, deductions) with amount, currency, status, paid flag and items. Filter by person, type, status, paid and date range. POST /v2/transaction/list (a read).

Parameterspagepaidtypelimitstatusend_dateperson_idstart_date

kolayik_get_transaction

Get a transaction

One transaction (expense, advance, bonus ...) with its items. GET /v2/transaction/view/{id}.

Parameterstransaction_idrequired

kolayik_list_expense_categories

List expense categories

Expense categories of the account (for example taxi, meals), optionally filtered by title or enabled state. GET /v2/expense/list-categories.

Parameterstitleenabled

kolayik_list_payrolls

List payroll periods

Payroll runs of a year: id, period, number of employees, payslips created, errors and total employer cost. Needs a token with the payroll:list scope. Use the id with kolayik_get_payroll_sheet. GET /v2/payroll/list.

Parametersyear

kolayik_get_payroll_sheet

Get a payroll sheet

The full payroll sheet (carsaf bordro) of one payroll run: every employee's gross, net, tax and insurance columns. This is sensitive salary data of all employees (or the filtered ones). Needs a token with the payroll-sheet:view scope. Filter by name, status, salary period, insurance, tax, expense center or units. POST /v2/payroll-sheet/view/{id} (a read).

Parameterssearchstatuspayroll_idrequiredsalary_periodunit_item_ids

kolayik_list_events

List calendar events

List company calendar events (meetings, holidays) with title, start, end and comment. Filter by text and date range. The reply has searchCount, totalCount, page and limit. GET /v2/event/list.

Parametersendpagelimitstartsearch

kolayik_get_event

Get a calendar event

One calendar event. GET /v2/event/view/{id}.

Parametersevent_idrequired

kolayik_create_event

Create a calendar event

WRITE: adds an event to the company calendar, visible to the employees who see it. Not idempotent. POST /v2/event/create.

Parametersendrequiredstartrequiredtitlerequiredcomment

kolayik_update_event

Update a calendar event

WRITE: changes the title, times or comment of a calendar event (the vendor requires title, start and end). PUT /v2/event/update/{id}.

Parametersendrequiredstartrequiredtitlerequiredcommentevent_idrequired

kolayik_delete_event

Delete a calendar event

WRITE (destructive): permanently deletes one calendar event. This cannot be undone. DELETE /v2/event/delete/{id}.

Parametersevent_idrequired

kolayik_list_trainings

List trainings

List the trainings defined in the account. Filter by title text. The reply has searchCount, totalCount, page and limit. GET /v2/training/list.

Parameterspagelimitsearch

kolayik_get_training

Get a training

One training with its details. GET /v2/training/view/{id}.

Parameterstraining_idrequired

kolayik_create_person

Create a person

WRITE: adds a new employee (only first and last name are required). Creates a real HR record that may send the person an invitation, depending on the account settings. Not idempotent: calling it twice creates a duplicate. Further data goes in data_fields (see kolayik_list_person_fields). POST /v2/person/create.

Parametersemailbirthdaylast_namerequiredfirst_namerequiredwork_emaildata_fieldsemployment_start_date

kolayik_update_person

Update a person

WRITE: changes basic data of one employee; only the fields you pass change. Pass null for an optional field to clear it. Further data goes in data_fields (see kolayik_list_person_fields). Changes the HR record immediately. PUT /v2/person/update.

Parametersemaillast_nameperson_idrequiredfirst_namework_emaildata_fields

Version history

6
  1. v1.2.4LatestNov 7, 2026
  2. v1.1.3Nov 5, 2026
  3. v1.1.2Nov 5, 2026
  4. v1.1.1Nov 4, 2026
  5. v1.1.0Nov 3, 2026
  6. v1.0.1Nov 3, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations