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.0.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.0-py3-none-any.whl (234.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kolay_cli-0.13.0.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.0.tar.gz
Algorithm Hash digest
SHA256 771abf63c7c4278dd2512a62e415495ff8cdccfdc332b6a874d29f97fc5b8594
MD5 fcf6589435b9729bf713051f69392b23
BLAKE2b-256 95799d2da281ddbf9055138baf54065309f1c7e741aac2fbb820a5d828725b6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kolay_cli-0.13.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97375553530ba762bfab7fab2969a1f2733b365d89f272a95269b8d981e7ef4b
MD5 50b8bfd79f706d73c8c37a956cac6159
BLAKE2b-256 625ac037cab777e12e7c173a299606ef27deb8beeeb9273601cef2ba6924de8d

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