Jisr MCP by usefulapi

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

Read employees, attendance, leave and payroll; create employee records and import device punches.

The publisher's own server: Ably MCP by usefulapi

Overview

AI-generated overview

Connects an assistant to a Jisr HR organization to read employees, attendance, leave and payroll data, and to create employees or import punches.

What you can do
  • List and read employee profiles, including financial details such as salary components and IBAN
  • List lookup tables (departments, employment types, locations, nationalities) and pay groups
  • Review attendance summaries and raw clock-in/out punches, plus annual leave balances
  • Query payroll, accrual and GL transaction types, and monthly payables per employee
  • Read the audit trail and registered webhooks
  • Create employee records and import batches of device punches
When to use it
Useful when an assistant should answer HR questions about a Jisr organization — who joined, who was late or absent, leave balances, payroll figures — or register new hires and push attendance punches without opening Jisr.
Requirements
A remote MCP endpoint added by URL only; the server signs the user in with OAuth and the login page asks for Jisr credentials. No API key or Authorization header goes in the client config. A Jisr organization and a plan: free tier of 50 tool calls per month, or a paid Pro/Pro+ subscription.
Before you install
Sensitive HR data — identity, salary and bank/IBAN records — passes to the chosen AI client and LLM provider, so scope access carefully. Creating an employee sends an invitation and cannot be undone through this server; imported punches may affect attendance and payroll after asynchronous processing and may be partly rejected. Paid plans are billed through a payment link, and the free tier is capped at 50 calls a month.

Installation

In SourceWeft

  1. Open Jisr 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%2Fjisr/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": {
    "jisr-by-usefulapi": {
      "type": "http",
      "url": "https://jisr.usefulapi.io/mcp"
    }
  }
}

README

Jisr MCP by usefulapi

Connect your Jisr organization.

Connect

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

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

Tools

ToolTypeWhat it does
jisr_list_employeesreadList employees
jisr_get_employeereadGet employee
jisr_get_employee_financial_inforeadGet employee financial info
jisr_list_lookupreadList lookup values
jisr_list_attendance_summaryreadList attendance summary
jisr_list_attendance_punchesreadList attendance punches
jisr_get_annual_leave_balancesreadGet annual leave balances
jisr_list_paygroupsreadList pay groups
jisr_list_payroll_transactionsreadList payroll transactions
jisr_list_accrual_transactionsreadList accrual transactions
jisr_get_employee_monthly_payablesreadGet employee monthly payables
jisr_list_gl_transaction_typesreadList transaction types
jisr_list_audit_eventsreadList audit events
jisr_list_webhooksreadList webhooks
jisr_create_employeewriteCreate employee
jisr_create_attendance_puncheswriteImport attendance punches
jisr_usage_statusmetaUsage status (free-tier meter)
jisr_request_featuremetaRequest a missing feature
jisr_upgrademetaUpgrade to Pro or Pro+
jisr_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 Jisr organization)$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 jisr_upgrade (it returns a Stripe Checkout link). Cancel any time with jisr_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running jisr_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT. Unofficial integration; no Jisr endorsement is claimed.

Data and write effects

Requested HR, identity, salary and bank/IBAN records pass to your chosen AI client and LLM provider. Authorize only the scoped APIs and data appropriate for that service. Creating an employee sends an invitation; imported device punches may affect attendance and payroll after asynchronous processing. Submission does not mean all punches were accepted. No salary transfers, payments or accounting-journal posting tools are exposed.

Mutations are never automatically replayed, including after a cached-session rejection. Inspect uncertain writes before repeating them. Revoke the key in Jisr; existing vendor session revocation timing has not been verified. Mock, security and Worker checks pass; authenticated customer reads, invitations and attendance writes have not been tested.

Source: servers/jisr/README.md at commit 4046075

Tools

16

jisr_list_employees

List employees

List the organization's employees (active by default) with code, names (English/Arabic), job title, department, business unit, employment type, line manager, joining date and status. Filter by active/inactive status, creation date and joining, termination or deletion date ranges. If the API key also has the 'Get Employee Financial Info' / 'Accounting Info' permissions, Jisr adds salary, bank (IBAN) and accounting fields: sensitive HR data. GET /openapi/v1/employees.

Parametersrpppagestatusdeleted_tojoining_tocreated_fromdeleted_fromjoining_fromterminated_toterminated_from

jisr_get_employee

Get employee

One employee's profile by id (UUID from jisr_list_employees): names, code, gender, marital status, phone, emails, date of birth, passport/ID number, address, line manager, department, business unit, employment type, location, nationality and contract. GET /openapi/v1/employees/basic_info?id=.

Parametersidrequired

jisr_get_employee_financial_info

Get employee financial info

One employee's financial details by id: salary components and bank account (IBAN). Sensitive payroll data; needs the 'Get Employee Financial Info' permission on the API key. GET /openapi/v1/employees/financial_info?id=.

Parametersidrequired

jisr_list_lookup

List lookup values

List one of the organization's lookup tables: departments, employment_types, business_units, locations, nationalities or outsourcing_companies, with their ids and English/Arabic names. Use the ids when creating an employee. GET /openapi/v1/lookups/{table}.

Parametersrpppagetablerequired

jisr_list_attendance_summary

List attendance summary

Attendance summary per employee for a date range (default: the current month): total working hours, late arrival, early departure, extra and approved overtime, absence days and records. Filter by one employee or by active/inactive status. GET /openapi/v1/attendance/summary.

Parameterstorppfrompagestatusemployee_id

jisr_list_attendance_punches

List attendance punches

List raw clock-in/out punches that were received from punch devices, either the ones that were processed successfully or the ones that failed, in a time window (Jisr's default: the last hour). Each punch has id, punch_time, employee_code, terminal_sn and clocking_id. GET /openapi/v1/attendance_logs.

Parameterstofrompagelimitstatusrequired

jisr_get_annual_leave_balances

Get annual leave balances

Annual leave balance summaries per employee (all employees, or only the given employee codes, at most 100). Only the annual leave type is supported by Jisr. GET /openapi/v1/employee_leaves/summary.

Parameterspagelimitemployee_codes

jisr_list_paygroups

List pay groups

List the organization's pay groups (id and name). The pay group id is needed for payroll and accrual queries. GET /openapi/v1/paygroups.

Parametersrpppage

jisr_list_payroll_transactions

List payroll transactions

Payroll transactions per employee for one settlement type. type 'payrun' (the regular payroll) needs pay_period and paygroup_id; 'final_settlements', 'vacations_settlements' and 'out_off_payroll_transactions' need a from/to date range. Optionally filter by employee ids or transaction type ids (jisr_list_gl_transaction_types). Sensitive payroll data. GET /openapi/v1/payroll_transactions.

Parameterstorppfrompagetyperequiredpay_periodpaygroup_idemployee_idstransaction_type_ids

jisr_list_accrual_transactions

List accrual transactions

Accruals per employee for a confirmed pay period: vacations, end_of_service or tickets_provision (amount, vacation days). Sensitive payroll data. GET /openapi/v1/accrual_transactions.

Parametersrpppagepay_periodrequiredpaygroup_idrequiredaccrual_typerequiredemployee_ids

jisr_get_employee_monthly_payables

Get employee monthly payables

One employee's payables for a month: net salary, earnings, additions and deductions with breakdowns. Only available to organizations Jisr has whitelisted for this API. Sensitive payroll data. GET /openapi/v1/employee_monthly_payables.

Parametersemployee_idrequiredpay_period_startrequired

jisr_list_gl_transaction_types

List transaction types

List the payroll (GL) transaction types: id, category (allowances, loan types...), English/Arabic name and status. Use the ids to filter jisr_list_payroll_transactions. GET /openapi/v1/gl_transaction_types.

Parametersrpppage

jisr_list_audit_events

List audit events

The organization's audit trail: who did what and when (module, feature, action, actor, success). Filter by module, event name, event type and a time range. GET /openapi/v1/audit_events.

Parameterstofrompageper_pageevent_nameevent_typemodule_name

jisr_list_webhooks

List webhooks

List the webhooks registered for the organization: name, endpoint host, method, status. Authentication data, custom header values and the endpoint's path and query (they can hold secrets) are hidden. Read-only; this server does not create or change webhooks. GET /openapi/v1/webhooks.

Takes no parameters.

jisr_create_employee

Create employee

WRITE: register a new employee in Jisr (they are invited to the system by email). Not reversible through this server: there is no delete tool. Get department_id, employment_type_id, location_id and nationality_id from jisr_list_lookup first. Names need at least two parts. POST /openapi/v1/employees.

Parameterscoderequiredemailrequiredgenderrequiredlocation_idrequiredfull_name_arrequiredfull_name_enrequiredjoining_daterequiredcontract_typerequireddepartment_idrequiredmarital_statusrequirednationality_idrequiredpersonal_email+5 more

jisr_create_attendance_punches

Import attendance punches

WRITE: send a batch of raw clock-in/out punches (at most 100) from a punch device into Jisr attendance. Jisr processes them asynchronously; check the result with jisr_list_attendance_punches. Each punch carries the unique id its device generated; do not invent ids. POST /openapi/v1/attendance_logs.

Parameterspunchesrequired

Version history

10
  1. v1.8.4LatestNov 7, 2026
  2. v1.7.3Nov 5, 2026
  3. v1.7.2Nov 5, 2026
  4. v1.7.1Nov 4, 2026
  5. v1.7.0Nov 3, 2026
  6. v1.6.1Nov 3, 2026
  7. v1.5.0Nov 1, 2026
  8. v1.3.0Oct 31, 2026
  9. v1.2.0Oct 31, 2026
  10. v1.1.0Oct 31, 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