Pull Hilan (Hilanet / חילן, חילנט) payslips and Form 106 into any AI assistant.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP server for Hilan (Hilanet / חילן, חילנט) — pull your payslips and Form 106 into any AI assistant, for any Hilan tenant.
There's no official Hilan API. hilan-mcp drives a real (headless) Chromium
browser via Playwright to log in, then reuses
that same authenticated session to call Hilan's internal endpoints and
download PDFs — no fragile hand-rolled cookie replay, and no plaintext
secrets stored anywhere.
query answer "how much did I earn in June?" straight from local data, no network round-trip.This server drives a real (headless) Chromium browser via
Playwright to log in, then reuses that same
authenticated browser context's HTTP client (context.request) to call
Hilan's internal .asmx JSON endpoints and download PDFs — so it
automatically inherits whatever cookies/headers a real page load would
have set up, instead of a fragile hand-rolled cookie replay.
Login form fields differ per Hilan tenant (some have 2 fields, some 3), so the login form is inspected fresh for each tenant the first time you ingest credentials, rather than hardcoded to one company.
npm 12 blocks dependency install scripts unless you allow them, and one of
this package's dependencies (better-sqlite3-multiple-ciphers, the
encrypted SQLite engine) needs its install script to compile a native
binding. Without it, setup appears to succeed and then every tool that
touches the database fails. Allow it once, for all future npx and global
installs:
Or per install, if you'd rather not set it globally:
On npm 11 and older this isn't needed — install scripts still run by
default. Check with npm --version.
Run this yourself, directly in your own terminal — never paste real
credentials into an AI chat. It installs the Chromium browser Playwright
needs (one-time), launches a headless browser, detects your tenant's actual
login fields, and prompts you for each one (passwords are masked). No local
clone or npm install needed — npx fetches the package on the fly:
If you already have the package installed some other way, the equivalent lower-level command is
npx hilan-mcp ingest-creds --tenant <...>—setupjust also handles the one-time Chromium install first.
The first time you run this you'll be asked to set an encryption key for the local database (min 6 characters) — this key is never written to disk in plaintext.
For the MCP server to open the database on its own (without a human present to respond to a prompt every time), it looks for the key in this order:
npx hilan-mcp setup-key
once, yourself, in your own terminal. You'll be asked to type a key (or
press Enter to generate a strong random one), and it's stored in your
OS's native secure storage: macOS Keychain (verified — same file
that holds your Wi-Fi/browser passwords, silent, no dialogs),
Windows (DPAPI, tied to your Windows user account), or Linux
(Secret Service / secret-tool, needs a keyring daemon like GNOME
Keyring or KWallet). Nothing ends up in any config file at all.HILAN_DB_KEY env var — set it in the server's env block (see
step 2). Same trust model as any other API key/secret configured for an
MCP server in mcp.json (local file, not committed to git).Running the package with no arguments starts the MCP server itself (stdio transport) — that's what your MCP client's config actually invokes:
tenant on every tool callIf you only ever use this for one employer, you can set a default
tenant in the server's env block. Only the first of these that's set
is used, in this order — COMPANY_URL → COMPANY_TENANT → COMPANY_CODE:
HILAN_DB_KEY is only needed if you didn't run npx hilan-mcp setup-key
(see step 1) — the OS credential store takes priority when both are
present. NODE_EXTRA_CA_CERTS is only needed on networks with a
TLS-intercepting corporate proxy (see Reliability notes) — omit it otherwise.
| Env var | Example | Notes |
|---|---|---|
COMPANY_URL | https://amdocs.net.hilan.co.il | Highest priority. |
COMPANY_TENANT | amdocs | Bare subdomain. Used only if COMPANY_URL isn't set. |
COMPANY_CODE | 5227 | Numeric org code. Used only if neither above is set — requires an extra lookup round-trip. |
This same fallback also applies to npx hilan-mcp ingest-creds —
--tenant is optional if one of these env vars is set. An explicit
tenant argument (or --tenant flag) always overrides the env vars.
Use "command": "node", "args": ["/absolute/path/to/hilan-mcp/dist/cli/index.js"]
(after npm install && npm run build in that clone) instead of the npx
form above.
Ask your assistant things like "sync my last 3 payslips from Hilan",
"download my Form 106 for 2025", or "how much net/gross did I earn in June
2026?" (answered instantly from the local database via the query tool,
no network round-trip, once that month has been synced at least once) — see
the full tool list below.
If a user asks you to set up hilan-mcp for them:
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hilan-mcp)<a href="https://allmcps.com/mcp/hilan-mcp"><img src="https://allmcps.com/api/badge/hilan-mcp?style=directory" alt="Hilan MCP on AllMCPs" /></a>