pypi kaiten-mcpstdioMITupdated 1mo ago
MCP-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ Kaiten β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠ°Π½Π±Π°Π½-Π΄ΠΎΡΠΎΠΊ ΠΈ Π·Π°Π΄Π°Ρ Kaiten Ρ AI-Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ°ΠΌΠΈ (Cursor, Claude Code ΠΈ Π»ΡΠ±ΡΠΌ MCP-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ).
What can you do with Kaiten?
kaiten-mcp
MCP-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ Kaiten β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠ°Π½Π±Π°Π½-Π΄ΠΎΡΠΎΠΊ ΠΈ Π·Π°Π΄Π°Ρ Kaiten Ρ AI-Π°ΡΡΠΈΡΡΠ΅Π½ΡΠ°ΠΌΠΈ (Cursor, Claude Code ΠΈ Π»ΡΠ±ΡΠΌ MCP-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ).
Π£ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ°ΡΠ°: ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅Π³ΠΈ β Π±Π΅Π· ΡΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ Π±Π΅Π· ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ JSON-ΠΎΡΠ²Π΅ΡΠΎΠ² API Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Kaiten ΠΊ Cursor / Claude Code ΡΠ΅ΡΠ΅Π· Model Context Protocol
- Π Π°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ, Π΄ΠΎΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠΌ Π°Π³Π΅Π½ΡΠ°
- ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠΎΠΊΠ΅Π½Ρ: ΠΎΡΠ²Π΅ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ)
- Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ (stdio) ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Streamable HTTP / Docker / Kubernetes)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ stdio Π΄Π»Ρ Cursor ΠΈ Claude Code
- Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ Streamable HTTP (
POST /mcp) Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π° - Π’ΠΎΠΊΠ΅Π½ Kaiten Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ (credentials Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅)
- ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ: ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 20 (ΠΌΠ°ΠΊΡ. 100), Π±Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Β«ΡΡΠΌΠ½ΡΡ Β» Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ
- ΠΠ΅Π½ΡΠΌΠ°ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° payload (
kaiten-mcp-benchmark), ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΡ Π½Π΅ ΡΠ°Π·Π΄ΡΠ²Π°Π»ΠΈΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ - Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π»ΠΎΠ³ΠΈ Π² stderr (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π»Ρ stdio MCP)
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- Python 3.12+
- uv
- API-ΡΠΎΠΊΠ΅Π½ Kaiten (ΠΡΠΎΡΠΈΠ»Ρ β API-ΠΊΠ»ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
https://<ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ>.kaiten.ru/profile/api-key)
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ
export KAITEN_API_TOKEN='Π²Π°Ρ-ΡΠΎΠΊΠ΅Π½'
export KAITEN_WORKSPACE_SLUG='Π²Π°ΡΠ°-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ' # β https://Π²Π°ΡΠ°-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ.kaiten.ru/api/v1
uvx kaiten-mcp --transport stdio
uvx ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· PyPI, ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠ»Ρ on-prem / ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π²ΠΌΠ΅ΡΡΠΎ slug Π·Π°Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ API:
export KAITEN_BASE_URL='https://kaiten.example.com/api/v1'
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ β Π² .env.example.
2. Cursor
ΠΠΎΠ½ΡΠΈΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΆΠ΅ Π΅ΡΡΡ: .cursor/mcp.json.
- ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΡΠΎΠΊΠ΅Π½ ΠΈ workspace Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Cursor:
export KAITEN_API_TOKEN='Π²Π°Ρ-ΡΠΎΠΊΠ΅Π½'
export KAITEN_WORKSPACE_SLUG='Π²Π°ΡΠ°-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ'
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Cursor ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Output β MCP Logs ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ
kaitenΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ. - ΠΠΎΠΏΡΠΎΡΠΈΡΠ΅ Π°Π³Π΅Π½ΡΠ°: Β«ΠΏΠΎΠΊΠ°ΠΆΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Β» ΠΈΠ»ΠΈ Β«Π½Π°ΠΉΠ΄ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π΄ΠΎΡΠΊΠ΅ β¦Β».
${env:KAITEN_API_TOKEN} ΠΈ ${env:KAITEN_WORKSPACE_SLUG} ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Cursor. ΠΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ.
3. Claude Code
ΠΠΎΠ½ΡΠΈΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ°: .mcp.json.
export KAITEN_API_TOKEN='Π²Π°Ρ-ΡΠΎΠΊΠ΅Π½'
export KAITEN_WORKSPACE_SLUG='Π²Π°ΡΠ°-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ'
claude mcp list
ΠΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ:
claude mcp add --transport stdio kaiten -- uv run kaiten-mcp --transport stdio
ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π°Π³Π΅Π½ΡΡ
- Β«ΠΠΎΠΊΠ°ΠΆΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π² KaitenΒ»
- Β«ΠΠ°ΠΉΠ΄ΠΈ Π΄ΠΎΡΠΊΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ X ΠΈ ΡΠΎΠ·Π΄Π°ΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΡ βΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³ Π»ΠΎΠ³ΠΈΠ½Π°βΒ»
- Β«ΠΠ΅ΡΠ΅Π½Π΅ΡΠΈ Π·Π°Π΄Π°ΡΡ #1234 Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ In ProgressΒ»
- Β«ΠΠΎΠ±Π°Π²Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ #1234: Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ΅Π²ΡΡΒ»
- Β«ΠΠΎΠ²Π΅ΡΡ ΡΠ΅Π³ βhotfixβ Π½Π° Π·Π°Π΄Π°ΡΡ #1234Β»
Π’ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
list_spacesβlist_boardsβlist_columns/list_lanescreate_task/list_tasks/get_task/update_task/move_taskadd_comment/add_tag_to_taskΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ MCP
| ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
|---|---|
list_spaces |
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² (id, title) |
list_boards |
ΠΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° |
list_columns |
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄ΠΎΡΠΊΠΈ |
list_lanes |
ΠΠΎΡΠΎΠΆΠΊΠΈ Π΄ΠΎΡΠΊΠΈ |
create_task |
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ (title + board_id) |
get_task |
ΠΠ΅ΡΠ°Π»ΠΈ Π·Π°Π΄Π°ΡΠΈ (include_description β ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ) |
list_tasks |
Π€ΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ (query, board, column, tag, β¦) |
update_task |
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ (title, description, owner, condition, β¦) |
move_task |
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (board / column / lane / sort) |
add_comment / list_comments |
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ |
list_tags / get_task_tags |
Π’Π΅Π³ΠΈ |
add_tag_to_task |
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅Π³ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ |
remove_tag_from_task |
Π‘Π½ΡΡΡ ΡΠ΅Π³ ΠΏΠΎ id |
Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ / Docker / Kubernetes
Streamable HTTP:
uv run kaiten-mcp --transport streamable-http --host 0.0.0.0 --port 8000
- Health:
GET /healthz - MCP:
POST /mcp
Docker:
docker pull ghcr.io/evvfebruary/kaiten-mcp:latest
docker run --rm -p 8000:8000 \
-e KAITEN_WORKSPACE_SLUG=Π²Π°ΡΠ°-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ \
ghcr.io/evvfebruary/kaiten-mcp:latest
ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ°Π· ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker build -t kaiten-mcp ..
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠΊΠ΅Π½:
Authorization: Bearer <kaiten-api-token>
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²:
ΠΠ°ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ Kubernetes:
- Stateless-ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ (
stateless_http=True) - TLS β Π½Π° Ingress
- Π£Π²Π΅Π»ΠΈΡΡΡΠ΅ proxy/read timeouts Π΄Π»Ρ streaming
- ΠΠ΅ Π»ΠΎΠ³ΠΈΡΡΠΉΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
Authorization - Π£ Kaiten Π»ΠΈΠΌΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ~50 req/s β Π΄Π΅Π»ΠΈΡΠ΅ Π±ΡΠ΄ΠΆΠ΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ
ΠΠΎΠ΄Π΅Π»Ρ Ρ Bearer-ΡΠΎΠΊΠ΅Π½ΠΎΠΌ Π½Π° Π·Π°ΠΏΡΠΎΡ β ΠΎΡΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ v1 (Π½Π΅ browser OAuth).
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
| ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ | ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
KAITEN_API_TOKEN |
ΠΠ° (stdio) | API-ΡΠΎΠΊΠ΅Π½; Π΄Π»Ρ HTTP β ΡΠ°ΠΊΠΆΠ΅ Π² Authorization: Bearer |
KAITEN_WORKSPACE_SLUG |
ΠΠ°* | Slug: acme β https://acme.kaiten.ru/api/v1 |
KAITEN_BASE_URL |
ΠΠ°* | ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ API (on-prem); ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ slug |
KAITEN_HOST / KAITEN_PORT |
ΠΠ΅Ρ | Bind Π΄Π»Ρ HTTP (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 127.0.0.1:8000) |
KAITEN_LOG_LEVEL |
ΠΠ΅Ρ | DEBUG | INFO | WARNING | ERROR |
KAITEN_LOG_FORMAT |
ΠΠ΅Ρ | text | json |
KAITEN_LOG_BODIES |
ΠΠ΅Ρ | ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅ redacted-ΠΏΡΠ΅Π²ΡΡ Π² Π»ΠΎΠ³Π°Ρ |
KAITEN_ENABLE_METRICS |
ΠΠ΅Ρ | ΠΠ΅ΡΡΠΈΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° payload Π±Π΅Π· ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² |
* ΠΡΠΆΠ΅Π½ Π»ΠΈΠ±ΠΎ KAITEN_WORKSPACE_SLUG, Π»ΠΈΠ±ΠΎ KAITEN_BASE_URL.
ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ²
- Π Π°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: 20 (ΠΌΠ°ΠΊΡ. 100)
- Π ΡΠΏΠΈΡΠΊΠ°Ρ Π½Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ, Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ Π΄ΡΠ±Π»Π΅ΠΉ
- ΠΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ id/url ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ
- ΠΠ±ΡΠ΅Π·ΠΊΠ° ΡΠ²Π½Π°Ρ:
truncated,next_offset,has_more - ΠΠΎΡΠΎΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡΠ²Π΅ΡΠ°:
uv run kaiten-mcp-benchmark
uv run kaiten-mcp-benchmark --check
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΠ³ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΠ΄ΡΡ Π² stderr (ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ ΡΠΎ stdio MCP).
export KAITEN_LOG_LEVEL=INFO
export KAITEN_LOG_FORMAT=json
uv run kaiten-mcp --transport stdio --log-format json
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ: server_starting, tool_start / tool_success / tool_error, kaiten_request, kaiten_rate_limited.
Π‘Π΅ΠΊΡΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡΡΡΡ; ΡΠΎΠΊΠ΅Π½Ρ Π²ΠΈΠ΄Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ fingerprint Π²ΠΈΠ΄Π° token_fp=len=40:β¦ab12.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
uv sync --all-groups
uv run ruff format .
uv run ruff check .
uv run ty check
uv run pytest
uv run kaiten-mcp-benchmark --check
Live smoke (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, Π½Π΅ Π² CI ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ):
KAITEN_API_TOKEN=... KAITEN_WORKSPACE_SLUG=... uv run pytest -m live
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² (PyPI, GHCR, Official MCP Registry) ΠΎΠΏΠΈΡΠ°Π½Π° Π² RELEASING.md.
Π‘ΡΡΡΠΊΡΡΡΠ°
src/kaiten_mcp/
api/ # HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΠΎΠ²
tools/ # MCP-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
auth.py # Π’ΠΎΠΊΠ΅Π½ Π½Π° Π·Π°ΠΏΡΠΎΡ
config.py # ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
presentation.py
metrics.py
server.py
__main__.py
tests/
benchmarks/
examples/remote-mcp/
server.json # Official MCP Registry metadata
RELEASING.md
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- Π’ΠΎΠΊΠ΅Π½ Π±Π΅ΡΡΡΡΡ ΠΈΠ· HTTP Bearer ΠΈΠ»ΠΈ
KAITEN_API_TOKENΠ½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ - Π‘Π΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΠΈΡΠ΅Ρ ΡΠΎΠΊΠ΅Π½Ρ Π½Π° Π΄ΠΈΡΠΊ
- ΠΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π° Π½Π΅ Ρ Π°ΡΠ΄ΠΊΠΎΠ΄ Π² MCP JSON
- ΠΡΠ°Π²Π° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Kaiten ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ
FAQ
ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Kaiten ΠΊ Cursor?
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· uv, Π·Π°Π΄Π°ΠΉΡΠ΅ KAITEN_API_TOKEN ΠΈ KAITEN_WORKSPACE_SLUG, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Cursor β ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠΆΠ΅ Π² .cursor/mcp.json.
ΠΠ΄Π΅ Π²Π·ΡΡΡ API-ΡΠΎΠΊΠ΅Π½ Kaiten?
Π Π²Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠ΅: ΠΡΠΎΡΠΈΠ»Ρ β API-ΠΊΠ»ΡΡ (https://<ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ>.kaiten.ru/profile/api-key). OAuth Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ API Kaiten Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
Π§Π΅ΠΌ ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
kaiten-mcp?
Π€ΠΎΠΊΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΡ
ΠΎΡΠ²Π΅ΡΠ°Ρ
ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΠ»ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ remote Streamable HTTP Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ?
ΠΠ°: Docker / Kubernetes Ρ streamable-http; ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ Bearer-ΡΠΎΠΊΠ΅Π½ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅.
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Ρ on-prem Kaiten?
ΠΠ° β Π·Π°Π΄Π°ΠΉΡΠ΅ KAITEN_BASE_URL Π½Π° Π²Π°Ρ /api/v1.
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
Install
Add Kaiten to your client. Pick the one you use.
claude mcp add kaiten-mcp -- uvx kaiten-mcpcodex mcp add kaiten-mcp -- uvx kaiten-mcpamp mcp add kaiten-mcp -- uvx kaiten-mcp{
"mcpServers": {
"kaiten-mcp": {
"command": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"kaiten-mcp": {
"command": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"kaiten-mcp","command":"uvx","args":["kaiten-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"kaiten-mcp": {
"command": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"kaiten-mcp": {
"command": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"kaiten-mcp": {
"command": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"kaiten-mcp": {
"type": "local",
"command": "uvx",
"args": [
"kaiten-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"kaiten-mcp": {
"command": {
"path": "uvx",
"args": [
"kaiten-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx kaiten-mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance16/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 45 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 0.1.0Latest | Jul 18, 2026 |