mcp-iva-mcu
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-iva-mcucreate a new conference and invite user john@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server for IVA 360
28 tools · 304 REST actions · 310 API endpoints · 373 tests
MCP server for the IVA 360 video conferencing platform. Wraps the IVA 360 Clients API (v2.28.12) into 28 tools your AI agent can call directly.
Installation · Configuration · Capabilities · Tools · Scenarios · Development · npm package
Languages: English · Русский
Platform & Subscription
This MCP server wraps the IVA 360 corporate video conferencing Clients API.
IVA 360 is a Russian-developed enterprise ecosystem that combines video meetings, webinars, messenger, mail, cloud storage, and an AI assistant in a single window. It is built for both large and small organizations — from small teams on the Starter plan to holdings, educational institutions, and government bodies on Enterprise (private/hybrid cloud with up to 99.98% SLA and up to 10 million accounts). The software is registered in the Russian Ministry of Digital Development registry and stores data on servers inside the Russian Federation.
⚠️ A subscription to iva360.ru is required to use this server. The IVA 360 API endpoints (
IVA_BASE_URL) and the authentication tokens (IVA_SESSION_TOKEN,IVA_JWT_TOKEN, orIVA_LOGIN/IVA_PASSWORD) are only available to subscribed organizations. A free trial is available — see the website for plans and pricing.
➡️ More details: iva360.ru
Related MCP server: Thenvoi MCP Server
Compatible API Versions
API | Version | Base Path | Auth | Endpoints |
IVA Clients API | 2.28.12 |
|
| 310 |
OpenAPI spec for this exact version is in specs/ (source repo only).
Installation
Prerequisites
Node.js 20+
An active IVA 360 subscription (see Platform & Subscription)
IVA 360 server URL (e.g.
https://your-iva-server.ru)At least one auth token (see Environment Variables)
Install from npm
npm install -g mcp-iva-mcu
# or run without installing
npx -y mcp-iva-mcuEnvironment Variables
Variable | Required | Description |
| Yes | IVA 360 server URL |
| Clients API (auto-login) | Login (email) for automatic session refresh |
| Clients API (auto-login) | Password for automatic session refresh |
| Clients API (alternative) | Session UUID (expires — use login/password for auto-refresh) |
| Clients API (alternative) | JWT token |
| Optional | Set to |
| Optional | Set to |
For Clients API, you can either:
Set
IVA_LOGIN+IVA_PASSWORD— the server will auto-login and refresh sessions automatically (recommended), orSet
IVA_SESSION_TOKENdirectly — note that session tokens expire and must be refreshed manually.
Destructive Action Confirmation
When IVA_CONFIRM_DESTRUCTIVE=true is set, the server requires an explicit confirm: true parameter before executing destructive actions (delete, remove, disconnect, stop, block, mute, cancel, reject, clear, pause). Without it, the tool returns a warning instead of executing, protecting against accidental data loss with AI agents. When unset or false, destructive actions execute without confirmation (default).
MCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
npx (recommended):
{
"mcpServers": {
"iva-360": {
"command": "npx",
"args": ["-y", "mcp-iva-mcu"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}Windows — use cmd /c:
{
"mcpServers": {
"iva-360": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-iva-mcu"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}Docker:
docker build -t mcp/iva-360 .{
"mcpServers": {
"iva-360": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp/iva-360"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"iva-360": {
"command": "npx",
"args": ["-y", "mcp-iva-mcu"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}VS Code
Add to .vscode/mcp.json:
{
"servers": {
"iva-360": {
"command": "npx",
"args": ["-y", "mcp-iva-mcu"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}Codex CLI
codex mcp add iva-360 npx -y mcp-iva-mcuFrom source
git clone https://github.com/kostikpenzin/mcp_iva_mcu.git
cd mcp_iva_mcu
npm install
npm run build{
"mcpServers": {
"iva-360": {
"command": "node",
"args": ["/absolute/path/to/mcp_iva_mcu/dist/index.js"],
"env": {
"IVA_BASE_URL": "https://your-iva-server.ru",
"IVA_LOGIN": "your-email@example.ru",
"IVA_PASSWORD": "your-password"
}
}
}
}Tools Overview
Clients API — 28 tools, 304 actions
Tool | Description | Actions |
| Logout, session info, guest login, session state | 5 |
| Profile, call forwarding, disk, subscriptions | 13 |
| Contacts, invitations, presences, tags | 12 |
| Find interlocutors, presence subscription | 7 |
| Register/deregister devices | 2 |
| Convert, delete, list pages | 4 |
| Create, upload, download, scan status | 5 |
| System info, media, ICE servers, layouts | 10 |
| Chat CRUD, search, forward, notifications | 13 |
| Add, remove, update participants | 3 |
| Send, edit, delete, star, attachments | 14 |
| Join/leave/hold, record, screenshare, transfer, DTMF | 16 |
| Conference CRUD, schedule, rooms, invitations | 12 |
| Session lifecycle, recording, transcription, media | 35 |
| Create/activate/deactivate/move/remove groups | 7 |
| Media info, layout, profile, language, attention | 12 |
| Add/remove/mute/hand/reaction/DTMF/callback | 23 |
| Join/leave, approve/reject | 7 |
| Documents, directories, demonstration control | 19 |
| Polls: CRUD, answers, start/stop, export | 16 |
| Conference chat: send/edit/moderate/export | 10 |
| Get questionnaire, save answers | 2 |
| Start/stop/confirm presence control | 3 |
| Register, check/resend email | 3 |
| Statistics, exports, aggregation (v1 + v2) | 17 |
| Template CRUD, set default | 6 |
| Books, pages, demonstration, export, undo | 21 |
| Web/VNC screen share, remote control | 7 |
Capabilities
The MCP server understands natural language in Russian and English. You don't need to know tool names or action enums — just describe what you want in plain language, and the AI agent will map it to the correct tool and action.
What you can do
Schedule and manage meetings — create, update, delete conferences; start them instantly; list upcoming sessions
Control live conferences — join/leave, start/stop recording, enable transcription and subtitling, manage media publication
Manage participants — add, remove, mute/unmute, raise/lower hand, set reactions, send DTMF, disconnect
Chat — create group chats, send and edit messages, forward, star, search, manage notifications. Chats without names display participant names automatically (like the official IVA client)
Make calls — join/hold/transfer calls, start/stop screen sharing, send DTMF tones
Documents & presentations — upload, convert, present documents and whiteboards, control demonstration
Lobby control — approve or reject waiting participants
Statistics & reports — view conference statistics, export attendance and participation data
Templates — create and manage conference templates for quick scheduling
Contacts & presence — search users, invite contacts, check who's online
Security
Password management and recovery actions are excluded from the MCP tools
Login and 2FA actions are excluded — authentication is handled automatically via
IVA_LOGIN/IVA_PASSWORDenvironment variablesThe AI agent never sees or handles your credentials directly
Usage Scenarios
1. Book a meeting
You say: "Заброни встречу на завтра в 10 утра, название 'Планёрка отдела'"
The AI agent will:
Call
iva_conferencewithaction: "create"Generate
conferenceDatawithname: "Планёрка отдела"andstartDateas tomorrow's 10:00 AM in UNIX millisecondsReturn the conference ID and number
2. List upcoming meetings
You say: "Покажи все встречи на этой неделе"
The AI agent will:
Call
iva_conference_sessionwithaction: "find"Set
dateFromto Monday anddateToto SundayReturn a list of sessions with names, dates, and states
3. Start recording in a live conference
You say: "Начни запись в конференции 'Встреча'"
The AI agent will:
Call
iva_conference_sessionwithaction: "find"to locate the sessionCall
iva_conference_sessionwithaction: "start_recording"using the session IDConfirm recording has started
4. Mute a participant
You say: "Выключи микрофон у Иванова в текущей конференции"
The AI agent will:
Find the active session and list participants via
iva_conference_participantsIdentify the participant by name
Call
iva_conference_participantswithaction: "mute_media"targeting that participant
5. Send a message to a chat
You say: "Отправь сообщение в чат 'Разработка': 'Релиз сегодня в 18:00'"
The AI agent will:
Search chats via
iva_chatwithaction: "search"Call
iva_chat_messageswithaction: "send"and the message text
6. Get conference statistics
You say: "Покажи статистику по конференции 'Встреча' за прошлый месяц"
The AI agent will:
Find the session via
iva_conference_sessionCall
iva_conference_statisticswithaction: "get"and date rangeReturn attendance, duration, and participation data
7. Analyze this week's meetings and time spent
You say: "Сколько времени на этой неделе заняли встречи, в процентах от 40-часовой рабочей недели?"
The AI agent will:
Call
iva_conference_sessionwithaction: "find",dateFrom= Monday 00:00,dateTo= Sunday 23:59 (UNIX ms)The response is enriched with
actualDurationMs/actualDurationfor each finished session (computed fromactualStartDate/actualEndDate), so no manual math is neededSum
actualDurationMsacross sessions, divide by 40 h (40 × 3 600 000 ms), and report the percentageReturn per-meeting actual vs. planned duration and the total share of the work week
Example output: "11 meetings, 5 h 40 min actual (14.2% of a 40-hour week)."
Note: call history (P2P calls in chats) is not exposed by the Clients API — only the live call state per chat (
iva_chat_callaction: "get"). So this analysis covers scheduled conferences only.
Development
npm install # Install dependencies
npm run build # Compile TypeScript + chmod +x
npm run dev # Watch mode
npm start # Run server
docker build -t mcp/iva-360 . # Docker image
npm publish # Publish to npm (auto clean + build)Project Structure
mcp_iva_mcu/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Environment configuration
│ ├── api-client.ts # HTTP client with auth
│ ├── error.ts # Error handling
│ ├── types.ts # Shared types
│ └── tools/
│ ├── framework.ts # Data-driven tool framework
│ ├── params.ts # Reusable param schemas
│ ├── index.ts # Tool registration (28 tools)
│ └── clients/ # 28 Clients API tools
├── specs/ # OpenAPI specifications
├── i18n/ # Translations (README.ru.md)
├── Dockerfile # Multi-stage Docker build
├── LICENSE
├── package.json
└── tsconfig.jsonLicense
Author
Penzin Konstantin — GitHub · penzin85@gmail.com
Available Tools
28 toolsiva_chatB
IVA chat management: create group chat, get/search/update/delete chats, forward messages, clear history, manage notifications, get P2P chat, get muted chats. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name | |
| size | No | Page size | |
| No | Email address | ||
| limit | No | Maximum number of results | |
| phone | No | Phone number in E164 format or SIP/H323/RTSP address | |
| query | No | Search query string | |
| action | Yes | Operation to perform: - "create_group_chat": Create a group chat. Use when user says 'создай чат', 'create group chat'. Required: participants array. - "get": Get chat details by ID - "delete": Delete a chat - "update": Update chat properties (name, avatar, etc.) - "search": Search chats by query. Use when user says 'найди чат', 'search chats'. - "get_p2p": Get or create a P2P (direct/private) chat with a specific user. Use this for sending direct messages to a person — NOT create_group_chat. Pass profileId of the recipient. Use when user says 'напиши в личку', 'send direct message', 'найди личный чат'. At least one of: profileId, contactId, email, phone, name. - "get_all": Get all chats (paginated by date). Chats without names will show participant names as the title. - "forward_messages": Forward messages to another chat. Required: forwardData with messageIds and targetChatRoomIds. - "clear_history": Clear chat history - "allow_notifications": Enable notifications for a chat - "forbid_notifications": Disable notifications for a chat - "get_muted": Get list of muted chat IDs - "set_p2p_notifications": Set P2P chat notification settings | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| contactId | No | Contact UUID | |
| olderThan | No | Get chats older than this timestamp (ms) | |
| profileId | No | Profile (user) UUID | |
| chatRoomId | No | Chat room UUID | |
| chatUpdate | No | Chat room properties to update | |
| messageIds | No | Array of message UUIDs | |
| forwardData | No | Forward messages data {messageIds, targetChatRoomIds} | |
| participants | No | Array of participant objects | |
| searchCriteria | No | Search criteria | |
| notificationData | No | P2P notification settings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It names potentially destructive operations such as 'delete chats' and 'clear history' but never explains side effects, reversibility, confirmation requirements, or permission expectations. The version string 'Clients API v2.28.12' adds context but no behavioral clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence that efficiently summarizes the tool's scope and ends with a useful version tag. It has no fluff, though the middle is a list-like inventory of operations rather than a more structured overview. It earns high marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the very rich input schema—21 parameters, a required action enum, and per-action usage descriptions inside the schema—the high-level description works as an adequate overview. However, there is no output schema and no annotations, leaving return shapes and side effects unspecified, so the description alone would not be fully sufficient. The schema compensates enough to raise this above a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the input schema. The description itself adds no parameter-level meaning; it only restates operation categories. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a resource ("IVA chat management") and enumerates concrete operations: create group chat, get/search/update/delete chats, forward messages, clear history, manage notifications, get P2P chat, get muted chats. This is clear and non-tautological, but it does not explicitly differentiate from siblings like iva_chat_messages or iva_chat_participants, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prose gives no guidance on when to choose this tool over its chat-focused siblings, nor does it state any exclusions. The 'use when' hints live only inside the action enum in the input schema, which is structured data rather than description content. An agent selecting between iva_chat and iva_chat_messages gets no tool-level direction from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_chat_callC
IVA chat calls: join/leave/hold calls, start/stop recording, start/stop screen sharing, transfer calls, DTMF, media state, start outgoing call, cancel outgoing call. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "get": Get the current state of a chat call (participants, media, status). Получить состояние звонка в чате. - "join": Join a chat call (audio/video). Присоединиться к звонку в чате. Войти в звонок. - "join_v2": Join a chat call (v2 endpoint with extended options). Присоединиться к звонку (v2). - "start": Start a new chat call (audio/video) in the chat room. Начать звонок в чате. - "leave": Leave the current chat call. Покинуть звонок. Выйти из звонка. - "hold": Put the chat call on hold. Поставить звонок на удержание. - "start_recording": Start recording the chat call. Начать запись звонка. - "stop_recording": Stop recording the chat call. Остановить запись звонка. - "start_screenshare": Start screen sharing inside a chat call. Начать демонстрацию экрана в звонке. - "stop_screenshare": Stop screen sharing inside a chat call. Остановить демонстрацию экрана в звонке. - "set_media_state": Set media state for the chat call (mute audio/video, camera on/off). Установить состояние медиа. - "send_dtmf": Send a DTMF tone (digit press) during the call. Отправить DTMF-сигнал. - "start_outgoing_call": Start an outgoing call from a participant in the chat. - "cancel_outgoing_call": Cancel an outgoing call that has not yet been answered. Отменить исходящий вызов. - "transfer_to_call": Transfer the current chat call to another chat call. Перевести звонок на другой звонок. - "transfer_to_user": Transfer the current chat call to another user. Перевести звонок на другого пользователя. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| callData | No | Start call data | |
| dtmfData | No | DTMF data | |
| joinData | No | Join call data (media constraints, ICE servers) | |
| profileId | No | Profile (user) UUID | |
| chatRoomId | No | Chat room UUID | |
| mediaState | No | Media state (AUDIO/VIDEO, e.g. {"audio":"RECVONLY","video":"DISABLED"}) | |
| transferData | No | Transfer data (target chatRoomId or profile) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the tool description carries the full burden of disclosing side effects, but it does not mention that recording, transfer, leave, or outgoing-call actions change call state or may be irreversible. The only destructive-action hint appears in the confirm parameter description, not in the tool description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact, front-loaded sentence that communicates the full operation range plus a version tag. It is efficient and free of filler, though the dense semicolon list reads more like a catalog than a narrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 16 actions, 9 parameters, nested objects, and no output schema, the high-level description is thin, and the schema does not specify which params are required per action. However, the detailed action enum and parameter descriptions cover much of the operational semantics, so the definition is minimally adequate with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level information, but schema description coverage is 100% and the action enum is richly explained. Nested-object descriptions such as callData: 'Start call data' are thin, yet the schema meets the high-coverage baseline, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (IVA chat calls) and enumerates the concrete operations: join/leave/hold, recording, screen sharing, transfer, DTMF, media state, and outgoing calls. This is specific enough to distinguish from sibling tools but it is a catalog rather than a single verb-purpose statement, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no contrast with alternatives such as iva_chat or iva_conference. The description simply lists operations, leaving the agent to infer when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_chat_messagesC
IVA chat messages: send/edit/delete/star messages, search attachments, get messages/changes/starred, typing notification, read receipt. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Page size | |
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "send": Send a text message to a chat. Use when user says 'отправь сообщение', 'send message'. Required: chatRoomId, messageData with text. - "send_audio": Send an audio message to a chat - "edit": Edit an existing message - "delete": Delete a single message - "delete_multiple": Delete multiple messages at once. Required: chatRoomId, messageIds array. - "get": Get messages from a chat (paginated) - "get_changes": Get message changes since a timestamp - "get_starred": Get starred/favorited messages - "search_attachments": Search for attachments in a chat - "remove_attachment": Remove an attachment from a message - "star": Star/favorite messages. Required: chatRoomId, messageIds array. - "unstar": Remove star from messages - "typing": Send typing notification - "notify_read": Mark messages as read | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| orderAsc | No | Order ascending | |
| readData | No | Read receipt data | |
| audioData | No | Audio message data | |
| messageId | No | Message UUID | |
| chatRoomId | No | Chat room UUID | |
| messageIds | No | Array of message UUIDs | |
| typingData | No | Typing notification data | |
| messageData | No | Message data. Use {"message": "text here"} for text messages. Field is 'message' not 'text'. | |
| messageEdit | No | Message edit content | |
| onlyChanged | No | Only changed messages | |
| attachmentId | No | Resource UUID | |
| textContains | No | Filter messages containing text | |
| searchCriteria | No | Attachment search criteria |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure alone. It merely lists operations and does not mention that several actions (delete, delete_multiple, remove_attachment) are destructive, nor does it describe authentication requirements, rate limits, pagination behavior, or response shape. The version string 'Clients API v2.28.12' adds little behavioral insight. The enumeration does imply mutation, but lacks the necessary consequences and caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact sentence and a short version suffix, efficiently summarizing the tool's scope without unnecessary prose. The list of operations is front-loaded before the API version. It could be structured slightly better (for example grouping read vs write vs destructive actions), but it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a complex 20-parameter polymorphic tool with no output schema and no annotations, the description is only an overview. The rich schema compensates for parameter documentation, but the description does not explain that the tool is an action dispatcher, which actions are destructive and require confirmation, or what kind of response to expect. It is adequate as a high-level entry point but not fully sufficient on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents each parameter meaning. The tool description adds no extra parameter semantics beyond the schema. Per calibration baseline, with full schema coverage a score of 3 is appropriate: the description is not harmful but does not compensate for anything missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('IVA chat messages') and lists the main operations: send/edit/delete/star messages, search attachments, get messages/changes/starred, typing notification, read receipt. It is not merely a tautology and gives an agent a useful overview. It does not explicitly contrast with siblings like iva_chat, but the focus on messages is reasonably distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prose description gives no guidance on when to choose this tool over alternatives such as iva_chat or iva_conference_chat. Some per-action usage hints (e.g., use 'send' when the user says 'отправь сообщение') exist inside the action enum, but those are structured schema content rather than the tool description. Without explicit when-to-use or when-not-to-use guidance, the agent is left to infer routing from the operation list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_chat_participantsA
IVA chat participants: add and remove participants, update participant settings. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "add": Add participants to a chat room. Добавить участников в чат. Пригласить в чат. - "remove": Remove participants from a chat room. Удалить участников из чата. Исключить из чата. - "update": Update participant settings in a chat room (e.g. role, permissions, mute). Обновить настройки участника чата. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| profileId | No | Profile (user) UUID | |
| chatRoomId | No | Chat room UUID | |
| participants | No | Array of participant objects | |
| participantIds | No | Array of participant UUIDs | |
| participantUpdate | No | Participant settings to update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It only says the operations exist ('add and remove participants, update participant settings') but does not disclose that removals may be destructive, that confirmation may be required, or any side effects or permissions. This is a meaningful gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is concise and front-loaded with the action and resource. The trailing 'Clients API v2.28.12' adds marginal value and does not actively hurt, but it is not fully load-bearing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 7-parameter tool with nested objects, no annotations, and no output schema, yet the description is only one short sentence. The schema covers parameter meanings, but the description does not explain operation-to-parameter relationships, confirmation requirements, or expected behavioral outcomes, leaving the agent to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters and the action enum. The description adds no parameter-level meaning beyond restating the high-level operations, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (IVA chat participants) and a concrete set of operations: add, remove, and update participant settings. This clearly distinguishes it from sibling tools like iva_conference_participants by scoping it to chat rooms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'IVA chat participants' provides clear context that this tool is for chat-room participant management, which helps an agent choose it over conference-participant tools. However, it does not explicitly state when not to use it or name alternatives, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conferenceC
IVA conference management: create/get/update/delete conferences, calculate session schedule, quick start, create rooms, get participants, respond to invitations, get free resources. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "create": Create a new conference/meeting/event. Required: conferenceData with name and startDate (UNIX ms). Use this when user says 'заброни встречу', 'создай конференцию', 'schedule a meeting', 'book an event'. - "get": Get conference details by ID - "delete": Delete a conference by ID - "update": Update conference properties - "calculate_sessions_schedule": Calculate session schedule for recurring conferences - "get_draft": Get draft conference based on existing one - "get_free_resources": Get free resources available for a conference - "get_participant": Get a specific participant of a conference - "get_participants": List all participants of a conference - "respond_on_invitation": Respond to a conference invitation (accept/decline) - "start_now": Start a conference immediately (quick start without scheduling) - "create_room": Create a conference room (persistent meeting space) | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| roomData | No | Room creation data | |
| conferenceId | No | Conference UUID | |
| scheduleData | No | Schedule calculation data | |
| startNowData | No | Quick start conference data | |
| participantId | No | Participant UUID | |
| conferenceData | No | Conference creation/update data. Required fields: name (string), startDate (integer, UNIX ms). Optional: duration (ms), description, settings object with conferenceType, participants array. | |
| invitationResponse | No | Invitation response data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden of behavioral disclosure. It lists operations but does not mention destructive-action confirmation behavior (despite a confirm parameter), side effects, permission requirements, or any consequences of the mutating actions. The tool is heavily mutative (create/update/delete/respond), yet the description gives no behavioral caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One efficient, front-loaded sentence that summarizes scope before listing operations. No filler words and the API version tag is useful context. Slight redundancy with the action enum, but as a summary it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool-12 distinct actions, 11 parameters, nested objects, no output schema, and no annotations-and the description is a single summary line. It does not explain action-parameter coupling, return behavior (relevant since there is no output schema), or the confirm/IVA_CONFIRM_DESTRUCTIVE flow for destructive actions. The rich action-enum descriptions compensate partially, but the description itself leaves major navigation gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only a high-level mapping of operations to the action enum, but the schema already documents each parameter in detail (including required conferenceData fields and UNIX ms format). The description does not go beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('IVA conference management') and enumerates the operations it covers: create/get/update/delete conferences, schedule calculation, quick start, room creation, participants, invitations, free resources. This distinguishes it from non-conference siblings like iva_documents or iva_chat. However, it does not differentiate from specialized conference siblings (iva_conference_participants, iva_conference_session, iva_conference_media), leaving boundary ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use or when-not-to-use guidance and names no alternatives. The detailed per-action usage examples ('Use this when user says...') live in the action enum schema, not in the description, so the description field itself offers no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_chatC
IVA conference chat messages: send/edit/remove/moderate messages, get messages/participant-targets, export to txt, typing notification, remove all messages. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Page size | |
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "send": Отправить сообщение в чат конференции. / Send a chat message in the conference. - "edit": Редактировать сообщение чата. / Edit a chat message. - "remove": Удалить сообщения чата. / Remove chat messages. - "remove_all": Удалить все сообщения чата. / Remove all chat messages. - "remove_all_for_participant": Удалить все сообщения участника. / Remove all messages of a participant. - "get": Получить сообщения чата конференции. / Get conference chat messages. - "get_participant_targets": Получить целевых участников чата. / Get chat participant targets. - "export_txt": Экспортировать чат в TXT. / Export chat to TXT. - "moderate": Модерировать сообщение чата. / Moderate a chat message. - "typing": Уведомить о наборе текста. / Notify about typing. | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| orderAsc | No | Order ascending | |
| messageId | No | Message UUID | |
| removeData | No | Remove data (messageIds) | |
| typingData | No | Typing notification data | |
| messageData | No | Message data to send | |
| messageEdit | No | Message edit content | |
| moderateData | No | Moderate data | |
| textContains | No | Filter messages containing text | |
| participantId | No | Participant UUID | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden of behavioral disclosure. It lists destructive operations like remove, remove_all, and moderate, but does not disclose side effects, confirmation requirements, whether changes are reversible, or what the returned data looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the resource and lists operations efficiently. The trailing 'Clients API v2.28.12' is minor noise, but overall the structure is concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool with 17 parameters, 10 actions, nested objects, no output schema, and no annotations. The description does not explain which parameters apply to which action, how pagination works, what export_txt returns, or how destructive actions are confirmed. This leaves significant gaps for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description itself adds no parameter-level meaning beyond repeating the operation list, but the action enum in the schema provides detailed bilingual explanations for each operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'IVA conference chat messages' and enumerates the operations it supports: send, edit, remove, moderate, get, export, typing, and remove-all. It is clear and specific, though it does not explicitly differentiate itself from sibling tools like iva_chat_messages or iva_chat.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. It does not mention prerequisites such as requiring a conferenceSessionId, nor does it explain which sibling tools should be used instead for non-conference chat scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_documentsC
IVA conference documents: create/delete/update/move/list documents and directories, document/video demonstration control (start/stop/pause/play/position), get pages/path/can-upload, public documents. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "get_public": Получить публичные документы конференции. / Get public conference documents. - "create_directory": Создать директорию документов. / Create a document directory. - "create_document": Создать документ из ресурса. / Create a document from a resource. - "delete": Удалить документ. / Delete a document. - "update": Обновить документ. / Update a document. - "can_upload": Проверить возможность загрузки документа. / Check if document upload is allowed. - "get_pages": Получить страницы документа. / Get document pages. - "get_path": Получить путь к директории. / Get directory path. - "list": Получить список документов в директории. / List documents in a directory. - "move": Переместить документ в другую директорию. / Move a document to another directory. - "start_document_demo": Начать демонстрацию документа. / Start document demonstration. - "stop_document_demo": Остановить демонстрацию документа. / Stop document demonstration. - "start_video_demo": Начать демонстрацию видео-документа. / Start video document demonstration. - "stop_video_demo": Остановить демонстрацию видео-документа. / Stop video document demonstration. - "pause_video": Поставить видео на паузу. / Pause the video. - "play_video": Воспроизвести видео. / Play the video. - "set_video_position": Установить позицию видео. / Set video position. - "update_cursor_state": Обновить состояние курсора на документе. / Update document cursor state. - "update_demo_state": Обновить состояние демонстрации документа. / Update document demonstration state. | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| cursorData | No | Cursor state data | |
| documentId | No | Document UUID | |
| resourceId | No | Resource UUID | |
| directoryId | No | Directory UUID | |
| positionData | No | Video position data | |
| demoStateData | No | Demonstration state data | |
| documentUpdate | No | Document update data | |
| sourceDocumentId | No | Source document UUID | |
| conferenceSessionId | No | Conference session UUID | |
| destinationDirectoryId | No | Destination directory UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It names destructive and state-changing operations like delete, move, stop, and update, but does not disclose side effects, confirmation requirements, permission needs, or any constraints. Similarly, the demo/video control operations imply session state changes but no behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single terse sentence that front-loads the domain name, but it is mostly a comma-separated rehash of categories already present in the action enum. The trailing 'Clients API v2.28.12' adds no operational value. Efficient in length, but not well structured for an agent to extract actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a highly complex dispatcher tool with 14 parameters, 19 action enum values, nested objects, and no output schema, yet the description provides only a high-level summary. It does not map actions to required parameters, mention return behavior, or clarify prerequisites. An agent would need to rely almost entirely on the schema to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter schema already documents every parameter individually. The description adds no additional meaning beyond the schema; it only lists operation categories. Baseline 3 is appropriate because the schema does the heavy lifting and the description does not compensate with extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'IVA conference documents' and enumerates the main families of operations: CRUD/list/move, demo control, and page/path/upload queries. It is specific enough to distinguish the tool from generic iva_documents by conference scope, but it is a broad capability list rather than a single focused verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like iva_documents, iva_conference_media, or iva_file_resources. It does not state prerequisites, exclusions, or selection conditions, so an agent must infer applicability solely from the resource name and operation list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_inquiryC
IVA conference inquiries (polls): create/find/get/delete/update inquiries, start/stop individual or all inquiries, answer/edit answers, find responders, get aggregated answers, export. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "create": Создать опрос в конференции. / Create a poll/inquiry in the conference. - "find": Найти опросы конференции. / Find conference inquiries. - "get": Получить опрос по ID. / Get inquiry by ID. - "delete": Удалить опрос. / Delete an inquiry. - "update": Обновить опрос. / Update an inquiry. - "start": Запустить опрос. / Start an inquiry. - "stop": Остановить опрос. / Stop an inquiry. - "start_all": Запустить все опросы. / Start all inquiries. - "stop_all": Остановить все опросы. / Stop all inquiries. - "answer": Ответить на опрос. / Answer an inquiry. - "edit_answer": Редактировать ответ на опрос. / Edit an inquiry answer. - "get_answers": Получить ответы на опрос. / Get inquiry answers. - "find_responders": Найти респондентов опроса. / Find inquiry responders. - "get_aggregated_answers": Получить агрегированные ответы. / Get aggregated answers. - "export": Экспортировать ответы на опрос. / Export inquiry answers. - "export_all": Экспортировать все ответы на опросы. / Export all inquiry answers. | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| answerId | No | Answer UUID | |
| inquiryId | No | Inquiry UUID | |
| answerData | No | Answer data | |
| inquiryData | No | Inquiry creation/update data | |
| answerUpdate | No | Answer edit data | |
| respondersData | No | Find responders criteria | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It names many mutating/destructive actions (delete, stop, update, answer) but does not disclose side effects, confirmation requirements, permissions, or operation-specific behavior; the confirm behavior is only mentioned in the schema, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact single sentence that front-loads the resource and lists operations efficiently. The trailing 'Clients API v2.28.12' is marginally useful version context but not central to invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity facade with 11 parameters, nested objects, many enum actions, and no output schema; the description does not explain how the action parameter dispatches behavior, what each operation returns, or how conferenceSessionId relates to it. An agent would need the schema and further inference to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all 11 parameters, including action enums and UUID meanings. The tool description adds no parameter-level detail beyond that, which matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('IVA conference inquiries (polls)') and enumerates precise operations (create, find, get, delete, update, start/stop, answers, export), so an agent can see what the tool does. It does not explicitly contrast with closely related siblings such as iva_conference_questionnaire, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to call this tool instead of a sibling or which action to choose for a given intent. It merely lists capabilities; no when/when-not or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_lobbyB
IVA conference lobby: join/leave lobby, get lobby participants, approve/reject individual or all participant requests. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "join": Войти в лобби конференции. / Join the conference lobby. - "leave": Покинуть лобби конференции. / Leave the conference lobby. - "get_participants": Получить участников лобби. / Get lobby participants. - "approve": Одобрить вход участника в конференцию. / Approve a participant's lobby request. - "approve_all": Одобрить все запросы участников. / Approve all lobby requests. - "reject": Отклонить вход участника. / Reject a participant's lobby request. - "reject_all": Отклонить все запросы участников. / Reject all lobby requests. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| profileId | No | Profile (user) UUID | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It lists actions but does not disclose the consequences of approving/rejecting participants, whether actions are reversible, permission requirements, or when the confirm parameter might be required for destructive actions. This is a significant gap for a mutating multi-action tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the resource and then lists the operations clearly. The trailing 'Clients API v2.28.12' is low-value, but overall there is little wasted text and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers parameter meanings, but not per-action parameter dependencies such as which actions require profileId versus conferenceSessionId, nor expected return values or side effects. With no output schema and no annotations, this brief description is insufficient for correctly invoking all seven actions in every situation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema. The description stays appropriately high-level and adds no parameter-specific meaning, matching the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource ('IVA conference lobby') and enumerates the specific operations: join/leave, get participants, and approve/reject individual or all requests. It is more specific than a tautology and helps distinguish this tool from the nearby conference/participant siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a caller needs to manage a conference lobby. However, it gives no explicit guidance about alternatives such as iva_conference_participants or iva_conference_session, nor does it state when to prefer this tool over those siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_mediaC
IVA conference media: get media/room info, report media state, request/revoke attention, report equipment, set layout/media-profile/broadcast-language/original-volume/screen-orientation/translation-direction. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "get_info": Получить информацию о медиа конференции. / Get conference media info. - "get_room_info": Получить информацию о комнате. / Get room info. - "report_media_state": Сообщить состояние медиа. / Report media state. - "request_attention": Запросить внимание (поднять руку). / Request attention (raise hand). - "revoke_attention": Отозвать запрос внимания. / Revoke attention request. - "report_equipment": Сообщить информацию об оборудовании. / Report equipment info. - "set_layout": Установить раскладку видео. / Set video layout. - "set_media_profile": Установить медиа-профиль. / Set media profile. - "set_broadcast_language": Установить язык вещания. / Set broadcast language. - "set_original_volume": Установить громкость оригинала. / Set original volume. - "set_screen_orientation": Установить ориентацию экрана. / Set screen orientation. - "set_translation_direction": Установить направление перевода. / Set translation direction. | |
| layout | No | Layout name or settings | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| mediaProfile | No | Media profile quality setting | |
| attentionData | No | Attention request data | |
| equipmentData | No | Equipment data | |
| mediaStateData | No | Media state data | |
| originalVolume | No | Original language volume level | |
| broadcastLanguage | No | Broadcast language | |
| screenOrientation | No | Screen orientation | |
| conferenceSessionId | No | Conference session UUID | |
| translationDirection | No | Translation direction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only lists operations without explaining side effects, permissions, destructive actions, confirmation requirements, or response behavior. The mention of 'Clients API v2.28.12' is a version note, not behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that packs the full operation list with minimal waste. It uses a readable grouped structure (get/report/request/revoke/set). It could be slightly better structured as bullets, but for a 12-action tool it remains efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity — 12 parameters, nested objects, no annotations, no output schema — the description is too thin. It does not map parameters to actions, explain which operations are destructive or require confirmation, or describe expected outcomes. An agent could guess from parameter names, but the description leaves too much unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action parameter itself has detailed bilingual per-operation descriptions. The tool description adds no parameter semantics beyond what the schema already provides, so the baseline 3 applies. The nested 'Data' objects are vaguely described, but this is a schema limitation, not a description gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly enumerates the tool's operations: get media/room info, report state, request/revoke attention, report equipment, and multiple settings. It identifies the resource domain ('IVA conference media') and distinguishes it from sibling tools by scope. However, because it is a multi-action tool, it lacks a single specific verb, so it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many conference-related siblings (iva_conference, iva_conference_session, iva_conference_presence_control, etc.). The domain is implied by the name and the operation list, but no exclusions or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_participantsB
IVA conference participants: add/remove/find/get/disconnect participants, mute/unmute media, hand up/down, DTMF, reactions, audio callback, outgoing calls, layout settings, update settings, return to lobby. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "get_public": Get public participant list (no auth required) - "add": Add participants to a conference session. Required: conferenceSessionId, participants array. - "find": Find participants in a session - "get": Get a specific participant by ID - "get_by_profile": Get participant by profile ID - "get_layout_settings": Get participant's layout settings - "update": Update participant settings - "remove": Remove participants from session. Required: conferenceSessionId, participantIds array. - "disconnect": Disconnect participants from session - "mute_media_all": Mute media for all participants - "mute_media": Mute a specific participant's media. Use when user says 'выключи микрофон', 'mute participant'. - "unmute_media_all": Unmute media for all participants - "unmute_media": Unmute a specific participant's media - "hand_up": Raise hand. Use when user says 'поднять руку', 'raise hand'. - "hand_down": Lower hand - "set_reaction": Set a reaction (LIKE, etc.). Use when user says 'поставь реакцию', 'set reaction'. - "send_dtmf": Send DTMF tones to a participant - "start_outgoing_call": Start an outgoing call to a participant - "start_outgoing_call_to_phone": Start an outgoing call to a phone number - "cancel_outgoing_call": Cancel an outgoing call - "start_audio_callback": Start audio callback for a participant - "stop_audio_callback": Stop audio callback - "return_to_lobby": Return a participant to the lobby | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| callData | No | Outgoing call data | |
| dtmfData | No | DTMF data | |
| muteData | No | Mute data {mediaType, participantIds} | |
| reaction | No | Reaction type | |
| profileId | No | Profile (user) UUID | |
| callbackData | No | Audio callback data | |
| participants | No | Array of participant objects | |
| participantId | No | Participant UUID | |
| participantIds | No | Array of participant UUIDs | |
| participantUpdate | No | Participant settings update | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists many mutating actions (remove, disconect, cancel, stop) but does not state side effects, confirmation requirements, permissions, or response behavior. The names imply operations, but consequences of destructive actions are not disclosed in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that lists the main operation groups and ends with a useful API version context. It is concise, but the long comma-separared list reads more like an enumeration than an explanation, so it does not quite reach the top tier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (23 actions, 15 parameters, no annotations, no output schema), a one-line list of operations is not fully complete on its own. The rich schema action descriptions compensate substantially, but missing behavioral context around destructive operations, authentication, and return values leaves an agent under-informed for correct invocation in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and parameter descriptions already document each field and action-specific requirements (e.g., add requires conferenceSessionId and participants). The description adds no parameter-level meaning, which is acceptable at the baseline given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('IVA conference participants') and enumerates the operation categories (add/remove/find/get/disconnect, mute/unmute, hand up/down, DTMF, reactions, etc.), so an agent can tell what the tool manages. It does not explicitly name sibling tools to distinguish against, but 'conference participants' is a reasonably specific resource scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies participant-level conference operations belong in this tool, and the schema's action enum adds triggered-use hints such as 'Use when user says выключи микрофон' and 'raise hand'. However, the tool-level description gives no explicit when-to-use vs alternatives guidance, no prerequisites, and no exclusions for neighboring conference tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_presence_controlC
IVA conference presence control: start/stop presence control, confirm attendance. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "start": Запустить контроль присутствия в конференции. / Start presence control in the conference. - "stop": Остановить контроль присутствия. / Stop presence control. - "confirm": Подтвердить присутствие участника. / Confirm participant attendance. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| startData | No | Presence control start data | |
| confirmData | No | Confirmation data | |
| presenceControlId | No | Presence control UUID | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the high-level actions but does not explain side effects, destructiveness of stop, permission requirements, state dependencies, or what happens to a conference when presence control starts or stops. This is minimal for a mutating control tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It quickly conveys the tool's purpose and main actions. The version note is minor but not distracting. It could be slightly more informative without losing conciseness, but it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has six parameters, two nested objects, no output schema, and no annotations, yet the description offers no guidance on how the parameters relate to the actions, what startData or confirmData should contain, or which IDs are needed for each operation. An agent would struggle to construct a correct call beyond selecting the action enum value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds no extra meaning about startData, confirmData, presenceControlId, or conferenceSessionId beyond what the schema provides. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's domain ('conference presence control') and the three core operations: start, stop, and confirm attendance. It uses a specific resource and action set, which distinguishes it from sibling conference tools, though it does not explicitly contrast with any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternative conference tools, nor does it mention prerequisites, whether a conference session must already exist, or when start versus stop versus confirm should be invoked. No alternatives or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_questionnaireB
IVA conference questionnaire: get questionnaire, save questionnaire answers. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "get": Get the questionnaire for a conference session (questions/structure). Получить опрос конференции. - "save_answers": Save the participant's answers to the conference questionnaire. Сохранить ответы на опрос. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| answersData | No | Questionnaire answers data | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only indicates that 'get' is read-like and 'save_answers' is write-like, but does not explain side effects of saving, whether answers are overwritten, permission requirements, or the need for confirmation. 'Clients API v2.28.12' adds version context but no behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the core operations. The 'Clients API v2.28.12' sentence adds limited value, but the overall length is appropriate and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a mutating action, multiple parameters, nested objects, no annotations, and no output schema, the description is too thin. It omits behavioral effects, return information, and usage prerequisites, leaving the agent to rely entirely on the schema for operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters, including the action enum, conferenceSessionId UUID, answersData, and confirm. The description adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states concrete operations ('get questionnaire, save questionnaire answers') on a specific resource, making the tool's purpose clear at a glance. It does not explicitly differentiate from sibling tools like iva_conference_session or iva_conference_inquiry, but the resource name 'questionnaire' is specific enough to avoid major ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than explicit: an agent can infer that this tool is for questionnaire read/write operations. However, the description gives no guidance on when to prefer this tool over related conference siblings, and it does not mention prerequisites such as needing a conferenceSessionId or when confirm is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_self_registrationB
IVA conference self-registration: register, check email, resend email. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "register": Самостоятельная регистрация на конференцию. / Self-register for the conference. - "check_email": Проверить email при самостоятельной регистрации. / Check email for self-registration. - "resend_email": Отправить повторно email подтверждения регистрации. / Resend self-registration confirmation email. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| emailData | No | Email check/resend data | |
| registrationData | No | Self-registration data | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden, but it only repeats the operation names. It does not mention side effects such as creating a registration or sending emails, nor does it explain prerequisites like a valid conferenceSessionId or the destructive-action confirm flag visible in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, front-loads the domain, and avoids redundancy. The 'Clients API v2.28.12' version note is peripheral rather than essential, but it does not harm clarity. It is concise rather than overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters, two unspecified nested objects, no output schema, and no annotations, so the description needed to explain data shapes and invocation context. It provides no information about payload requirements, expected registration/email flow, or response and error behavior. An agent might select the tool but cannot reliably invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action enum already provides detailed bilingual descriptions, so the baseline applies. The description adds no meaning beyond repeating the enum labels; nested objects such as emailData and registrationData remain unexplained in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the exact resource (IVA conference self-registration) and lists concrete operations—register, check email, resend email—which map directly to the action enum. This clearly separates it from sibling conference tools such as iva_conference_participants or iva_conference_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by enumerating the supported self-service operations, so an agent can infer when to select it. However, it gives no explicit guidance about when to use this tool versus a sibling tool, and no exclusion conditions or alternative routing cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_sessionB
IVA conference session management: get/find/update/delete sessions, join/leave, start/stop, timer control, recording, transcription, subtitling, media publication, invitations, public info. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| query | No | Search query string | |
| state | No | Session state filter for action 'find': NO_STARTED, ACTIVE or STOPPED | |
| action | Yes | Operation to perform: - "get_public_by_id": Get public conference session info by ID (no auth required) - "get_public_by_params": Get public conference session info by parameters - "get_join_info": Get join info for a conference session (public) - "get": Get conference session details by ID - "delete": Delete a conference session - "update": Update conference session properties - "find": Find/list conference sessions. Use when user says 'покажи встречи', 'list meetings', 'найди конференцию'. Optional: nameContains, dateFrom, dateTo, limit, offset, orderAsc, state (NO_STARTED/ACTIVE/STOPPED), conferenceId. Response is enriched with actualDurationMs / actualDuration (computed from actualStartDate/actualEndDate) for finished sessions, so total meeting time can be summed directly. - "find_rooms": Find conference rooms - "find_sessions": Find conference sessions (alternative search). Optional: nameContains, dateFrom, dateTo, limit, orderAsc, conferenceId, states (array of NO_STARTED/ACTIVE/STOPPED). Response is enriched with actualDurationMs / actualDuration for finished sessions. - "get_layout_settings": Get layout settings for a session - "get_free_resources": Get free resources for a session - "get_join_data": Get join data for a session - "get_periodical_by_number": Get periodical session by conference number - "get_periodical_by_recurrence": Get periodical session by recurrence date - "join": Join a conference session. Use when user says 'войди в конференцию', 'join meeting'. - "leave": Leave a conference session - "restore": Restore a conference session - "start": Start a conference session - "stop": Stop a conference session - "start_timer": Start session timer - "stop_timer": Stop session timer - "pause_timer": Pause session timer - "start_recording": Start recording. Use when user says 'начни запись', 'start recording'. - "stop_recording": Stop recording - "start_transcription": Start transcription. Use when user says 'включи транскрипцию', 'start transcription'. - "stop_transcription": Stop transcription - "start_subtitling": Start subtitling - "stop_subtitling": Stop subtitling - "set_media_publication": Set media publication settings - "start_media_publication": Start media publication (stream/broadcast) - "stop_media_publication": Stop media publication - "delete_media_publication": Delete media publication - "reject_incoming_call": Reject an incoming call in session - "respond_on_invitation": Respond to session invitation - "confirm_record_access": Confirm access to stopped event recording | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| states | No | Array of session state filters for action 'find_sessions': NO_STARTED, ACTIVE, STOPPED | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| joinData | No | Join conference session data | |
| orderAsc | No | Order ascending | |
| conferenceId | No | Conference UUID | |
| nameContains | No | Name substring filter | |
| sessionNumber | No | Session number | |
| sessionUpdate | No | Conference session update data | |
| recurrenceDate | No | Recurrence date (UNIX time in ms) | |
| conferenceNumber | No | Conference number | |
| invitationResponse | No | Invitation response | |
| conferenceSessionId | No | Conference session UUID | |
| mediaPublicationData | No | Media publication data | |
| conferenceSessionNumber | No | Conference session number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of disclosing behavioral traits, but it only lists operation categories. It does not mention destructive side effects, the confirm requirement for destructive operations, authentication prerequisites, or reversibility. The schema's 'confirm' parameter hints at confirmation behavior, but the description itself gives no behavioral transparency beyond stating the tool is for session management.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the tool's scope and avoids fluff. The trailing 'Clients API v2.28.12' provides useful version context. It is tight, though the long comma-separated category list is somewhat dense and could be structured more cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 35 actions, 21 parameters, no annotations, and no output schema, so the description is far from sufficient as a standalone context source. It omits return-value behavior, pagination details, authentication scope beyond 'public info', and destructive-action safeguards. The action enum descriptions in the schema help, but the description itself leaves major contextual gaps for an agent deciding how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 21 parameters, including the action enum with detailed per-action semantics. The description adds no parameter-level meaning beyond what the schema provides. It also does not need to compensate because coverage is high, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states specific verbs and a resource: 'get/find/update/delete sessions, join/leave, start/stop, timer control, recording, transcription, subtitling, media publication, invitations, public info.' This is clear about what the tool covers and distinguishes it as a session-management tool. It does not explicitly contrast with sibling tools like iva_conference_session_groups or iva_conference_media, but the operation list is specific enough to orient an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is largely implicit: the description lists categories of operations but does not say when to prefer this tool over alternatives such as iva_conference or iva_conference_media. However, the action enum descriptions inside the schema include explicit triggers like "Use when user says 'покажи встречи'" and "Use when user says 'войди в конференцию'", which provide usable selection guidance for individual actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_session_groupsC
IVA conference session groups: create/activate/deactivate/remove groups, extend duration, move participants, get groups. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "activate": Активировать группы сессии. / Activate session groups. - "create": Создать группы в сессии (например, сессионные залы). / Create session groups (e.g., breakout rooms). - "deactivate": Деактивировать группы сессии. / Deactivate session groups. - "extend_duration": Продлить длительность группы сессии. / Extend session group duration. - "get": Получить группы сессии. / Get session groups. - "move_participants": Переместить участников между группами. / Move participants between groups. - "remove": Удалить группы сессии. / Remove session groups. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| moveData | No | Move participants data | |
| extendData | No | Extend duration data | |
| groupsData | No | Group creation data | |
| removeData | No | Remove groups data (groupIds) | |
| activateData | No | Group activation data (groupIds) | |
| deactivateData | No | Group deactivation data (groupIds) | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It names mutating operations such as remove and deactivate, but does not explain destructive consequences, required permissions, confirmation behavior, or session-wide effects. The confirm parameter exists in the schema, yet the description never mentions when confirmation is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the resource name and lists the main operations. It is appropriately sized, though the version suffix 'Clients API v2.28.12' adds limited value and the dense listing could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool with nine parameters, seven actions, nested objects, and no output schema, yet the description provides only a one-line overview. It misses operation-specific expectations, return behavior, and practical effects of destructive actions, making it incomplete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action enum values already describe each operation in detail. The tool description repeats operation names but adds no parameter-level meaning beyond the schema, so it meets the baseline without compensating further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (IVA conference session groups) and enumerates the supported operations: create, activate, deactivate, remove, extend duration, move participants, and get. It clearly states what the tool does, though it does not explicitly differentiate it from related sibling tools such as iva_conference_participants or iva_conference_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many conference-related sibling tools, nor does it describe prerequisites or contexts for each action. The operation list implies group-management usage, but the agent is left to infer appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_statisticsC
IVA conference statistics: get session/participant statistics, participants activity, sessions statistics aggregation, export to CSV, user participation statistics. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "get_session_stats": Получить статистику сессии конференции. / Get conference session statistics. - "get_session_participants_stats": Получить статистику участников сессии. / Get session participants statistics. - "get_participant_stats": Получить статистику участника. / Get participant statistics. - "get_participants_activity": Получить активность участников сессии. / Get session participants activity. - "get_sessions_stats": Получить статистику нескольких сессий. / Get multiple sessions statistics. - "get_sessions_stats_aggregation": Получить агрегированную статистику сессий. / Get sessions statistics aggregation. - "get_sessions_participants_activity": Получить активность участников нескольких сессий. / Get sessions participants activity. - "get_user_participation": Получить статистику участия пользователя. / Get user participation statistics. - "get_user_participation_aggregation": Получить агрегированную статистику участия пользователя. / Get user participation aggregation. - "export_participants_stats": Экспортировать статистику участников сессии. / Export session participants statistics. - "export_sessions_stats": Экспортировать статистику сессий. / Export sessions statistics. - "export_user_participation": Экспортировать статистику участия пользователя. / Export user participation. - "get_session_stats_v2": Получить статистику сессии (v2). / Get session statistics (v2). - "get_session_participants_stats_v2": Получить статистику участников сессии (v2). / Get session participants statistics (v2). - "get_participant_stats_v2": Получить статистику участника (v2). / Get participant statistics (v2). - "get_participants_activity_v2": Получить активность участников (v2). / Get participants activity (v2). - "export_participants_stats_v2": Экспортировать статистику участников (v2). / Export participants statistics (v2). | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| sortBy | No | Sort field name | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| participantId | No | Participant UUID | |
| sortDirection | No | Sort direction (asc or desc) | |
| conferenceSessionId | No | Conference session UUID | |
| conferenceSessionStatisticId | No | Conference session statistics UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether operations are read-only, whether exports create files or return data, whether any actions require confirmation, or what side effects occur. The schema reveals a 'confirm' parameter hinting at destructive actions, but the description never addresses this, leaving the agent without critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short and front-loads the tool's purpose. However, it is a single run-on-style list rather than structured guidance, and the final clause 'Clients API v2.28.12' does not earn its place for an agent selecting or invoking the tool. It is concise but not optimally structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex dispatcher with 17 actions and 11 parameters, no annotations, and no output schema. The description does not explain how to select among the many actions, which parameters are required for each action, how date ranges and pagination work, or what the export operations return. The schema's action descriptions help, but the top-level description leaves too much unspecified for such a multifaceted tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3: all parameters already have descriptions, and the action enum has detailed bilingual explanations for each operation. The top-level description adds no parameter-level meaning beyond loosely naming categories like 'export to CSV' and 'sessions statistics aggregation.' This is acceptable because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's domain: conference statistics, including session/participant stats, activity, aggregation, and CSV export. It is recognizable as distinct from sibling tools like iva_conference_session or iva_conference_participants because it explicitly centers on statistics rather than session management or participant management. However, it does not name a single verb+resource, instead summarizing a multi-action dispatcher, and the trailing 'Clients API v2.28.12' adds noise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the many sibling conference tools, nor any mention of alternatives or exclusions. The description implies a statistics-gathering role but does not state conditions like 'use for analytics/reporting' or 'use iva_conference_session for session management.' The detailed per-action guidance lives in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_conference_templatesA
IVA conference templates: list/create/get/delete/update templates, set template as default. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "list": Получить список шаблонов конференций. / List conference templates. - "create": Создать шаблон конференции. / Create a conference template. - "get": Получить шаблон конференции по ID. / Get conference template by ID. - "delete": Удалить шаблон конференции. / Delete a conference template. - "update": Обновить шаблон конференции. / Update a conference template. - "set_as_default": Сделать шаблон конференции шаблоном по умолчанию. / Set template as default. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| templateData | No | Conference template creation/update data | |
| conferenceTemplateId | No | Conference template UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure, but it only restates the operation names already in the schema enum. It does not mention side effects of setting a default, confirmation requirements for deletes, permission needs, or whether changes are reversible. The destructive 'delete' action is visible in the schema, so the description adds no new behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the resource and operation set, making it scannable. The trailing 'Clients API v2.28.12' is low-value but not harmful, and the core content has no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema richly documents parameters and enumerates actions, but the description omits action-to-parameter relationships (e.g., create/update need templateData, get/delete need conferenceTemplateId) and gives no info about return values. Given the tool's complexity and lack of output schema, the description is adequate but leaves some contextual work to the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter details are fully documented in the schema. The description adds no extra meaning about parameters such as templateData or conferenceTemplateId, but it also does not need to repeat them. Baseline 3 is appropriate because structured data already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('IVA conference templates') and enumerates all six operations: list/create/get/delete/update and set as default. This clearly distinguishes the tool from sibling conference tools, which focus on sessions, media, chat, or participants rather than template management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the tool's scope explicit by listing the full set of supported template operations, so an agent can infer that any conference-template management task belongs here. It does not explicitly name alternatives or give exclusionary guidance, but the resource name and action list provide clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_contactsC
IVA contacts management: get/search contacts, changes, presences, invitations, tags, invite, reject, remove, update, create note. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Entity UUID | |
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "get": Получить список контактов. / Get the list of contacts. - "get_changes": Получить изменения контактов. / Get contacts changes. - "get_presences": Получить статусы присутствия контактов. / Get contacts presences. - "get_invitations": Получить входящие приглашения в контакты. / Get incoming contact invitations. - "get_tags": Получить теги контактов. / Get contact tags. - "get_users_presence": Получить статусы присутствия пользователей. / Get users presences. - "invite": Пригласить пользователей в контакты по UUID профилей. / Invite users to contacts by profile UUIDs. - "reject_invitation": Отклонить приглашение в контакты. / Reject a contact invitation. - "remove": Удалить контакт. / Remove a contact. - "update": Обновить данные контакта. / Update contact data. - "remove_contacts": Удалить несколько контактов. / Remove multiple contacts. - "create_note": Создать заметку о контакте. / Create a contact note. | |
| dateTo | No | End date (UNIX time in ms) | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| dateFrom | No | Start date (UNIX time in ms) | |
| noteData | No | Note contact data | |
| contactIds | No | Array of contact UUIDs | |
| profileIds | No | Profile UUIDs to invite | |
| contactData | No | Contact data for update | |
| presenceUserIds | No | Profile IDs to get presences for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does not disclose side effects for destructive actions like remove, reject_invitation, or update, nor does it mention confirmation behavior, permissions, or rate limits. The action names imply mutation, but the description adds no behavioral context beyond what is obvious from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the domain, but it is an unstructured list that partially duplicates the action enum. It also introduces 'search' even though no search action exists in the enum, which is slightly misleading. The trailing API version adds little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity dispatcher tool with 12 parameters, 12 actions, nested objects, and no output schema. The description does not explain which parameters apply to which actions, what the return values look like, or how pagination and date filters work. The schema helps, but the description leaves important contextual gaps for an agent selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action enum has detailed per-action descriptions, so the schema already documents parameters well. The tool description adds no parameter-level meaning, which is acceptable here since the schema covers it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('IVA contacts') and enumerates the main operations (get, changes, presences, invitations, invite, reject, remove, update, create note), so an agent can tell this is a contacts-management dispatcher. It is distinct from sibling tools by domain, though it does not explicitly differentiate itself from related tools like iva_interlocutors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus any sibling or alternative. The description lists operations but does not state selection criteria, prerequisites, or which sibling tools cover related but different domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_devicesC
IVA device management: register and deregister user devices. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "register": Register a user device (phone, softphone, etc.) for SIP/VoIP. Зарегистрировать устройство пользователя. - "deregister": Deregister/unregister a user device. Снять регистрацию устройства. Удалить устройство. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| deviceId | No | Device UUID | |
| profileId | No | Profile (user) UUID | |
| deviceData | No | Device registration data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It identifies register/deregister as the operations but does not state that deregistration is destructive, whether confirmation may be required, or what side effects or prerequisites exist. The confirm parameter is only documented in the schema, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is short and front-loaded with the key purpose. The trailing 'Clients API v2.28.12' is minor extra context, not harmful, but it does not earn its place as strongly as the core sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five parameters, nested deviceData, and no output schema, the description provides only a high-level summary. It does not clarify which parameters apply to register versus deregister, what deviceData should contain, or which operations need confirmation, so an agent could still struggle to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents action, confirm, deviceId, profileId, and deviceData. The description adds no extra meaning beyond the schema, which places it at the baseline of 3 rather than higher.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear resource ('user devices') and specific operations ('register and deregister'), so an agent can identify the tool's core function. It does not explicitly contrast it with sibling tools, but none of the listed siblings obviously overlaps with device registration management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives, nor does it mention prerequisites or conditions for registration versus deregistration. The action enum hints at the two flows, but the description itself provides no decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_documentsC
IVA user documents: convert document, delete single/multiple, list converted pages. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "convert": Convert a document to whiteboard pages (PDF/PPTX -> slides). Конвертировать документ в страницы доски. - "delete": Delete a single document. Удалить документ. - "delete_multiple": Delete multiple documents at once. Удалить несколько документов. - "get_pages": Get the list of converted pages for a document (with pagination). | |
| offset | No | Number of results to skip (pagination offset) | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| documentId | No | Document UUID | |
| documentIds | No | Array of document UUIDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions delete operations, which imply mutation, but does not disclose that deletes are destructive, irreversible, or may require confirmation. There is no mention of authentication, side effects, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states scope and operations without redundancy. The API version is a minor extra but does not hurt clarity or structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no annotations and no output schema, the description is very terse for a multi-action tool with destructive operations. It omits what the tool returns, when confirmation is needed, and how it relates to other document tools. The schema covers parameters, but the description does not provide enough operational context for an agent to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents all six parameters including the action enum values and the confirm flag semantics. The tool description adds only a high-level summary of operations, so it does not meaningfully improve parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear resource ('IVA user documents') and specific operations: convert, delete single/multiple, and list converted pages. This gives an agent enough to identify the tool's basic function, though it does not explicitly distinguish itself from sibling tools like iva_conference_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives, and no exclusions or prerequisites are mentioned. The phrase 'IVA user documents' implies a scope, but the description does not state conditions like 'for user-level documents, not conference documents'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_file_resourcesC
IVA file resources: create resource, download/upload files, get resources info, subscribe to scanning status. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "create": Create a new file resource slot (returns upload URL/info). Создать ресурс для загрузки файла. - "download": Download a file resource (get the file content or download URL). - "upload": Upload file content into a previously created resource. Загрузить файл в ресурс. - "get_info": Get metadata/information about one or more file resources (size, name, status). - "subscribe_scanning": Subscribe to antivirus/scanning status updates for resources. Подписаться на статус сканирования. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| scanData | No | Scanning status subscription data | |
| resourceId | No | Resource UUID | |
| resourceIds | No | Array of resource UUIDs | |
| resourcesInfo | No | Resources info request data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only lists operation names and does not mention side effects, prerequisites, permissions, destructiveness, idempotency, or what happens during scanning subscriptions. The existence of a 'confirm' parameter hints at destructive actions, but the description does not address this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the tool's purpose and enumerates its operations without extraneous detail. The version reference is minor but not distracting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a multi-action tool with six parameters, nested objects, no output schema, and no annotations. The description does not explain the create-then-upload flow, required parameters per action, meaning of the nested objects, or expected return values. The action enum helps but still leaves important invocation context uncovered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameters and the action enum contains detailed per-action descriptions. The tool description adds little beyond the schema, and opaque nested objects like scanData and resourcesInfo remain unexplained, but the high schema coverage justifies the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as handling IVA file resources and enumerates its operations: create, download/upload, get info, and subscribe to scanning status. This is specific enough to distinguish it from the many sibling tools focused on chat, conferences, documents, and profiles, though it does not explicitly contrast an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus related tools such as iva_documents or other resource-oriented siblings. It lists capabilities but provides no conditional context, exclusions, or pointers to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_interlocutorsC
IVA interlocutors: find by contact/ldap/profile/profileIds, find interlocutors, get available types, subscribe to presence. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "find_by_contact": Find an interlocutor (contact) by contact ID. Найти собеседника по ID контакта. - "find_by_ldap_user": Find an interlocutor by LDAP user ID (corporate directory lookup). - "find_by_profile": Find an interlocutor by IVA profile ID. - "find_by_profile_ids": Find multiple interlocutors by a list of profile IDs (batch lookup). - "find": Search for interlocutors using flexible criteria (name, department, etc.). Найти собеседников по критериям поиска. - "get_types": Get the list of available interlocutor types (user/group/room/etc.). - "subscribe_presence": Subscribe to presence/status changes for one or more profiles. Подписаться на присутствие. | |
| userId | No | LDAP user ID | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| contactId | No | Contact UUID | |
| profileId | No | Profile (user) UUID | |
| profileIds | No | Array of profile UUIDs | |
| findCriteria | No | Find criteria for interlocutor search |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists operations but does not explain side effects, whether presence subscriptions persist, how to unsubscribe, permission requirements, or any destructive or stateful behavior associated with the actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the operation list and includes the API version at the end. There is no filler or repetition, though the action list is slightly redundant with the schema's enum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The action enum in the schema provides helpful per-operation details, making the tool somewhat self-explanatory. However, with no output schema, no annotations, and a vague findCriteria object, the description leaves return values, subscription lifecycle, and nested criteria structure under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the action enum providing detailed per-value explanations and parameter descriptions. The prose description restates the action names but does not add meaningful parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (IVA interlocutors) and enumerates concrete operations: find by contact/ldap/profile/profileIds, find interlocutors, get types, and subscribe to presence. This makes the tool's purpose clear, though it does not explicitly distinguish it from sibling tools like iva_contacts or iva_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description summarizes available actions but provides no guidance on when to use this tool versus alternatives such as iva_contacts, iva_profile, or iva_chat. It also omits prerequisites and any exclusion criteria, leaving usage context entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_profileB
IVA user profile management: get/update profile, call forwarding rules, disk utilization, notifications, subscriptions. Clients API v2.28.12. Note: password management and recovery actions are excluded for security.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "get": Get user profile by ID. Use when user says 'покажи профиль', 'get my profile'. - "update": Update profile fields. Обнови профиль, update profile. - "get_call_forwarding": Get call forwarding rules. Получить правила переадресации. - "create_call_forwarding": Create a call forwarding rule. Создать правило переадресации. - "delete_call_forwarding": Delete a call forwarding rule. Удалить правило переадресации. - "update_call_forwarding": Update a call forwarding rule. Обновить правило переадресации. - "get_disk_utilization": Get disk space usage. Сколько места на диске, disk usage. - "get_notifications_summary": Get notifications summary. Сводка уведомлений. - "get_password_requirements": Get password requirements/rules (read-only, no sensitive data). Требования к паролю. - "get_private_office_url": Get private office URL. URL личного кабинета. - "get_subscriptions": Get user subscriptions. Получить подписки. - "get_free_resources": Get free resources for a subscription. Свободные ресурсы. - "get_user_files": Get user files from disk. Мои файлы, my files. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| profileId | No | Profile (user) UUID | |
| forwardingId | No | Call forwarding rule UUID | |
| profileUpdate | No | Profile fields to update | |
| forwardingRule | No | Call forwarding rule data | |
| subscriptionId | No | Subscription UUID | |
| forwardingUpdate | No | Call forwarding rule update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only adds a security exclusion for password/recovery actions and the API version; it does not disclose that actions like delete_call_forwarding mutate state, require confirmation, or may be irreversible. This is a significant gap for a tool with destructive actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a compact capability summary and closes with a useful security note. It is short, scannable, and every sentence contributes to understanding the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters and 13 actions, the schema carries rich detail including per-action usage hints and natural-language examples. The description provides the umbrella scope and the security boundary. The main gap is the absence of return-value info, but that is partially mitigated by the intuitive nature of the get/update operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The top-level description adds no parameter-level detail beyond naming the capability areas, while the schema already provides detailed action descriptions, enum values, types, and parameter purposes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as IVA user profile management and enumerates its domains: profile get/update, call forwarding, disk utilization, notifications, and subscriptions. It is specific enough to distinguish from sibling tools like iva_user_session or iva_documents, though it relies on the broad noun 'management' rather than a single precise verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for profile-related tasks and lists the covered areas, which gives an agent a basis for tool selection. However, it does not explicitly state when to use this tool versus sibling tools, nor does it provide exclusion guidance beyond the password/recovery security note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_systemC
IVA system info: system info, media info, ICE servers, layouts, broadcast notifications, SMS approval, crash report, mail to support, client applications. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "get_system_info": Get IVA system information (build version, server info, etc.). - "get_media_info": Get IVA media server information (media capabilities, codecs, etc.). - "get_ice_servers": Get ICE/TURN servers configuration for WebRTC connections. - "get_layouts": Get the list of available conference video layouts. - "get_layout": Get a specific conference layout by ID (composition/grid definition). - "get_broadcast_notification": Get the current global broadcast notification (system-wide message). - "confirm_sms": Confirm an SMS approval request (e.g. verify SMS code for phone registration). - "send_crash_report": Send a crash report (with file resource) to IVA support. - "send_mail_to_support": Send an email message to IVA technical support. - "get_client_applications": Get the list of available IVA client applications (download links, versions). | |
| fileId | No | Crash report file resource UUID | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| smsData | No | SMS approval data | |
| layoutId | No | Layout UUID | |
| mailData | No | Mail to support data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists actions like 'SMS approval, crash report, mail to support' but does not disclose that these are side-effect operations, whether authentication is required, or any consequences such as sending emails or confirming destructive actions. The behavioral detail exists only in the input schema, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the module name, followed by a comma-separated list of capabilities. It is efficient and scannable, though the phrase 'system info' is repeated and the structure is more of a tag list than a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity aggregate tool with 10 possible actions, multiple optional parameters, nested objects, and no output schema. The description is only a one-line capability list and does not explain return values, required inputs for nested objects like smsData and mailData, or operation-specific behavior. The schema helps, but the description alone is not sufficient for an agent to call all variants confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action enum provides meaningful descriptions for each operation, including the confirm destructive-action flag and the crash-report file parameter. The description itself adds little parameter-level meaning, but the schema already covers this dimension adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's domain as 'IVA system info' and enumerates concrete capabilities: system info, media info, ICE servers, layouts, broadcast notifications, SMS approval, crash report, mail to support, and client applications. It is clear that this is the system-level utility tool, though it lacks a single strong verb and is broader than a typical single-purpose tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as iva_conference_media, iva_file_resources, or iva_profile. The scope is implied by the list of system-level operations, but there are no explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_user_sessionA
IVA user session management: logout, session info, guest login, session state, login URL. Clients API v2.28.12. Note: login and 2FA actions are excluded for security — authentication is handled automatically via IVA_LOGIN/IVA_PASSWORD environment variables.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Operation to perform: - "login_as_guest": Log in as a guest (no credentials, anonymous access). Войти как гость. - "logout": Log out of IVA and end the current session. Выйти из системы. Завершить сессию. - "get_session_info": Get information about the current user session (profile, state, capabilities). Получить информацию о сессии. - "set_session_state": Set/update the session state (e.g. online/away/do-not-disturb). Установить состояние сессии. - "get_login_url": Get a login URL for a specified login type (e.g. SSO, OAuth redirect). Получить URL для входа. | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| providerId | No | Login provider ID | |
| sessionState | No | Session state to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden; it adds a useful security note that login and 2FA actions are excluded and authentication is automatic. It does not disclose side effects such as logout ending the session or set_session_state mutating presence, although those details appear in the schema's action enum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key operation list. The security note is relevant and concise, and there is little wasted text apart from the minor 'Clients API v2.28.12' fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema's action enum provides detailed descriptions of each operation, including effects and examples, and all four parameters are documented. Description plus schema together give an agent enough context to invoke the tool correctly, though there is no output schema or return-format note for session info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description does not add parameter-level detail beyond naming operation areas; the schema already documents action, confirm, providerId, and sessionState.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'IVA user session management' and lists the concrete operation areas: logout, session info, guest login, session state, and login URL. This makes the tool's scope clear, though it lacks a single imperative verb and does not explicitly contrast with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for session-related actions and explicitly excludes login/2FA, explaining that authentication is handled automatically via IVA_LOGIN/IVA_PASSWORD environment variables. However, it does not state when to prefer this tool over sibling tools or provide condition-based usage guidance beyond the authentication exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iva_whiteboardA
IVA whiteboard: start/stop demonstration, manage books and pages (add/delete/update/clear/copy/reorder), get whiteboard/books/pages, export to PNG, undo, save change, update cursor/demo state. Clients API v2.28.12.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results | |
| action | Yes | Operation to perform: - "load": Load/get the current whiteboard state of a conference session (incl. pages, books, demo info). - "start_demo": Start whiteboard demonstration. Начать демонстрацию доски. Показать доску участникам. Requires whiteboardState: {pageId, left, top, right, bottom} (all fields required per API). - "stop_demo": Stop whiteboard demonstration. Остановить демонстрацию доски. Прекратить показывать доску. - "update_cursor": Update presenter cursor position on the whiteboard (e.g. move pointer). - "update_demo_state": Update whiteboard demonstration state (running/paused/scrolling etc.). - "get_books": Get the list of whiteboard books in the conference session. - "add_book": Create a new whiteboard book. Создать новую книгу (раздел) на доске. - "get_book_pages": Get the list of pages inside a whiteboard book (with pagination). - "add_page": Add a new page to a whiteboard book. Добавить страницу в книгу доски. - "get_page": Get a single whiteboard page by ID (full content/strokes). - "delete_book": Delete a whiteboard book. Удалить книгу доски. - "update_book": Update whiteboard book metadata (title, settings, etc.). - "delete_page": Delete a whiteboard page. Удалить страницу доски. - "clear_page": Clear all content from a whiteboard page. Очистить страницу доски. - "copy_page": Copy a whiteboard page (e.g. duplicate slides). - "reorder_pages": Reorder whiteboard pages within a book (change slide order). - "save_change": Save a change/patch to a whiteboard page (strokes, drawings, annotations). Сохранить изменения на странице. - "undo": Undo the last change on a whiteboard page. Отменить последнее действие на доске. - "export_page": Export a whiteboard page to PNG image. - "export_book": Export an entire whiteboard book (e.g. as PDF/zip of pages). - "get_books_by_document": Get whiteboard books associated with a given document ID. | |
| bookId | No | Whiteboard book UUID | |
| offset | No | Number of results to skip (pagination offset) | |
| pageId | No | Whiteboard page UUID | |
| confirm | No | Set to true to confirm destructive actions (delete, remove, stop, etc.) when IVA_CONFIRM_DESTRUCTIVE is enabled. | |
| bookData | No | Book creation data | |
| copyData | No | Copy page data | |
| pageData | No | Page creation data | |
| bookUpdate | No | Book update data | |
| changeData | No | Page change data | |
| cursorData | No | Cursor state data | |
| documentId | No | Document UUID | |
| reorderData | No | Reorder pages data | |
| demoStateData | No | Demonstration state data | |
| whiteboardState | No | Whiteboard view state sent as the request body: {pageId, left, top, right, bottom}. All five fields are required by the API; pageId is a whiteboard page UUID, left/top/right/bottom are integer viewport coordinates. | |
| conferenceSessionId | No | Conference session UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It conveys a state-mutating, potentially destructive profile through verbs like add/delete/clear/copy, stop-demo, and undo, which is genuinely useful for an agent deciding whether invocation is safe. However, it does not disclose side effects such as demonstration actions being shown to participants, the irreversible nature of deletes, or any confirmation gating — those details appear only in the action enum and the confirm parameter description, not in the main description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence enumerates all 21 operations with virtually no fluff, and the domain ('IVA whiteboard') is front-loaded before the operation list. The 'Clients API v2.28.12' suffix is a minor oddity but supplies version context in one short phrase. It is appropriately sized for a multi-action dispatcher tool where a verbose explanation would hurt usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool: 21 actions, 17 parameters with nested objects, no output schema, and no annotations. The description covers the action space at summary level but does not address return values (despite the absent output schema) or side effects, and does not map which parameters apply to which actions. The schema's action enum descriptions compensate substantially, but the overall definition leans heavily on the schema rather than the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — every one of the 17 parameters is documented — so the baseline is 3 and the description need not compensate. The description names parameter families (cursor, demo state, books, pages) but adds no semantic detail beyond the schema. The action parameter's enum descriptions carry the real per-action parameter meaning, and the tool description does not extend or clarify it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb+resource pairs: 'start/stop demonstration', 'manage books and pages (add/delete/update/clear/copy/reorder)', 'export to PNG', 'undo', 'save change', and 'update cursor/demo state'. It clearly distinguishes iva_whiteboard from all 28 sibling tools, none of which cover whiteboard functionality. The final version stamp 'Clients API v2.28.12' adds useful provenance context and makes the tool's scope immediately evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through the enumerated operation families — demonstration control, book/page management, export, undo/save — and the sibling set makes it evident this is the only whiteboard entry point. However, there is no explicit when-to-use guidance, no exclusions, and no statement about when a sibling tool would be the better choice. The per-action usage requirements (e.g., 'start_demo Requires whiteboardState: {pageId, left, top, right, bottom}') live in the action enum descriptions inside the schema, not in the tool description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
28 tool updates
v2.0.8- First observed
iva_chat - First observed
iva_chat_call - First observed
iva_chat_messages - First observed
iva_chat_participants - First observed
iva_conference - First observed
iva_conference_chat - First observed
iva_conference_documents - First observed
iva_conference_inquiry - First observed
iva_conference_lobby - First observed
iva_conference_media - First observed
iva_conference_participants - First observed
iva_conference_presence_control - First observed
iva_conference_questionnaire - First observed
iva_conference_self_registration - First observed
iva_conference_session - First observed
iva_conference_session_groups - First observed
iva_conference_statistics - First observed
iva_conference_templates - First observed
iva_contacts - First observed
iva_devices - First observed
iva_documents - First observed
iva_file_resources - First observed
iva_interlocutors - First observed
iva_profile - First observed
iva_screenshare - First observed
iva_system - First observed
iva_user_session - First observed
iva_whiteboard
TDQS
Scored across 28 tools
Tools are grouped by resource domain, so most have clearly separate purposes. The main ambiguities are between iva_documents, iva_file_resources, and iva_conference_documents, and between iva_chat and iva_conference_chat, but the descriptions clarify those boundaries.
All 28 tools follow the same iva_<domain> snake_case pattern, making the set highly predictable. No camelCase or mixed verb styles are present, and singular/plural differences are minor.
At 28 tools, the set exceeds the 25+ threshold and reads as a kitchen-sink API wrapper rather than a focused MCU toolset. Even though each tool covers a distinct area, the breadth creates a heavy navigation burden for agents.
The surface is very complete for the IVA platform: chats, conferences, sessions, media, lobby, statistics, templates, documents, whiteboard, contacts, profile, devices, and system operations are all covered. Excluded login/2FA/password actions are intentional security boundaries, not coverage gaps.
Maintenance
Related MCP Connectors
- ChamadeOAuthio.chamade
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
Create voice-agent scenarios, pull session analytics, place SIP calls, schedule meeting bots.
AI agent platform: manage leads, conversations, bots, calendar and CRM via MCP.
MCP server enabling AI agents to manage Bitrix24 features via standardized protocol
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables managing AI meeting bots that can join, record, transcribe meetings, speak, send messages, and display media across platforms like Zoom, Google Meet, and Microsoft Teams.12MIT

Thenvoi MCP Serverofficial
AlicenseBqualityFmaintenanceProvides seamless integration with the Thenvoi AI platform, enabling AI agents and users to manage agent identities, create and participate in chat rooms, send messages with mentions, post execution events, and manage conversation lifecycles.441MIT
Pipecat MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables voice conversations and screen capture for AI agents via MCP-compatible clients, using Pipecat for speech-to-text and text-to-speech, with support for browser, WebRTC, and phone transport.145BSD 2-Clause "Simplified"- AlicenseNot gradedqualityCmaintenanceEnables AI agents to join and actively participate in video calls, providing real-time interaction and meeting tools through an MCP server.566MIT