Skip to main content

Command-line interface for Kolay IK (https://apidocs.kolayik.com)

Project description

Kolay CLI and MCP Server

Disclaimer. This is an independent, community-maintained project. It is not an official product of Kolay Yazilim A.S. and carries no endorsement, warranty, or support from the company. All write operations target live HR data — there is no sandbox. You are solely responsible for your API token and the actions performed through this software.

Command-line interface and AI integration server for Kolay IK. Manage employees, leaves, timelogs, trainings, payroll, and organizational structure from the terminal or through any AI assistant that speaks Model Context Protocol.


Quick Start

# 1. Install
pipx install kolay-cli          # or: pip install kolay-cli

# 2. Authenticate
kolay setup                     # guided first-time setup

# 3. Verify
kolay doctor                    # health check

Requires Python 3.10 or later.


What This Package Provides

Binary Purpose
kolay Interactive CLI for terminal use
kolay-mcp MCP server binary for AI clients

The same pip install kolay-cli command installs both.


Documentation

Detailed guides are maintained separately for each component:

Guide Audience Contents
docs/CLI.md Terminal users, scripts, CI pipelines Full command reference, output modes, shell completion, local security
docs/MCP.md AI integrators, platform teams Client setup (ChatGPT, Claude, Gemini, Cursor, etc.), tool catalogue, architecture
docs/BOX.md Self-hosting teams, IT administrators Docker Compose deployment, GPU/CPU modes, troubleshooting
docs/SECURITY.md Security reviewers, compliance officers Encryption, PII masking, DLP, rate limiting, audit trail

Connecting AI Assistants

ChatGPT

  1. Open chatgpt.com → Settings → Apps & Connectors.
  2. Enable Developer Mode under Advanced settings.
  3. Click Create. Enter:
    • Name: Kolay IK
    • URL: https://kolay.up.railway.app/mcp
  4. Add a custom header: X-Kolay-Token → your Kolay API token.
  5. Save. Open a new chat, attach the Kolay IK app, and ask.

Claude Desktop

kolay mcp install       # writes claude_desktop_config.json automatically

Or manually add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "kolay-ik": {
      "command": "kolay-mcp",
      "args": []
    }
  }
}

Other Clients

Local (stdio): run kolay-mcp as a subprocess. Remote (HTTP): point to https://kolay.up.railway.app/mcp with an X-Kolay-Token header.

See docs/MCP.md for Gemini CLI, Cursor, VS Code, Windsurf, Zed, Mistral, and Perplexity instructions.


Self-Hosted AI (Kolay AI Box)

Run a fully private AI HR assistant on your own hardware. No cloud dependency.

cd box
make dev          # CPU mode (Mac, laptop)
# or
make up           # GPU mode (NVIDIA)

Open http://localhost:3000. See docs/BOX.md for full setup instructions.


Security Overview

Layer What it protects
OS keychain API token at rest (macOS Keychain, GNOME Keyring, Windows Vault)
AES-256-GCM Local config file encryption (opt-in)
TLS 1.2+ All network traffic
PII masking Names and emails replaced with pseudonyms before reaching the LLM
Egress DLP Last-mile redaction of TC Kimlik and IBAN patterns
Rate limiter Per-token sliding window to prevent abuse
Circuit breaker Stops infinite AI tool-calling loops
Audit log Local append-only log of all write operations, with 5 MB rotation

Two profiles are available via KOLAY_SECURITY_PROFILE:

  • standard (default): TLS, token auth, rate limiting, human-in-the-loop for destructive ops.
  • enterprise: Adds AES-256-GCM encryption, DLP scanning, HMAC execution receipts.

Full details: docs/SECURITY.md.


Development

# install with test dependencies
pip install -e ".[test,dev]"

# run tests
uv run --extra test pytest tests/ -v

Stack

  • Python 3.10+
  • Typer + Rich (CLI)
  • FastMCP 3.x (MCP protocol engine)
  • AES-256-GCM + PBKDF2 (local encryption)
  • Qdrant + FastEmbed (RAG, optional)

Exit Codes

Code Meaning
0 Success
1 General / server error
2 Bad input / validation
3 Not found
4 Auth / permission denied
5 Conflict

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kolay_cli-0.13.1.tar.gz (256.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kolay_cli-0.13.1-py3-none-any.whl (234.2 kB view details)

Uploaded Python 3

File details

Details for the file kolay_cli-0.13.1.tar.gz.

File metadata

  • Download URL: kolay_cli-0.13.1.tar.gz
  • Upload date:
  • Size: 256.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kolay_cli-0.13.1.tar.gz
Algorithm Hash digest
SHA256 e56cff1a2b90ff37ec00dffba5da2824022a473f5c46f9caed63d44101eb23c2
MD5 402ffb0869a03fb8599465215b5663cf
BLAKE2b-256 74a61acb87cb3d5d05d5185967ee30c9e19373756c857fd65a492e10853e254a

See more details on using hashes here.

File details

Details for the file kolay_cli-0.13.1-py3-none-any.whl.

File metadata

  • Download URL: kolay_cli-0.13.1-py3-none-any.whl
  • Upload date:
  • Size: 234.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for kolay_cli-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 79f46958a50c4f7cc83c63c59419fbee05b17e208ad767261352cf55c4cfaaac
MD5 780064b47d95fc8862373cd4aacb35cc
BLAKE2b-256 5b659e0eebf8dcc552b9a5dd339d7ff321398fdbf9b57fa8a3b37a9469ad5ac2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page