vsaranyuk/kaiten-mcp-server
If you are the rightful owner of kaiten-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Kaiten MCP Server integrates Kaiten API with Claude Desktop, enabling direct management of cards, comments, and spaces.
Kaiten MCP Server
MCP ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Kaiten API Ρ Claude Desktop. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ Kaiten Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Claude.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΠ°ΡΡΠΎΡΠΊΠΈ: Π§ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΈΡΠΊ
- ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: ΠΠΎΠ»Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
- ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ Π΄ΠΎΡΠΊΠΈ: ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ Kaiten
- ΠΠΎΠΈΡΠΊ: ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ
- Default Space: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅
- π Production-Ready:
- Zod validation Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ retry Ρ exponential backoff
- Concurrency control (rate limiting)
- LRU ΠΊΠ΅Ρ Ρ TTL Π΄Π»Ρ spaces/boards/users
- Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Ρ hints
- Π Π΅Π΄Π°ΠΊΡΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π² Π»ΠΎΠ³Π°Ρ
ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
npm install
2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° .env
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» .env
:
cp .env.example .env
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π²Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ:
KAITEN_API_URL=https://your-domain.kaiten.ru/api/latest
KAITEN_API_TOKEN=your_api_token_here
KAITEN_DEFAULT_SPACE_ID=12345 # ΠΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ space_id
# ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
KAITEN_MAX_CONCURRENT_REQUESTS=5 # ΠΠ°ΠΊΡ. ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² (1-20)
KAITEN_CACHE_TTL_SECONDS=300 # ΠΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(0 = Π²ΡΠΊΠ».)
KAITEN_REQUEST_TIMEOUT_MS=10000 # Π’Π°ΠΉΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΌΡ (1-60000)
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ API ΡΠΎΠΊΠ΅Π½:
- ΠΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Kaiten
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ API ΡΠΎΠΊΠ΅Π½
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ Π²
.env
3. Π‘Π±ΠΎΡΠΊΠ°
npm run build
4. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Claude Desktop
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ»:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
ΠΠΎΠ±Π°Π²ΡΡΠ΅ (Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΡΡ Π½Π° Π²Π°Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ):
{
"mcpServers": {
"kaiten": {
"command": "node",
"args": [
"/ΠΏΠΎΠ»Π½ΡΠΉ/ΠΏΡΡΡ/ΠΊ/MCP Kaiten/dist/index.js"
],
"cwd": "/ΠΏΠΎΠ»Π½ΡΠΉ/ΠΏΡΡΡ/ΠΊ/MCP Kaiten"
}
}
}
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± (Π±Π΅Π· .env):
{
"mcpServers": {
"kaiten": {
"command": "node",
"args": ["/ΠΏΠΎΠ»Π½ΡΠΉ/ΠΏΡΡΡ/ΠΊ/MCP Kaiten/dist/index.js"],
"env": {
"KAITEN_API_URL": "https://your-domain.kaiten.ru/api/latest",
"KAITEN_API_TOKEN": "your_api_token_here",
"KAITEN_DEFAULT_SPACE_ID": "12345"
}
}
}
}
5. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Claude Desktop
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ (β+Q / Alt+F4) ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Claude Desktop Π·Π°Π½ΠΎΠ²ΠΎ.
6. ΠΡΠΎΠ²Π΅ΡΠΊΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² Claude:
ΠΠΎΠΊΠ°ΠΆΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² Kaiten
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ (26 tools)
ΠΠ°ΡΡΠΎΡΠΊΠΈ
kaiten_get_card
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΏΠΎ IDkaiten_create_card
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡkaiten_update_card
- ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡkaiten_delete_card
- Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡkaiten_search_cards
- ΠΠΎΠΈΡΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈkaiten_get_space_cards
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°kaiten_get_board_cards
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π΄ΠΎΡΠΊΠΈ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
kaiten_get_card_comments
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈkaiten_create_comment
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉkaiten_update_comment
- ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉkaiten_delete_comment
- Π£Π΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ Π΄ΠΎΡΠΊΠΈ
kaiten_list_spaces
- Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²kaiten_get_space
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎkaiten_list_boards
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΠΎΠΊkaiten_get_board
- ΠΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΠΊΡ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ (Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ID)
kaiten_list_columns
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (ΡΡΠ°ΡΡΡΠΎΠ²) Π΄ΠΎΡΠΊΠΈkaiten_list_lanes
- Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΠΎΠΆΠ΅ΠΊ (lanes/swimlanes) Π΄ΠΎΡΠΊΠΈkaiten_list_types
- Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π΄ΠΎΡΠΊΠΈ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
kaiten_get_current_user
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρkaiten_list_users
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ΅ΡΠ΅ΠΌ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
kaiten_cache_invalidate_spaces
- ΠΠ½Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²kaiten_cache_invalidate_boards
- ΠΠ½Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅Ρ Π΄ΠΎΡΠΎΠΊkaiten_cache_invalidate_users
- ΠΠ½Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉkaiten_cache_invalidate_all
- ΠΠ½Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΊΠ΅Ρkaiten_get_status
- ΠΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΊΠ΅Ρ, ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ΅ΡΡΠΈΠΊΠΈ)kaiten_set_log_level
- π v2.3.0 ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² runtime
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΊΠ°ΠΆΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΡ 789
Π‘ΠΎΠ·Π΄Π°ΠΉ ΠΊΠ°ΡΡΠΎΡΠΊΡ "ΠΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³" Π½Π° Π΄ΠΎΡΠΊΠ΅ 456 Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ "ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ"
ΠΠ±Π½ΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΡ 789: ΠΈΠ·ΠΌΠ΅Π½ΠΈ ΡΡΠ°ΡΡΡ Π½Π° 3
ΠΠΎΠ±Π°Π²Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ 789: "Π Π°Π±ΠΎΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°"
ΠΠΎΠΈΡΠΊ
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ "Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ" Π½Π° Π΄ΠΎΡΠΊΠ΅ 456
ΠΠΎΠΊΠ°ΠΆΠΈ ΠΌΠΎΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ 123
ΠΠ°ΠΉΠ΄ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Π½Π° Π΄ΠΎΡΠΊΠ΅ 456
Default Space
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π² KAITEN_DEFAULT_SPACE_ID
. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠΎΡΠΎΡΠ΅:
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΏΡΠΎ ΠΠΎΠ»Π³Π°ΡΠΈΡ
# ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΡΠ΅Ρ Π² DEFAULT_SPACE_ID
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅:
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΡ ΠΏΡΠΎ ΠΠΎΠ»Π³Π°ΡΠΈΡ Π²ΠΎ ΠΠ‘ΠΠ₯ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Default Space ΡΠΌ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
β ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎΠΈΡΠΊΠ°
DO (ΠΠ΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΊ):
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ "Π±Π°Π³" Π½Π° Π΄ΠΎΡΠΊΠ΅ 456
DON'T (ΠΠ΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΊ):
ΠΠΎΠΊΠ°ΠΆΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ Π½Π°ΠΉΠ΄ΠΈ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ
"Π±Π°Π³"
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°
limit
- ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 10)sort_by
- ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°:created
,updated
,title
sort_direction
- Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:asc
,desc
condition
- 1=Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), 2=Π°ΡΡ ΠΈΠ²Π½ΡΠ΅
ΠΡΠΈΠΌΠ΅ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠ°ΠΉΠ΄ΠΈ 20 ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π½Π° Π΄ΠΎΡΠΊΠ΅ 456
ΠΠΎΠΊΠ°ΠΆΠΈ Π°ΡΡ
ΠΈΠ²Π½ΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π° Π΄ΠΎΡΠΊΠ΅ 456
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π° Π΄ΠΎΡΠΊΠ΅ 456, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π΄Π°ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
MCP Kaiten/
βββ src/
β βββ index.ts # MCP ΡΠ΅ΡΠ²Π΅Ρ
β βββ kaiten-client.ts # Kaiten API ΠΊΠ»ΠΈΠ΅Π½Ρ
β βββ config.ts # ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
β βββ cache.ts # LRU ΠΊΠ΅Ρ
β βββ schemas.ts # Zod ΡΡ
Π΅ΠΌΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ
β βββ logging/ # π v2.3.0 Π‘ΠΈΡΡΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
β β βββ index.ts # ΠΠΊΡΠΏΠΎΡΡΡ
β β βββ types.ts # TypeScript ΡΠΈΠΏΡ
β β βββ logger.ts # Unified logger (singleton)
β β βββ file-logger.ts # Pino file logger
β β βββ mcp-logger.ts # MCP notifications logger
β β βββ metrics.ts # Performance metrics collector
β βββ middleware/ # π v2.3.0 HTTP middleware
β βββ logging-middleware.ts # Axios logging interceptor
βββ logs/ # π v2.3.0 Π€Π°ΠΉΠ»Ρ Π»ΠΎΠ³ΠΎΠ² (Π² .gitignore)
βββ dist/ # Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
βββ .env # ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (Π½Π΅ Π² git)
βββ .env.example # ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
βββ tsconfig.json # TypeScript ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
βββ package.json
βββ README.md # ΠΡΠΎΡ ΡΠ°ΠΉΠ»
βββ CHANGELOG.md # ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
βββ DEFAULT_SPACE_GUIDE.md # Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Default Space
βββ LOGGING_IMPLEMENTATION_PLAN.md # π v2.3.0 ΠΠ»Π°Π½ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ
ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ:
{
"id": 12345,
"title": "ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ",
"url": "https://your-domain.kaiten.ru/space/12345/card/12345",
"description": "ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅...",
"created": "2025-07-23T07:55:52.934Z",
"updated": "2025-10-01T12:14:47.754Z",
"state": 2,
"owner_id": 67890,
"owner_name": "ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²",
"board_id": 54321,
"board_title": "Project Board",
"blocked": true,
"block_reason": "ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ",
"blocked_at": "2025-08-04T09:10:22.528Z",
"blocker_name": "ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²",
"archived": false,
"tags": ["Π²Π°ΠΆΠ½ΠΎ", "ΡΡΠΎΡΠ½ΠΎ"],
"members": ["ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²", "ΠΠ°ΡΠΈΡ ΠΠ΅ΡΡΠΎΠ²Π°"],
"due_date": "2025-10-19T00:00:00.000Z"
}
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ
Π‘Π΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Claude
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±ΡΠ°Π½:
npm run build
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅
.env
ΡΠ°ΠΉΠ» - ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Claude Desktop ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ (β+Q)
ΠΡΠΈΠ±ΠΊΠΈ API
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠΎΠΊΠ΅Π½ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½
- URL Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π°
/api/latest
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΡΠΎΠΊΠ΅Π½Π° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Kaiten
ΠΡΠΈΠ±ΠΊΠ° "Tool result is too large"
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ board_id
:
# ΠΠ»ΠΎΡ
ΠΎ
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ 123
# Π₯ΠΎΡΠΎΡΠΎ
ΠΠ°ΠΉΠ΄ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π½Π° Π΄ΠΎΡΠΊΠ΅ 456 Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ 123
ΠΡΠ»Π°Π΄ΠΊΠ°
π v2.3.0: ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π² runtime Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° kaiten_set_log_level
.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ):
# ΠΠΊΠ»ΡΡΠΈΡΡ/Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: true)
KAITEN_LOG_ENABLED=true
# Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: error)
# debug | info | notice | warning | error | critical | alert | emergency
KAITEN_LOG_LEVEL=error
# ΠΡΠΏΡΠ°Π²Π»ΡΡΡ Π»ΠΎΠ³ΠΈ Π² MCP ΠΊΠ»ΠΈΠ΅Π½Ρ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: false)
KAITEN_LOG_MCP_ENABLED=false
# ΠΠ°ΠΏΠΈΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ Π² ΡΠ°ΠΉΠ» (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: false)
KAITEN_LOG_FILE_ENABLED=false
# ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π»ΠΎΠ³ΠΎΠ² (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ./logs/kaiten-mcp.log)
KAITEN_LOG_FILE_PATH=./logs/kaiten-mcp.log
# ΠΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ HTTP Π·Π°ΠΏΡΠΎΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: false)
KAITEN_LOG_REQUESTS=false
# Π‘ΠΎΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: false)
KAITEN_LOG_METRICS=false
ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ:
Production (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅):
KAITEN_LOG_LEVEL=error
KAITEN_LOG_FILE_ENABLED=false
KAITEN_LOG_REQUESTS=false
KAITEN_LOG_METRICS=false
Development (ΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ):
KAITEN_LOG_LEVEL=info
KAITEN_LOG_FILE_ENABLED=true
KAITEN_LOG_REQUESTS=false
KAITEN_LOG_METRICS=true
Debug (ΠΏΠΎΠ»Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°):
KAITEN_LOG_LEVEL=debug
KAITEN_LOG_MCP_ENABLED=true
KAITEN_LOG_FILE_ENABLED=true
KAITEN_LOG_REQUESTS=true
KAITEN_LOG_METRICS=true
Runtime ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ kaiten_set_log_level
Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°:
# ΠΠΊΠ»ΡΡΠΈΡΡ debug ΡΠ΅ΠΆΠΈΠΌ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ debug Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ
# ΠΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ off
# ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ info Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ
ΠΡΠΎΡΠΌΠΎΡΡ Π»ΠΎΠ³ΠΎΠ²:
ΠΠΎΠ³ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² stderr. ΠΠ° macOS/Linux ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· Console.app ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ² Claude ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. Π€Π°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π»ΠΎΠ³ΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ logs/
Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON (Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°).
ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
ΠΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
(KAITEN_LOG_METRICS=true
) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ kaiten_get_status
Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°:
ΠΠΎΠΊΠ°ΠΆΠΈ ΡΡΠ°ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ΅ΡΡΠΈΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ²
- ΠΠ³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ (latency, success rate, cache hit rate)
- ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 100 Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ
- Node.js: ΠΠ΅ΡΡΠΈΡ 20 ΠΈΠ»ΠΈ Π²ΡΡΠ΅ (ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅
engines
) - TypeScript: 5.0+
- MCP SDK: @modelcontextprotocol/sdk v1.20.0
- API Client: axios Ρ retry/backoff ΠΈ AbortSignal support
- Π Π°Π·ΠΌΠ΅Ρ: ~600 ΡΡΡΠΎΠΊ TypeScript, 25KB ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
MCP I/O Protocol
ΠΡΠΈΡΠΈΡΠ½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ: MCP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ stdio-ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
- stdout β ΡΠΎΠ»ΡΠΊΠΎ JSON-RPC ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (ΡΠΈΡΡΡΠΉ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ)
- stderr β Π²ΡΠ΅ Π»ΠΎΠ³ΠΈ, Π΄Π΅Π±Π°Π³-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ°ΠΆΠ½ΠΎ:
- ΠΡΠ±ΠΎΠΉ
console.log()
Π² ΠΊΠΎΠ΄Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅console.error()
Π΄Π»Ρ Π»ΠΎΠ³ΠΎΠ² - ΠΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΈΡΡΠΎΡΡ stdout ΡΠ΅ΡΠ΅Π·
safeLog
wrapper (src/config.ts:126-152) - ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠΌΠΎΡΡΠΈΡΠ΅ stderr:
node dist/index.js 2>debug.log
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ MCP Inspector
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅: Build an MCP server
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
Π‘ΠΌ. Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ: 2.3.0
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ:
- v2.3.0 - π Logging & Monitoring: Comprehensive logging system with runtime control, performance metrics, file/MCP logs
- v2.2.0 - π¨ UX/Architecture: Verbosity modes, Idempotency keys, Board ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ (columns/lanes/types)
- v2.1.0 - π Production-Ready: Retry/Backoff, Concurrency control, LRU cache, Enhanced errors
- v2.0.0 - π Major update: Zod validation, Resources, Server Prompts, enhanced types
- v1.5.0 - Default Space support
- v1.4.1 - Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°
- v1.4.0 - Π€ΠΈΠ»ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- v1.3.0 - ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ (ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Ρ Π½Π° 92-97%)
- v1.2.0 - Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ pagination
- v1.1.0 - Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°
- v1.0.0 - ΠΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
- - ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π²ΡΠ΅Ρ 26 ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
- - ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
- - Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Default Space
- Kaiten API Docs - ΠΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ API