Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KTALK_BASE_URLYesBase URL of your KTalk instance (e.g., https://your-domain.ktalk.ru)
KTALK_SESSION_TOKENYesSession token for KTalk API authorization

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ktalk_list_recordingsA

List available KTalk conference recordings.

Args: query: Search by title, room name, or author start_from: Start date filter (ISO 8601, e.g. 2026-03-01) start_to: End date filter (ISO 8601) top: Number of recordings per page (1-100, default 30). The API rejects values above 100 with HTTP 400. order: Sort order (byTimeNewFirst, byTimeOldFirst, byTitle, bySizeBigFirst, bySizeSmallFirst) page_token: Pagination token from previous response format: Output format — "raw" (JSON) or "markdown" (human-readable table)

ktalk_get_recordingA

Get details of a specific KTalk recording.

Args: recording_key: Recording key/identifier (required) format: Output format — "raw" (JSON) or "markdown" (human-readable)

ktalk_get_transcriptA

Get transcript of a KTalk recording (speech-to-text by speakers).

Args: recording_key: Recording key/identifier (required) format: Output format — "raw" (JSON) or "markdown" (dialogue with timecodes) chunk: Chunk number. 0 = auto (returns full text if small, first chunk if large). 1+ = specific chunk number for paged reading. chunk_size: Max characters per chunk (~7500 tokens at 30000). Soft limit — chunks split at utterance boundaries, never mid-utterance.

ktalk_get_summaryA

Get full summary of a KTalk recording (short summary + protocol + transcription).

Args: recording_key: Recording key/identifier (required) format: Output format — "raw" (JSON) or "markdown" (structured summary)

ktalk_get_summary_by_typeA

Get a specific type of summary for a KTalk recording.

Args: recording_key: Recording key/identifier (required) summary_type: Type of summary — "shortSummary" or "protocol" (required) format: Output format — "raw" (JSON) or "markdown"

ktalk_get_participantsA

Get the full participant list of a KTalk recording (FR-8).

Unlike the list/details response (capped by maxParticipantCount), this dedicated tool enriches the result so records with more participants than the default page shows are still complete.

Args: recording_key: Recording key/identifier (required) format: Output format — "raw" (JSON) or "markdown"

ktalk_download_recordingA

Download a KTalk recording video file to disk, streamed (FR-7).

Args: recording_key: Recording key/identifier (required) target_path: Filesystem path to write the file to (required). Parent directories are created; an existing file is not overwritten. quality: Requested video quality (e.g. "900p"). None picks a sensible default from the record's available qualities. format: Output format for the returned metadata — "raw" (JSON) or "markdown"

ktalk_list_archiveA

List archived meetings within a date window (FR-9, personal API key only).

Reads the whole window client-side across all pages — unlike ktalk_list_recordings, this returns the full result in one call.

Args: from_date: Window start date (ISO 8601) to_date: Window end date (ISO 8601) room_names: Optional filter by room name(s) format: Output format — "raw" (JSON) or "markdown"

ktalk_get_chat_messagesA

Get chat messages of a meeting (FR-10).

Either recording_key or conference_key must be given; if channel is omitted, an available channel is resolved automatically instead of failing with a raw "channel field is required" error.

Args: recording_key: Recording key/identifier (resolves the meeting bridge) conference_key: Meeting/conference key (used directly if given) channel: Chat channel name (e.g. "general"); auto-resolved if omitted format: Output format — "raw" (JSON) or "markdown"

ktalk_list_calendarA

List scheduled meetings visible to the active authorization (FR-18).

Reports meetings this session/key can see — not necessarily a personal calendar. Window is segmented server-side into <=7-day chunks transparently; segments hitting the 100-item cap are flagged.

Args: start: Window start date (ISO 8601), required, inclusive end: Window end date (ISO 8601), required, inclusive (FR-39/ADR-017) room_name: Optional filter by room name format: Output format — "raw" (JSON) or "markdown"

ktalk_get_roomA

Get room details (FR-17, session mode only — no confirmed API-key profile).

WARNING — SIDE EFFECT (ADR-006): the server returns 200 for any room name, including one never seen before, with an identically shaped response (never a 404). Calling this with a name not yet read in this contour CREATES the room object as a side effect of reading; this is irreversible — the project has no delete operation. Do NOT use this tool to check whether a name is available/occupied — the check itself creates the occupancy.

Args: room_name: Room name (path-quoted before the request) format: Output format — "raw" (JSON) or "markdown"

ktalk_preview_meetingA

Preview a single meeting to be created (FR-13) — zero network calls.

Does not create anything, ever: there is no MCP tool that does. To actually create the meeting, run create-meeting-confirm in an interactive terminal (CLI) with the same parameters. The confirmation_id in the output is informational for a human to cross-check against the terminal prompt — it is not a machine-checkable link between this call and the CLI confirmation (separate processes).

Args: subject: Meeting subject (required) start: Local ISO 8601 start time with offset (required) — converted to UTC internally (ADR-009) end: Local ISO 8601 end time with offset (required) — converted to UTC internally (ADR-009) timezone: Timezone (required — no silent default, NFR-9) room_name: Room name (required) required_attendee_keys: Numeric attendee ids as strings (not logins, ADR-009); explicit empty list is valid description: Optional description (only field with a silent default) enable_auto_recording: Whether the meeting is recorded (required, no silent default) pin_code: Room PIN code pin_code_explicit_none: True means "explicitly no PIN" (JSON null); without either signal, pin_code is required allow_anonymous: Whether unauthenticated participants may join (required) anonymous_access_expiration: Required only if allow_anonymous is True (ADR-009 §3 — no computed default) format: Output format — "raw" (JSON) or "markdown"

ktalk_search_contactsA

Search the KTalk contacts directory to resolve a numeric attendee key (ADR-010) — session mode only, no confirmed API-key profile.

Never auto-selects a candidate: 0 matches is a refusal, 1 match is shown explicitly (not applied anywhere), >1 matches are listed in full without ranking. The resolved key still has to be passed explicitly to meeting creation (required_attendee_keys) — this tool does not feed it there automatically.

Args: query: Free-text name/surname (not a login — unverified, ADR-010 §4) format: Output format — "raw" (JSON) or "markdown"

ktalk_preview_cancel_meetingA

Preview cancellation of a single meeting (ADR-011) — zero network calls.

Does not cancel anything, ever: there is no MCP tool that does. To actually cancel the meeting, run cancel-meeting-confirm in an interactive terminal (CLI) with the same parameters.

Args: id: Base64 meeting id (from create-meeting-confirm output or calendar reads) — not resolved by name/date, not stored reason: Optional cancellation reason (default "" — the only confirmed working configuration, Ф-50) format: Output format — "raw" (JSON) or "markdown"

ktalk_auth_statusA

Diagnose the active authorization mechanism (FR-11).

Reports whether the personal API key or session token is alive, and — for the API key — its scopes and expiration, when available.

Args: format: Output format — "raw" (JSON) or "markdown"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mdemyanov/ktalk-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server