mcp_server

odnashestaia/mcp_server

3.1

If you are the rightful owner of 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 is a tool designed to manage Kaiten's Spaces, Boards, and Cards using CRUD operations, with support for MCP Inspector and an integrated mini-client.

Kaiten MCP Server

MCP-сСрвСр для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Kaiten (Spaces, Boards, Cards): CRUD-инструмСнты, запуск ΠΏΠΎ STDIO, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MCP Inspector ΠΈ встроСнный ΠΌΠΈΠ½ΠΈ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ВрСбования

Python 3.11 ΠΈΠ»ΠΈ 3.12 uv (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²/Ρ€Π°Π½Π½Π΅Ρ€)

  • Linux/macOS: curl -Ls https://astral.sh/uv/install.sh | sh
  • Windows PowerShell: irm https://astral.sh/uv/install.ps1 | iex

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ запуск выполняСтся с PYTHONPATH, содСрТащим ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ src.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .env Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ экспортируйтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. .env.example


KAITEN_BASE_URL=https://nikolay1979laptop.kaiten.ru/api/v1
KAITEN_API_TOKEN=00000000000000000000000000000000
RPS_LIMIT=5
REQUEST_TIMEOUT=20
LOG_LEVEL=INFO
PYTHONPATH=src

ЗначСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ URL вашСго Kaiten.

Установка зависимостСй

uv sync

ΠŸΡ€ΠΈ отсутствии lock-Ρ„Π°ΠΉΠ»Π° зависимости ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π»Π΅Ρ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· uv run.

Запуск локально

npx @modelcontextprotocol/inspector

ПослС запуска сСрвСр ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ STDIO Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ MCP.

Π’Ρ‹Π·ΠΎΠ² инструмСнтов

MCP Inspector (STDIO):

Настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

  • Transport Type: STDIO
  • Command: uv
  • Arguments: run -m server.server serve

Π”Π°Π»Π΅Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Connect. Π’ tools для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инструмСнта Π² ΠΏΠΎΠ»Π΅ Arguments (запрос) ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ JSON с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ params.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ JSON для Inspector.

Spaces:


{"params": {}}

{"params": {"space_id": "1001"}}

{"params": {"title": "НовоС пространство", "external_id": 9001}}

{"params": {"space_id": 1001, "title": "ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠ΅", "allowed_card_type_ids": [1,2], "external_id": 9002}}

{"params": {"space_id": "1001"}}


Boards:


{"params": {"space_id": "1001", "cursor": null, "limit": 50}}

{"params": {"space_id": "1001", "board_id": "2001"}}

{"params": {
  "space_id": "1001",
  "title": "Новая доска",
  "description": "ОписаниС",
  "lanes": [ {"title": "Lane A"} ],
  "columns": [ {"title": "To Do", "type": 1}, {"title": "Doing", "type": 2}, {"title": "Done", "type": 3} ]
}}

{"params": {"space_id": "1001", "board_id": "2001", "title": "Π”ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ имя", "description": "АпдСйт"}}

{"params": {"space_id": "1001", "board_id": "2001"}}

Cards:


{"params": {"board_id": "2001", "cursor": null, "limit": 50}}

{"params": {"card_id": "3001"}}

{"params": {
  "title": "Моя новая Π·Π°Π΄Π°Ρ‡Π°",
  "board_id": 2001,
  "description": "ОписаниС Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ",
  "lane_id": 1782805,
  "column_id": 5051439,
  "asap": false,
  "due_date_time_present": false,
  "properties": {}
}}

{"params": {"card_id": 3001, "title": "ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ", "description": "Новый тСкст"}}

{"params": {"card_id": 3001}}


Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ошибка Invalid request parameters ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда связана с отсутствиСм ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ {"params": ...}.

ВстроСнный ΠΌΠΈΠ½ΠΈ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит встроСнный ΠΌΠΈΠ½ΠΈ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Π²Ρ‹Π·ΠΎΠ²Π° инструмСнтов ΠΏΠΎ STDIO.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список инструмСнтов:


uv run -m server.server client-list --cmd "uv run -m server.server serve"

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ инструмСнт (Linux/macOS):


uv run -m server.server client-call --cmd "uv run -m server.server serve" spaces_list "{}"

uv run -m server.server client-call --cmd "uv run -m server.server serve" spaces_get '{"space_id":"1001"}'

uv run -m server.server client-call --cmd "uv run -m server.server serve" cards_create '{"title":"Моя новая Π·Π°Π΄Π°Ρ‡Π°","board_id":2001,"description":"ОписаниС"}'

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ инструмСнт (Windows PowerShell):


uv run -m server.server client-call --cmd "uv run -m server.server serve" spaces_list "{}"

uv run -m server.server client-call --cmd "uv run -m server.server serve" spaces_get "{\"space_id\":\"1001\"}"

Мини-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ автоматичСски ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² {"params": ...}, Ссли Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½. Π€Π»Π°Π³ --no-wrap ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… сцСнариСв CRUD

НиТС Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Inspector ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Spaces

  1. Create: spaces_create β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ id Π½ΠΎΠ²ΠΎΠ³ΠΎ пространства.
  2. Get: spaces_get с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ id.
  3. Update: spaces_update, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² title ΠΈΠ»ΠΈ allowed_card_type_ids.
  4. List: spaces_list, ΠΏΡ€ΠΈ нСобходимости с ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ.
  5. Delete: spaces_delete ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° отсутствия пространства Π² спискС.
  6. ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ со статусом ok ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, послС удалСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ отсутствуСт Π² Π²Ρ‹Π΄Π°Ρ‡Π΅.

Boards

  1. Create: boards_create Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ space_id, с columns ΠΈ lanes.
  2. Get: boards_get ΠΏΠΎ board_id.
  3. List: boards_list ΠΏΠΎ space_id.
  4. Update: boards_update (title ΠΈ/ΠΈΠ»ΠΈ description).
  5. Delete: boards_delete ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° отсутствия Π² boards_list.

Cards

  1. Create: cards_create ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ с title ΠΈ board_id; ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ lane_id, column_id, description.
  2. Get: cards_get ΠΏΠΎ card_id.
  3. List: cards_list ΠΏΠΎ board_id ΠΈΠ»ΠΈ space_id.
  4. Update: cards_update (title, description).
  5. Delete: cards_delete ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° отсутствия ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π² спискС.