# hilan-mcp

Достаёт расчётные листы и форму 106 из Hilan в любой ИИ-ассистент. Пригодится, если нужно спросить у агента, сколько вы заработали за месяц.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Автор: udah1
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/udah1/hilan-mcp
- Обновлён: 2026-08-07
- HTML: https://affpapa.org/nevibecode/mcp/hilan-mcp

## Что делает

Официального API у Hilan нет, поэтому сервер поднимает headless Chromium через Playwright, логинится и дальше переиспользует уже авторизованную сессию для запросов к внутренним `.asmx`-эндпоинтам и скачивания PDF. Куки и заголовки наследуются от реальной загрузки страницы, а не собираются вручную.

Поля формы входа у разных работодателей отличаются: где-то два поля, где-то три. Сервер разбирает форму заново при первой загрузке учётных данных для каждого тенанта, поэтому привязки к одной компании нет. Данные лежат в SQLCipher-зашифрованной SQLite, ключ на диск в открытом виде не пишется. Хранить его можно в системном хранилище (Keychain, DPAPI, Secret Service) или в переменной `HILAN_DB_KEY`.

Учётные данные вводите сами в своём терминале, не в чате с ассистентом. Первый запуск ставит Chromium и просит задать ключ шифрования не короче 6 символов. Если у вас npm 12 или новее, установочные скрипты зависимостей заблокированы, а `better-sqlite3-multiple-ciphers` без них не соберёт нативный модуль: настройка как будто проходит, но потом падает каждый инструмент, работающий с базой. Разрешите скрипт заранее командой `npm config set allow-scripts=better-sqlite3-multiple-ciphers --location=user`.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `COMPANY_URL`, `COMPANY_TENANT`, `COMPANY_CODE`, `HILAN_DB_KEY`, `NODE_EXTRA_CA_CERTS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env COMPANY_URL=<COMPANY_URL> --env COMPANY_TENANT=<COMPANY_TENANT> --env COMPANY_CODE=<COMPANY_CODE> --env HILAN_DB_KEY=<HILAN_DB_KEY> --env NODE_EXTRA_CA_CERTS=<NODE_EXTRA_CA_CERTS> --transport stdio hilan-mcp -- npx -y hilan-mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add hilan-mcp --env COMPANY_URL=<COMPANY_URL> --env COMPANY_TENANT=<COMPANY_TENANT> --env COMPANY_CODE=<COMPANY_CODE> --env HILAN_DB_KEY=<HILAN_DB_KEY> --env NODE_EXTRA_CA_CERTS=<NODE_EXTRA_CA_CERTS> -- npx -y hilan-mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hilan-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "hilan-mcp"
            ],
            "env": {
                "COMPANY_URL": "<COMPANY_URL>",
                "COMPANY_TENANT": "<COMPANY_TENANT>",
                "COMPANY_CODE": "<COMPANY_CODE>",
                "HILAN_DB_KEY": "<HILAN_DB_KEY>",
                "NODE_EXTRA_CA_CERTS": "<NODE_EXTRA_CA_CERTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "hilan-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "hilan-mcp"
            ],
            "env": {
                "COMPANY_URL": "<COMPANY_URL>",
                "COMPANY_TENANT": "<COMPANY_TENANT>",
                "COMPANY_CODE": "<COMPANY_CODE>",
                "HILAN_DB_KEY": "<HILAN_DB_KEY>",
                "NODE_EXTRA_CA_CERTS": "<NODE_EXTRA_CA_CERTS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e COMPANY_URL=<COMPANY_URL> -e COMPANY_TENANT=<COMPANY_TENANT> -e COMPANY_CODE=<COMPANY_CODE> -e HILAN_DB_KEY=<HILAN_DB_KEY> -e NODE_EXTRA_CA_CERTS=<NODE_EXTRA_CA_CERTS> hilan-mcp npx -y hilan-mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- вытащить расчётный лист за нужный месяц в структурированном виде
- скачать PDF формы 106 за год
- спросить у агента сумму заработка за июнь без похода в веб-интерфейс
- подключить несколько работодателей Hilan в одном клиенте
- хранить пароль от Hilan, не оставляя его в открытом виде на диске

## Примеры запросов агенту
- Покажи мой расчётный лист за март, тенант amdocs
- Скачай форму 106 за прошлый год
- Сколько я заработал в июне?

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
