MCP server for accessing Kontur Talk (KTalk) recordings, transcripts and summaries
Project description
ktalk-mcp
MCP сервер для доступа к записям Контур.Толк (KTalk) из Claude Code.
Предоставляет доступ к:
- Списку записей конференций
- Деталям записи
- Транскриптам (распознанная речь по спикерам)
- Саммари и протоколам встреч
Установка
Требуется Python 3.12+ и uv.
uv tool install ktalk-mcp
Или через pip:
pip install ktalk-mcp
Получение session token
KTalk использует session token для авторизации API-запросов. Токен передаётся как query parameter.
- Откройте https://your-domain.ktalk.ru в браузере
- Войдите в свой аккаунт
- Откройте DevTools: нажмите
F12(илиCmd+Option+Iна Mac) - Перейдите во вкладку Application → Cookies →
https://your-domain.ktalk.ru - Найдите cookie с именем
sessionToken - Скопируйте его значение
Важно: session token имеет ограниченный срок жизни. Если MCP tool возвращает ошибку авторизации, получите новый токен по инструкции выше.
Подключение к Claude Code
Добавьте в файл ~/.claude/.mcp.json (глобально) или .mcp.json (в проекте):
{
"mcpServers": {
"ktalk": {
"command": "uvx",
"args": ["ktalk-mcp"],
"env": {
"KTALK_SESSION_TOKEN": "ваш_session_token",
"KTALK_BASE_URL": "https://your-domain.ktalk.ru"
}
}
}
}
Альтернативная конфигурация
Переменные окружения можно задать отдельно:
export KTALK_SESSION_TOKEN="ваш_session_token"
export KTALK_BASE_URL="https://your-domain.ktalk.ru"
Также поддерживается файл .env в рабочей директории:
KTALK_SESSION_TOKEN=ваш_session_token
KTALK_BASE_URL=https://your-domain.ktalk.ru
Доступные MCP Tools
ktalk_list_recordings
Список записей конференций.
| Параметр | Тип | Default | Описание |
|---|---|---|---|
query |
str | — | Поиск по названию, комнате, автору |
start_from |
str | — | Начало периода (ISO 8601) |
start_to |
str | — | Конец периода |
top |
int | 30 | Количество записей (1–1000) |
order |
str | byTimeNewFirst | Сортировка: byTimeNewFirst, byTimeOldFirst, byTitle, bySizeBigFirst, bySizeSmallFirst |
page_token |
str | — | Токен пагинации |
format |
str | markdown | raw / markdown |
ktalk_get_recording
Детали одной записи — автор, дата, длительность, список участников.
| Параметр | Тип | Default | Описание |
|---|---|---|---|
recording_key |
str | — | Ключ (ID) записи |
format |
str | markdown | raw / markdown |
ktalk_get_transcript
Транскрипт записи — распознанная речь по спикерам с таймкодами.
Поддерживает чанкинг для длинных транскриптов: при превышении chunk_size ответ автоматически разбивается на части по границам реплик (не в середине фразы). Каждый чанк содержит метаданные для постраничного чтения.
| Параметр | Тип | Default | Описание |
|---|---|---|---|
recording_key |
str | — | Ключ (ID) записи |
format |
str | markdown | raw / markdown |
chunk |
int | 0 | Номер чанка. 0 = авто (целиком если маленький, первый чанк если большой). 1+ = конкретный чанк |
chunk_size |
int | 30000 | Макс. символов в чанке (~7500 токенов). Мягкий лимит — разрез по границам реплик |
ktalk_get_summary
Полное саммари записи (краткое резюме + протокол).
| Параметр | Тип | Default | Описание |
|---|---|---|---|
recording_key |
str | — | Ключ (ID) записи |
format |
str | markdown | raw / markdown |
ktalk_get_summary_by_type
Саммари конкретного типа.
| Параметр | Тип | Default | Описание |
|---|---|---|---|
recording_key |
str | — | Ключ (ID) записи |
summary_type |
str | — | shortSummary / protocol |
format |
str | markdown | raw / markdown |
API
Сервер работает с KTalk Web API. Авторизация — через sessionToken query parameter.
| Эндпоинт | Описание |
|---|---|
GET /api/recordings |
Список записей |
GET /api/recordings/{id} |
Детали записи |
GET /api/recordings/{id}/transcript |
Транскрипт |
GET /api/recordings/v2/{id}/summary |
Полное саммари (v2) |
GET /api/recordings/{id}/summary/{type} |
Саммари по типу |
OpenAPI спецификация
talk.public.api-api-2.jsonвключена как справочник, но содержит расхождения с реальным API (пути, формат авторизации, структура ответов).
Разработка
git clone https://github.com/mdemyanov/ktalk-mcp.git
cd ktalk-mcp
uv sync
# Запуск тестов
uv run pytest -v
# Линтинг
uv run ruff check .
# Локальный запуск сервера
KTALK_SESSION_TOKEN=... KTALK_BASE_URL=... uv run ktalk-mcp
Лицензия
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ktalk_mcp-0.3.0.tar.gz.
File metadata
- Download URL: ktalk_mcp-0.3.0.tar.gz
- Upload date:
- Size: 143.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69fd0dc0932ea7ff2ced48e99bbd88996a5479d62f22014cb84c859d711c459c
|
|
| MD5 |
8c6f5c5e904a52a92d181df30dd68811
|
|
| BLAKE2b-256 |
524a2a4109707f857551c9b9f09a2603a3cbef308e2615e6248ac37b392b3a4d
|
File details
Details for the file ktalk_mcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: ktalk_mcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8526e24d1263f8ef69588d67a559f03262a28308b5a199edcaa064043a878b59
|
|
| MD5 |
23276979856ca605d9529ea25120ff58
|
|
| BLAKE2b-256 |
6e41b65ad0df2a1f07aa4751166b2fd006a3e0d22d08d7fe02b14e03908d82d6
|