Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Jisr in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP's plugin in ChatGPT's directory answers questions from your company databases on AnythingMCP Cloud (PostgreSQL, MySQL, SQL Server, Oracle, SAP HANA, SQLite, MongoDB, read-only): open the listing (opens in a new tab) and click Install plugin. Every other connector is added to ChatGPT as a custom MCP server with your AnythingMCP MCP URL.
Summary
Ask about your Jisr HR organization from any AI assistant: employees and their job data, attendance summaries and punches, annual leave balances, departments and locations. Read-only by default; submitting attendance punches is available but switched off.
Try asking
Example prompts for Jisr
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Jisr, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Jisr + ChatGPT
Ask about your Jisr HR organization from any AI assistant: employees and their job data, attendance summaries and punches, annual leave balances, departments and locations. Read-only by default; submitting attendance punches is available but switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
JISR_SLUG, JISR_API_KEY, JISR_API_SECRET
Step 1 — Get credentials
Setting up takes about 5 minutes. You need a Jisr user with the Admin role, because only an Admin can create API keys, and your organization slug, the subdomain of your Jisr address.
- In Jisr, open Settings → Webhook & API Keys → API Keys and click Add new API key (Jisr help article).
- Name the key and tick the APIs it may use: Get List Employees, Get Employee Basic Information, Get attendance summary, View attendance records, View summary of employee annual leave, and the lookups you want. Tick Get Employee Financial Info only if the AI may see salaries.
- Click Generate and copy the API key into
JISR_API_KEYand the secret intoJISR_API_SECRET. Jisr shows the secret only once: if it is lost, generate a new key. - Set
JISR_SLUGto your organization slug: the subdomain of your Jisr address in lower case,acmeforacme.jisr.net, not the full address. - Install the connector. Run
jisr_list_employeesto check the connection.
Cloud and self-hosted work the same way: there is no app to register and no redirect URL; the connector only needs the slug, the API key and the secret.
The connector signs in by itself: it calls POST /openapi/v1/auth with your slug, API key and secret, receives an access token and sends it as the Access-Token header, with slug and api-version, on every call. The key and the secret go only to that sign-in call. When Jisr refuses the token, the connector signs in again, so there is nothing to renew.
Organizations hosted in Saudi Arabia: if your Jisr address ends in .jisr.net.sa, your organization uses https://api.jisr.net.sa/api instead of https://apis.jisr.net/api. Change the connector's base URL and login URL to that host (login URL https://api.jisr.net.sa/api/openapi/v1/auth).
Employee data is personal data: employee records include dates of birth, personal contact data and document and passport numbers. Tick only the APIs you need on the key and share only what is needed. Bank details (IBAN) are removed from employee lists in any case; salaries stay hidden unless Get Employee Financial Info is ticked; custom fields come back only when the key has that permission.
Two employee identifiers: an employee has a public id (a UUID such as bab6cd98-7246-4cfc-a576-19bc00391792), used by jisr_get_employee and the attendance summary filter, and a numeric employee code (such as 43), used by punches and leave balances.
Dates and paging: dates are YYYY-MM-DD; punch times are date-times such as 2026-11-01T08:00:00. Without a range, the attendance summary covers the current month and the punch list the last hour. Lists return up to 100 entries per page (page from 1, rpp or limit); the AI keeps reading while data.pagination shows a next_page.
Common errors: This call requires login means the token expired, and the connector signs in again. Organization not found with given subdomain means JISR_SLUG is wrong. A refused sign-in means the slug, the API key or the secret is wrong: copy them again, or generate a new key if the secret was lost. A 403 means the API key lacks the permission for that API: edit the key under Settings → Webhook & API Keys and tick it.
Not covered: creating employees, payroll and accrual transactions, journals, webhooks and audit events.
What it reads: employees with public id and employee code, English and Arabic name, work and personal e-mail, phone, status, job title, department, location, business unit, employment type, nationality, line manager, joining date, date of birth, document and passport numbers, and termination and deletion dates, filtered by status or by creation, joining, termination or deletion date; one employee's full basic profile with personal details, address and contact data; attendance totals per employee for a period: working hours, late arrivals and early departures, extra working time, approved overtime, absence, days without records, leave days, off days, full-day excuses and business trip days; single punches with time, device serial number and, for rejected ones, the error Jisr reported; annual leave balances with opening and previous-year balance, manual adjustments, days used, pending and reserved days, unpaid leave deduction and year-end balance; the lists of departments, locations, employment types, business units, nationalities and outsourcing companies, with English and Arabic names.
Switched off at install: jisr_create_attendance_logs. It submits up to 100 attendance punches to Jisr, as a time clock or access-control system would; Jisr processes them in the background and they change employees' attendance records. Check the outcome afterwards with jisr_list_attendance_logs (status success or failed). If you need it, switch it on in the connector page; the AI asks you to confirm every change first. All other tools are read-only.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click Add, then Add custom MCP server.
- Enter a name, e.g. Name:
Jisr. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
jisr_list_employees | List the organization's employees, 1 to 100 per page: for each the public id (UUID), employee code, English and Arabic full name, work and… |
jisr_get_employee | Full basic profile of one employee by public id (UUID from jisr_list_employees or jisr_get_attendance_summary): personal details, address… |
jisr_get_attendance_summary | Attendance totals per employee for a date range (the current month when no dates are given), ordered by employee code: for each employee… |
jisr_list_attendance_logs | Individual attendance punches (clock-ins and clock-outs) in a time range, 1 to 100 per page: punch id, employee code, punch time, device… |
jisr_create_attendance_logs | Send up to 100 attendance punches to Jisr, as a time clock or access-control system would |
jisr_get_annual_leave_summary | Annual leave balances per employee: employee code, leave days, opening and previous-year balance, manual adjustments, days used, pending… |
jisr_list_lookup | Reference lists of the organization: departments, locations, employment types, business units, nationalities or outsourcing companies, each… |
Example prompts
- "Who joined the company in the last 30 days, and in which department and location?"
- "Show me this month's attendance summary: who has the most late arrivals and absence days?"
- "Which punches did Jisr reject yesterday, and what error did it give for each?"
- "How many annual leave days are left for the employees with codes 43 and 77?"
- "List the employees offboarded this year, with their job title and termination date."
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?