Skip to main content
Glama
ssm82

Full VK MCP

by ssm82

VK MCP Server

Model Context Protocol (MCP) server for VKontakte (VK) — the largest social network in Russia and CIS countries.

This server allows AI assistants (Claude, Cursor, Windsurf, VS Code, etc.) to interact with VK through a standardized MCP interface.

Features

  • 180+ VK API tools auto-generated from the official schema (full set available with VK_MCP_MODE=all; safe defaults expose a smaller subset) — users, wall, groups, friends, photos, videos, messages, market, stats, stories, polls, and more

  • Auto-generated from VK API schema — always up-to-date with the official API

  • Read/Write/Money mode filtering — restrict AI to read-only, allow non-financial writes, or enable financially sensitive methods

  • Section filtering — include or exclude specific API sections (e.g., disable ads, secure)

  • .env support — load token from environment file for local development

  • VK upload API helpers — exposes upload-server and save methods for media workflows

  • ESM-based — modern Node.js module system

  • Multiple transports — stdio (for Claude Desktop / Cursor), Streamable HTTP and SSE (for remote MCP clients like Grok)

Related MCP server: vk-mcp-server

Prerequisites

  • Node.js ≥ 18

  • VK Access Token with required permissions

Installation

Option 1: Run with npx (no install)

npx full-vk-mcp

Option 2: Install globally

npm install -g full-vk-mcp
full-vk-mcp

Option 3: Clone from GitHub

git clone https://github.com/ssm82/full-vk-mcp.git
cd full-vk-mcp
npm install
node src/index.js

The VK API schema is downloaded automatically on the first run. No manual steps needed.

Configuration

1. VK Access Token

Create a .env file in the project root:

VK_ACCESS_TOKEN=your_vk_token_here

Or get a token from:

Required permissions depend on your use case:

  • wall — posting and reading wall

  • photos — uploading photos

  • groups — community management

  • friends, messages, market, stats — as needed

Security: Never commit your token to git. The .env file is already in .gitignore.

Instead of manually configuring sections and methods, use a built-in profile via VK_MCP_PROFILE:

VK_MCP_PROFILE=minimal npx full-vk-mcp

Profile

Mode

Description

Warning

minimal

read

Essential read methods

Safe

social

read

Users, friends + extras

Safe

content_read

read

~25 content viewing methods

Safe

content_publish

all

~20 content creation methods

Can publish

community_manager

all

Wall, board, groups management

Can modify communities

messenger

all

Messages + user info

Requires messages scope

analytics

read

Stats, wall, groups insights

Safe

money

money

All financially sensitive methods allowed by money-mode filtering

Financially sensitive

ads

money

Ads API + helper methods

Can spend money

market

money

VK Market + upload helpers

Can modify shop

commerce

money

Market, orders, store, gifts, donut

Financially sensitive

search

read

~10 search methods

Safe

full_read

read

All read methods except ads/secure

Safe

full

all

All VK API methods

Development only

Profiles can be extended with environment variables:

VK_MCP_PROFILE=social VK_MCP_INCLUDE_SECTIONS=wall npx full-vk-mcp

Env extends profile: list variables (sections, methods, excludes) are merged with the profile; scalar mode is overridden by env.

3. MCP Client Setup

VS Code (with Copilot / Claude / etc.)

Create .vscode/mcp.json:

{
  "servers": {
    "vk": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "full-vk-mcp"],
      "env": {
        "VK_ACCESS_TOKEN": "${input:vk-token}",
        "VK_MCP_PROFILE": "minimal"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "vk-token",
      "description": "VK Access Token",
      "password": true
    }
  ]
}

For local development from a cloned repository, use:

{
  "command": "node",
  "args": ["/absolute/path/to/full-vk-mcp/src/index.js"]
}

Cursor

Create .cursor/mcp.json:

{
  "mcpServers": {
    "vk": {
      "command": "npx",
      "args": ["-y", "full-vk-mcp"],
      "env": {
        "VK_ACCESS_TOKEN": "your_token",
        "VK_MCP_PROFILE": "social"
      }
    }
  }
}

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "vk": {
      "command": "npx",
      "args": ["-y", "full-vk-mcp"],
      "env": {
        "VK_ACCESS_TOKEN": "your_token",
        "VK_MCP_PROFILE": "minimal"
      }
    }
  }
}

For local development from a cloned repository, use:

{
  "command": "node",
  "args": ["/absolute/path/to/full-vk-mcp/src/index.js"]
}

Windsurf / Other MCP Clients

Use the stdio transport and provide VK_ACCESS_TOKEN via environment variables.

4. Transport Mode

By default, the server uses stdio transport for local MCP clients. To enable remote connections, switch to HTTP:

VK_MCP_TRANSPORT

Use case

stdio (default)

Claude Desktop, Cursor, VS Code, Windsurf

http

Grok, ChatGPT, remote MCP clients

sse

Same as http (both endpoints enabled)

# HTTP mode for remote clients
VK_ACCESS_TOKEN=your_token VK_MCP_TRANSPORT=http npx full-vk-mcp

Environment Variables

Variable

Default

Description

VK_ACCESS_TOKEN

(required)

Your VK API access token

VK_MCP_PROFILE

Built-in profile name (minimal, social, full, etc.)

VK_MCP_MODE

read

read — read-only, write — non-financial writes, money — financially sensitive, all — everything

VK_MCP_INCLUDE_SECTIONS

Comma-separated whitelist of API sections. Without a profile, safe subset (users, groups, wall, friends, photos) is used

VK_MCP_EXCLUDE_SECTIONS

ads,secure,market,orders,store,gifts,donut,votes (without profile / without explicit includes)

Comma-separated blacklist of API sections. Skipped when VK_MCP_INCLUDE_SECTIONS or VK_MCP_INCLUDE_METHODS is set

VK_MCP_INCLUDE_METHODS

Comma-separated whitelist of methods (e.g., users.get,wall.get)

VK_MCP_EXCLUDE_METHODS

Comma-separated blacklist of methods

VK_MCP_MAX_TOOLS

Limit the number of exposed tools

VK_MCP_TRANSPORT

stdio

Transport type: stdio, http, or sse

VK_MCP_PORT

3000

HTTP port (falls back to $PORT for PaaS like Render)

VK_MCP_HOST

127.0.0.1

Bind address. Use 0.0.0.0 for public hosts

VK_MCP_AUTH_TOKEN

Bearer token for HTTP transport auth (required when binding to non-loopback)

Mode Filtering

The server automatically classifies each VK API method into risk levels:

Mode

Description

Sections

read

Read-only methods

Safe subset: users, groups, wall, friends, photos

write

Read + non-financial writes

Can modify your account (post, edit, delete, send, etc.)

money

Financially sensitive only

ads, market, orders, store, gifts, donut, votes, selected secure.*

all

Everything

Read + write + money — no restrictions

  • Read methods — get*, search*, is*, are*, check*, resolve*, find*, count*, lookup*, list*

  • Write methods — everything else (post, edit, delete, send, etc.)

  • Money methods — any method in financial sections or explicitly tagged (secure.getAppBalance, etc.)

Use VK_MCP_MODE=read to prevent the AI from making any changes to your VK account. Use VK_MCP_MODE=money when you need ads, market, or payment-related tools.

Running Locally

With npm/npx:

VK_ACCESS_TOKEN=your_token npx full-vk-mcp

With a cloned repository:

# With .env file (recommended for development)
node src/index.js

# Or inline
VK_ACCESS_TOKEN=your_token node src/index.js

# Use a profile
VK_ACCESS_TOKEN=your_token VK_MCP_PROFILE=minimal node src/index.js

# Read-only mode
VK_ACCESS_TOKEN=your_token VK_MCP_MODE=read node src/index.js

# Include only specific sections
VK_ACCESS_TOKEN=your_token VK_MCP_INCLUDE_SECTIONS=users,wall node src/index.js

HTTP Mode

# Start HTTP server (localhost only, no auth)
VK_ACCESS_TOKEN=your_token VK_MCP_TRANSPORT=http npx full-vk-mcp

# With custom port
VK_MCP_TRANSPORT=http VK_MCP_PORT=8080 npx full-vk-mcp

# Public deploy (auth required)
VK_MCP_TRANSPORT=http VK_MCP_HOST=0.0.0.0 VK_MCP_AUTH_TOKEN=your_secret npx full-vk-mcp

Test HTTP endpoint

# Health check
curl http://127.0.0.1:3000/health

For full MCP protocol testing, use the MCP Inspector:

npx @modelcontextprotocol/inspector

Then select:

Transport: Streamable HTTP
URL: http://127.0.0.1:3000/mcp

Streamable HTTP is session-based. A raw tools/list request must be sent only after an initialize request and with the returned Mcp-Session-Id header.

In the Inspector UI select Streamable HTTP and enter http://127.0.0.1:3000/mcp.

Available Tools (by Category)

Category

Examples

Count

Wall

vk_wall_get, vk_wall_post, vk_wall_edit, vk_wall_delete, vk_wall_search

10+

Users

vk_users_get, vk_users_search, vk_users_get_followers

5+

Groups

vk_groups_get, vk_groups_get_members, vk_groups_search, vk_groups_join

20+

Photos

vk_photos_get, vk_photos_get_upload_server, vk_photos_save

15+

Videos

vk_video_get, vk_video_search, vk_video_save

10+

Messages

vk_messages_get_history, vk_messages_get_conversations, vk_messages_send

20+

Friends

vk_friends_get, vk_friends_get_online, vk_friends_add

10+

Market

vk_market_get, vk_market_search, vk_market_get_orders

10+

Stories

vk_stories_get, vk_stories_get_upload_server

5+

Polls

vk_polls_create, vk_polls_get_by_id, vk_polls_add_vote

5+

Stats

vk_stats_get, vk_stats_get_post_reach

2+

Ads

vk_ads_get_campaigns, vk_ads_get_ads, vk_ads_get_statistics

15+

+ 60 more sections

docs, notes, board, fave, notifications, pages, storage, etc.

Total: 180+ tools auto-generated from the official VK API schema.

Examples

Get your wall posts

Tool: vk_wall_get
Arguments: { "count": 5 }

Search for users

Tool: vk_users_search
Arguments: { "q": "Ivan Ivanov", "count": 10 }

Get community members

Tool: vk_groups_get_members
Arguments: { "group_id": "apiclub", "count": 100 }

Create a poll

Tool: vk_polls_create
Arguments: {
  "question": "What's your favorite color?",
  "add_answers": "[\"Red\", \"Green\", \"Blue\"]"
}

Deployment

For Render, Railway, Fly.io, or similar PaaS:

# build command
npm install

# start command (when deploying from repository)
node src/index.js

# or when deploying from npm package
npx full-vk-mcp

# environment variables
VK_ACCESS_TOKEN=...
VK_MCP_TRANSPORT=http
VK_MCP_HOST=0.0.0.0
VK_MCP_PORT=3000        # or omit to use $PORT (Render auto-sets it)
VK_MCP_AUTH_TOKEN=...   # required for public access
VK_MCP_MODE=read        # or your chosen profile/mode

Render note: Render provides the port via the $PORT environment variable. The server automatically falls back to it when VK_MCP_PORT is not set.

Development

# Run tests (schema downloads automatically on first run)
npm test

# Start the server
node src/index.js

Project Structure

full-vk-mcp/
├── src/
│   ├── index.js           # Entry point (transport switching)
│   ├── server-factory.js  # MCP server factory
│   ├── http-transport.js  # HTTP/SSE transport
│   ├── schema-loader.js   # Loads and filters VK API schema
│   ├── tool-registry.js   # Builds MCP tools from schema
│   ├── param-converter.js # Converts VK params to JSON Schema
│   ├── profiles.js        # Built-in profiles
│   └── vk-client.js       # VK API HTTP client
├── vk-api-schema/         # Official VK API schema (JSON) — see note below
├── tests.test.js          # Test suite
├── .env                   # Your token (gitignored)
├── package.json
└── README.md

Note: The published npm package includes runtime files only (src/, README.md, LICENSE, server.json). Tests and development files are kept in the GitHub repository.

VK API Schema

The VK API schema is not included in this repository to keep it lightweight. On the first run (server or tests), it is downloaded automatically from the official VK repository:

https://github.com/VKCOM/vk-api-schema

The schema is saved to vk-api-schema/ in the project root and cached for subsequent runs.

Updating the Schema

To get the latest VK API changes, delete the cached folder and restart:

rm -rf vk-api-schema/
node src/index.js  # schema will be re-downloaded automatically

Security

  • Token storage: Use .env or your MCP client's secure environment variables. Never commit tokens.

  • Least privilege: Use VK_MCP_MODE=read if the AI only needs to read data.

  • Section filtering: Exclude sensitive sections like ads, secure if not needed.

  • HTTP mode security: By default, HTTP binds to 127.0.0.1 only. If you bind to 0.0.0.0 (public), VK_MCP_AUTH_TOKEN is required — the server will refuse to start without it. Always use HTTPS in production.

Troubleshooting

Issue

Solution

VK_ACCESS_TOKEN is required

Create .env file or set the environment variable

Unknown tool

Check that the method name uses snake_case (vk_wall_get not vk.wall.get)

Access denied

Your token lacks the required VK permission scope

Too many tools

Use VK_MCP_INCLUDE_SECTIONS or VK_MCP_MODE=read to filter

HTTP Not Acceptable

Add header Accept: application/json, text/event-stream

HTTP VK_MCP_AUTH_TOKEN is required

Set auth token when binding to 0.0.0.0

License

MIT

Contributing

Pull requests are welcome! Please open an issue first to discuss major changes.


Made for the Model Context Protocol ecosystem

Available Tools

59 tools
vk_friends_are_friendsA

Checks the current user's friendship status with other specified users. VK API method: friends.areFriends. Tool name: vk_friends_are_friends. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsYesIDs of the users whose friendship status to check.
need_signNo'1' - to return 'sign' field. 'sign' is md5("{id}_{user_id}_{friends_status}_{application_secret}"), where id is current user ID. This field allows to check that data has not been modified by the client. By default: '0'.
extendedNoReturn friend request read_state field

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions 'Access level: read', indicating a safe read operation. No annotations are provided, so this fills the gap. No side effects or rate limits are mentioned, but the read hint suffices.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one functional sentence plus technical metadata. The metadata is somewhat redundant but not excessive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description fails to mention return value structure (e.g., friend status codes). Schema descriptions cover parameters well, but overall completeness is moderate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's own descriptions for user_ids, need_sign, and extended.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks friendship status with specified users, using a specific verb 'checks' and resource 'friendship status'. It distinguishes from siblings by specifying 'with other specified users', implying targeted queries rather than listing all friends.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives. It implies usage for checking specific user statuses but lacks direct guidance or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_getB

Returns a list of user IDs or detailed information about a user's friends. VK API method: friends.get. Tool name: vk_friends_get. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID. By default, the current user ID.
orderNoSort order: , 'name' - by name (enabled only if the 'fields' parameter is used), 'hints' - by rating, similar to how friends are sorted in My friends section, , This parameter is available only for [vk.com/dev/standalone|desktop applications].
list_idNoID of the friend list returned by the [vk.com/dev/friends.getLists|friends.getLists] method to be used as the source. This parameter is taken into account only when the uid parameter is set to the current user ID. This parameter is available only for [vk.com/dev/standalone|desktop applications].
countNoNumber of friends to return.
offsetNoOffset needed to return a specific subset of friends.
fieldsNoProfile fields to return. Sample values: 'uid', 'first_name', 'last_name', 'nickname', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'domain', 'has_mobile', 'rate', 'contacts', 'education'.
refNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States 'access level: read', implying read-only behavior. However, with no annotations, it misses important details like pagination, default count (5000), and nuance between ID-only vs. detailed results based on the 'fields' parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Brief and mostly to the point, but includes redundant info like 'VK API method: friends.get' and 'Tool name: vk_friends_get' that could be omitted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple tool, but lacks explanation of parameter relationships (e.g., 'fields' toggles between ID-only and details) and pagination behavior. No output schema adds to incompleteness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so most parameters are described. The description adds little beyond schema, mentioning 'user IDs or detailed information' which relates to 'fields' but doesn't provide new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of user IDs or detailed information about friends, and mentions the VK API method. However, it does not differentiate from sibling tools like vk_friends_get_online or vk_friends_get_mutual, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., vk_friends_search, vk_friends_get_online). The description lacks explicit when-to-use/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.

vk_friends_get_app_usersA

Returns a list of IDs of the current user's friends who installed the application. VK API method: friends.getAppUsers. Tool name: vk_friends_get_app_users. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially carries the burden. It explicitly states 'Access level: read,' indicating a safe, non-destructive operation. However, it does not mention rate limits or that the result depends on the current user, though 'current user' is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with four sentences, but includes redundant repetition of tool and method names. It could be shortened to one or two sentences without losing clarity, but it remains compact and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no parameters, no output schema). The description specifies the return value (list of IDs) and references the VK API method. It is complete enough for an agent to understand what it does, though it omits details like pagination or format of the IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema coverage is 100%. The description does not need to add parameter details; it implicitly explains that no input is required (operates on current user). This meets the baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of IDs of friends who installed the application. The verb 'Returns' and specific resource 'friends who installed the application' provide a precise purpose, distinguishing it from other vk_friends_* tools that focus on different friend subsets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks explicit guidance on when to use this tool versus alternatives like vk_friends_get or vk_friends_get_mutual. The context (tool name and method) implies it's for app users, but no when-not or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_listsC

Returns a list of the user's friend lists. VK API method: friends.getLists. Tool name: vk_friends_get_lists. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
return_systemNo'1' - to return system friend lists. By default: '0'.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Mentions 'Access level: read' which implies no destructive actions. But no annotations are provided, so description carries the burden. Lacks details on side effects, rate limits, or prerequisites. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Relatively concise but includes redundant details like the VK API method name and tool name. Could be more efficient by removing obvious info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, yet description does not explain the return structure or any pagination. Missing context for a tool that lists data. Incomplete for a read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and already explains both parameters. Description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns a list of the user's friend lists. However, it does not differentiate from sibling tools like vk_friends_get, which also returns friend lists (but with more details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like vk_friends_get or vk_friends_get_mutual. The description lacks any contextual hints for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_mutualB

Returns a list of user IDs of the mutual friends of two users. VK API method: friends.getMutual. Tool name: vk_friends_get_mutual. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_uidNoID of the user whose friends will be checked against the friends of the user specified in 'target_uid'.
target_uidNoID of the user whose friends will be checked against the friends of the user specified in 'source_uid'.
target_uidsNoIDs of the users whose friends will be checked against the friends of the user specified in 'source_uid'.
orderNoSort order: 'random' - random order
countNoNumber of mutual friends to return.
offsetNoOffset needed to return a specific subset of mutual friends.
need_common_countNoReturn mutual friends total count

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description identifies it as read-only ('Access level: read') and indicates it returns user IDs, but with no annotations, it could disclose more about constraints like required user existence or pagination behavior. It is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description contains redundant information (VK API method, tool name, section) that doesn't add value. It could be more concise by combining the first and last sentences, but it is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description does not cover return format, error conditions, or rate limits. For a tool with 7 parameters and no schema enhancements, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with well-described parameters. The description adds no additional semantic value beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of user IDs of mutual friends of two users, which is specific and distinguishes it from sibling tools like vk_friends_get (returns all friends) and vk_friends_are_friends (checks friendship status).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It only describes what it does without mentioning prerequisites, limitations, or scenarios where other tools would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_onlineB

Returns a list of user IDs of a user's friends who are online. VK API method: friends.getOnline. Tool name: vk_friends_get_online. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
list_idNoFriend list ID. If this parameter is not set, information about all online friends is returned.
online_mobileNo'1' - to return an additional 'online_mobile' field, '0' - (default),
orderNoSort order: 'random' - random order
countNoNumber of friends to return.
offsetNoOffset needed to return a specific subset of friends.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must carry the burden. It specifies read access and that output is user IDs, but lacks details on rate limits, authentication, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (3 sentences) and front-loaded with the core purpose. The metadata lines are somewhat redundant but not harmful. Could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with comprehensive schema descriptions, the description is adequate. However, without an output schema, it could better describe the return format (e.g., array of integers). No example is given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented there. The description adds minimal value beyond confirming the output type is user IDs. No new parameter context is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns user IDs of online friends, mentioning it's a read operation and the VK API method. However, it does not explicitly differentiate from sibling tools like vk_friends_get or vk_friends_get_mutual.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Minimal guidance: only indicates read access level. No advice on when to use this tool versus alternatives like vk_friends_get for all friends or vk_friends_get_requests for pending requests.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_recentA

Returns a list of user IDs of the current user's recently added friends. VK API method: friends.getRecent. Tool name: vk_friends_get_recent. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of recently added friends to return.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States access level 'read' and returns user IDs, but lacks details on authentication, idempotency, or side effects; no annotations to supplement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Mostly concise, but includes redundant references to VK API method and tool name; could be streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Sufficient for a simple tool with one optional parameter; specifies return type (list of user IDs) and access level, though no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'count' is fully described in schema; tool description adds no further meaning beyond schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns user IDs of recently added friends, distinguishing it from siblings like vk_friends_get (all friends) or vk_friends_get_requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives; does not mention exclusions or recommend vk_friends_get for full list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_requestsC

Returns information about the current user's incoming and outgoing friend requests. VK API method: friends.getRequests. Tool name: vk_friends_get_requests. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoOffset needed to return a specific subset of friend requests.
countNoNumber of friend requests to return (default 100, maximum 1000).
extendedNo'1' - to return response messages from users who have sent a friend request or, if 'suggested' is set to '1', to return a list of suggested friends
need_mutualNo'1' - to return a list of mutual friends (up to 20), if any
outNo'1' - to return outgoing requests, '0' - to return incoming requests (default)
sortNoSort order: '1' - by number of mutual friends, '0' - by date
need_viewedNo
suggestedNo'1' - to return a list of suggested friends, '0' - to return friend requests (default)
refNo
fieldsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It only states access level is 'read' and names the VK API method, but does not disclose pagination behavior, output format, rate limits, or implications of parameters like 'need_viewed' or 'suggested'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded with the core purpose. However, it includes redundant details (tool name, section) that could be removed to improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters and no output schema, the description is insufficient. It does not explain request object structure, pagination, or how to use the 'extended', 'need_mutual', or 'suggested' parameters effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 70%, so the baseline is 3. The description adds context that the tool handles both incoming and outgoing requests, which relates to the 'out' parameter, but adds little beyond what the schema already describes for other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns information about incoming and outgoing friend requests, using a specific verb and resource. It distinguishes from siblings like vk_friends_get (confirmed friends) and vk_friends_get_suggestions, though not explicitly. The name also helps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention when not to use it or list any prerequisites. The agent must infer from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_friends_get_suggestionsC

Returns a list of profiles of users whom the current user may know. VK API method: friends.getSuggestions. Tool name: vk_friends_get_suggestions. Section: friends. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoTypes of potential friends to return: 'mutual' - users with many mutual friends , 'contacts' - users found with the [vk.com/dev/account.importContacts|account.importContacts] method , 'mutual_contacts' - users who imported the same contacts as the current user with the [vk.com/dev/account.importContacts|account.importContacts] method
countNoNumber of suggestions to return.
offsetNoOffset needed to return a specific subset of suggestions.
fieldsNoProfile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online', 'counters'.
name_caseNoCase for declension of user name and surname: , 'nom' - nominative (default) , 'gen' - genitive , 'dat' - dative , 'acc' - accusative , 'ins' - instrumental , 'abl' - prepositional

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only mentions 'Access level: read', which is minimal. It does not disclose potential side effects, rate limits, or authentication requirements beyond what is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise at three sentences, front-loaded with purpose. Some redundancy with tool name and VK API method, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (all described in schema) and no output schema, the description provides minimal context beyond the basic return type. It lacks information about output format or pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions. It is adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns a list of profiles of users the current user may know, which is specific and correct. However, it does not differentiate from sibling tools like vk_friends_get or vk_friends_get_requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description only states what it does, not when it is appropriate or preferable over other friend-list tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_getC

Returns a list of the communities to which a user belongs. VK API method: groups.get. Tool name: vk_groups_get. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
extendedNo'1' - to return complete information about a user's communities, '0' - to return a list of community IDs without any additional fields (default),
filterNoTypes of communities to return: 'admin' - to return communities administered by the user , 'editor' - to return communities where the user is an administrator or editor, 'moder' - to return communities where the user is an administrator, editor, or moderator, 'groups' - to return only groups, 'publics' - to return only public pages, 'events' - to return only events
fieldsNoProfile fields to return.
offsetNoOffset needed to return a specific subset of communities.
countNoNumber of communities to return.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It mentions 'access level: read' but does not discuss pagination, rate limits, authentication, or any side effects. The behavioral traits are minimally disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, but the last three are redundant (repeating tool name, section, access level). The core information is front-loaded, but there is minor waste. Could be condensed to one sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, so the description should ideally explain the return format or pagination behavior. It does not, though the schema parameters hint at pagination. The description is adequate for a simple retrieval but lacks completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 describes all parameters in detail. The tool description adds no additional parameter information beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes the tool as returning a list of communities a user belongs to, which is clear. However, it does not explicitly differentiate from sibling tools like vk_groups_get_invites or vk_groups_get_members, which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as vk_groups_get_by_id or vk_groups_search. The description only states the basic function, with no context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_addressesC

Returns a list of community addresses. VK API method: groups.getAddresses. Tool name: vk_groups_get_addresses. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesID or screen name of the community.
address_idsNo
latitudeNoLatitude of the user geo position.
longitudeNoLongitude of the user geo position.
offsetNoOffset needed to return a specific subset of community addresses.
countNoNumber of community addresses to return.
fieldsNoAddress fields

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only mentions 'Access level: read', but fails to cover authentication needs, pagination behavior, or error conditions. Minimal info beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the core purpose. However, the second sentence repeats redundant information (tool name and API method) that could be omitted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters including pagination and geo-coordinates, but the description does not explain their role or the structure of the returned list. Incomplete for a moderately complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (86%), so the description is not required to add parameter details. It adds none, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of community addresses and specifies the VK API method. However, it does not explicitly distinguish from sibling tools like vk_groups_get_members, which also return lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as other vk_groups_* tools. Missing when/when-not conditions and prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_bannedA

Returns a list of users on a community blacklist. VK API method: groups.getBanned. Tool name: vk_groups_get_banned. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.
offsetNoOffset needed to return a specific subset of users.
countNoNumber of users to return.
fieldsNo
owner_idNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It mentions 'Access level: read', indicating no side effects, but does not disclose details about pagination, rate limits, or required permissions. The description is minimal but truthful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant metadata (VK API method, tool name, section) that does not aid tool selection. The core purpose is front-loaded, but the extra lines are wasteful. Could be more concise without loss of meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list retrieval tool with 5 parameters and no output schema, the description covers the main purpose but lacks details on response structure, pagination, and parameter usage beyond the schema. It is minimally adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 60% schema description coverage, the description adds no extra meaning beyond the schema. It does not explain the `fields` or `owner_id` parameters, which are undocumented in the schema. Baseline 3 is appropriate as the description neither harms nor significantly aids understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of users on a community blacklist, specifying the verb 'Returns' and the resource 'users on a community blacklist'. This distinguishes it from sibling tools like vk_groups_get_members or vk_groups_get_requests, which deal with other group member lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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. It merely states what it does, leaving the agent to infer from context. No explicit when-not or alternative tool mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_by_idB

Returns information about communities by their IDs. VK API method: groups.getById. Tool name: vk_groups_get_by_id. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idsNoIDs or screen names of communities.
group_idNoID or screen name of the community.
fieldsNoGroup fields to return.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses it's a read operation ('Access level: read') but no annotations are provided. It lacks behavioral details such as error handling, rate limits, or response format beyond the basic read nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words, but includes redundant info (tool name, section) that could be omitted. Still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 optional parameters and no output schema, the description is too brief. It doesn't explain return format, field usage, or how multiple group IDs are handled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds no new meaning to parameters. The schema already explains group_ids, group_id, and fields adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns information about communities by IDs, distinguishing it from siblings that list, search, or manage groups. The mention of VK API method and access level reinforces the specific purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs siblings like vk_groups_search or vk_groups_get. The description only states what it does without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_callback_confirmation_codeA

Returns Callback API confirmation code for the community. VK API method: groups.getCallbackConfirmationCode. Tool name: vk_groups_get_callback_confirmation_code. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states 'Access level: read' and 'Returns...' which implies a safe, read-only operation. However, it lacks details on rate limits, prerequisites, or response format. The description is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at two sentences, but includes redundant tags (tool name, VK method) that are evident from context. It is front-loaded with the key action. Could be slightly tighter, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and no output schema, the description is complete enough. It states the purpose, access level, and references the official API method. It does not explain return value structure, but for a simple confirmation code, the description suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter (group_id), and the schema covers it 100% with a description. The tool description adds no extra parameter information beyond the schema, meeting the baseline expectation for a simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the Callback API confirmation code for a community. It explicitly distinguishes from sibling tools like vk_groups_get_callback_servers and vk_groups_get_callback_settings by specifying the unique output. The reference to the VK API method further clarifies its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when needing a confirmation code, but no exclusions or context are given. Among many sibling tools, this is a gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_callback_serversD

groups.getCallbackServers

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes
server_idsNo

TDQS

D1.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It gives zero information about whether the tool is read-only or mutates state, required permissions, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, but this is under-specification rather than effective conciseness. It lacks any substantive information, making it unhelpful despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of sibling tools for callback servers and the lack of output schema, the description is wholly insufficient. It fails to clarify the tool's purpose relative to get_callback_settings or get_callback_confirmation_code.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the parameters. The input schema only provides types and constraints, but the description does not explain what group_id or server_ids represent or how they affect the server list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is simply 'groups.getCallbackServers', which is a tautology of the tool name. It provides no verb or resource clarification and does not distinguish from sibling tools like vk_groups_get_callback_settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description omits any context about prerequisites, permissions, or scenarios, leaving the agent with no direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_callback_settingsB

Returns [vk.com/dev/callback_api|Callback API] notifications settings. VK API method: groups.getCallbackSettings. Tool name: vk_groups_get_callback_settings. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.
server_idNoServer ID.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Mentions access level 'read', which implies no destructive side effects. However, no annotations are provided, and the description does not disclose other behavioral traits like auth requirements or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded, but includes redundant information such as the VK API method name and tool name, which are already clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with full schema coverage, it is mostly complete. However, it does not describe the return format, which would be helpful given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states it returns Callback API notifications settings, with reference to the VK API method. Differentiates from sibling tools like get_callback_servers and get_callback_confirmation_code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as get_callback_servers or get_long_poll_settings. The description only states what it does without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_catalog_infoB

Returns categories list for communities catalog VK API method: groups.getCatalogInfo. Tool name: vk_groups_get_catalog_info. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
extendedNo1 - to return communities count and three communities for preview. By default: 0.
subcategoriesNo1 - to return subcategories info. By default: 0.

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'Access level: read', missing details on side effects, rate limits, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant info like 'Tool name: vk_groups_get_catalog_info' which repeats the tool name, wasting space. Could be more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and minimal complexity, the description does not explain what the returned category list contains or how it is structured, leaving gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters. The description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'returns' and the resource 'categories list for communities catalog', which is specific and distinct from sibling tools that handle other group data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings or alternatives. The description only mentions access level 'read' but does not specify context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_invited_usersC

Returns invited users list of a community VK API method: groups.getInvitedUsers. Tool name: vk_groups_get_invited_users. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesGroup ID to return invited users for.
offsetNoOffset needed to return a specific subset of results.
countNoNumber of results to return.
fieldsNoList of additional fields to be returned. Available values: 'sex, bdate, city, country, photo_50, photo_100, photo_200_orig, photo_200, photo_400_orig, photo_max, photo_max_orig, online, online_mobile, lists, domain, has_mobile, contacts, connections, site, education, universities, schools, can_post, can_see_all_posts, can_see_audio, can_write_private_message, status, last_seen, common_count, relation, relatives, counters'.
name_caseNoCase for declension of user name and surname. Possible values: *'nom' - nominative (default),, *'gen' - genitive,, *'dat' - dative,, *'acc' - accusative, , *'ins' - instrumental,, *'abl' - prepositional.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only mentions 'Access level: read'. It lacks disclosure of behavioral traits such as pagination, rate limits, or required permissions, leaving the agent underinformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description includes redundant information (Tool name, Section, Access level) that is already implicit or could be omitted. It is not as concise as it could be; a single sentence would suffice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description should provide more context about return value format, pagination, or error handling. It is too sparse for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 no extra meaning beyond the schema's parameter descriptions; it just repeats the tool's overall purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the invited users list of a community, which is a specific verb+resource. However, it does not differentiate from sibling tools like vk_groups_get_members or vk_groups_get_requests, limiting distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; no context for appropriate usage or exclusions. The description merely states what it does without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_invitesB

Returns a list of invitations to join communities and events. VK API method: groups.getInvites. Tool name: vk_groups_get_invites. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoOffset needed to return a specific subset of invitations.
countNoNumber of invitations to return.
extendedNo'1' - to return additional [vk.com/dev/fields_groups|fields] for communities..

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Access level: read,' indicating no destructive side effects. However, with no annotations provided, more behavioral details (e.g., pagination behavior, response format) would be helpful. The description is adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with 3 sentences covering purpose, VK API method, and access level. It is efficiently front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list-invites tool, the description is mostly complete. However, since there is no output schema, details about the return structure (e.g., list of group IDs or objects) are missing. The 'extended' parameter's effect on output is not explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 3 parameters with descriptions. The tool description does not add extra meaning beyond what the schema provides. Schema description coverage is 100%, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns a list of invitations to join communities and events.' It uses a specific verb ('returns') and identifies the resource ('invitations to join communities and events'), differentiating it from sibling tools like vk_groups_get (returns groups) and vk_groups_get_requests (returns requests).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. Sibling tools like vk_groups_get and vk_groups_get_requests have related but distinct purposes, but the description does not clarify when to choose this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_long_poll_serverA

Returns the data needed to query a Long Poll server for events VK API method: groups.getLongPollServer. Tool name: vk_groups_get_long_poll_server. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It indicates a read operation ('Access level: read') but lacks details on side effects, permissions, or rate limits. No contradictions are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively short but includes redundant information such as the API method name, tool name, and section. The first sentence conveys the purpose, and the rest does not add substantial value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains what the tool returns but does not describe the structure of the returned data. Given the lack of an output schema, this omission reduces completeness for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema. The schema already describes 'group_id' as 'Community ID.' with type integer and minimum 1. Since schema coverage is 100%, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns data needed to query a Long Poll server for events. It uses a specific verb ('returns') and resource ('data for Long Poll server'), distinguishing it from related tools like vk_groups_get_long_poll_settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used to obtain long poll server information, but it does not explicitly state when to use it versus alternatives or provide context on prerequisites. No guidance on when not to use it is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_long_poll_settingsC

Returns Long Poll notification settings VK API method: groups.getLongPollSettings. Tool name: vk_groups_get_long_poll_settings. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description must fully disclose behavior. It only states it is a read operation (access level: read) but lacks details on side effects, authentication requirements, rate limits, or response characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes a redundant sentence repeating the tool name. It could be more concise by removing that repetition while maintaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is adequate but not thorough. It provides the access level but lacks details on the returned data format or any prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter (group_id) with schema coverage 100% (description: 'Community ID.'). The tool description adds no additional context beyond the schema, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns Long Poll notification settings for a group, which identifies the resource and action. However, it does not elaborate on what the settings contain, which slightly limits clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 other group-related tools (e.g., get_settings, get_callback_settings). The description only notes the access level, which is insufficient for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_membersC

Returns a list of community members. VK API method: groups.getMembers. Tool name: vk_groups_get_members. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idNoID or screen name of the community.
sortNoSort order. Available values: 'id_asc', 'id_desc', 'time_asc', 'time_desc'. 'time_asc' and 'time_desc' are availavle only if the method is called by the group's 'moderator'.id_asc
offsetNoOffset needed to return a specific subset of community members.
countNoNumber of community members to return.
fieldsNoList of additional fields to be returned. Available values: 'sex, bdate, city, country, photo_50, photo_100, photo_200_orig, photo_200, photo_400_orig, photo_max, photo_max_orig, online, online_mobile, lists, domain, has_mobile, contacts, connections, site, education, universities, schools, can_post, can_see_all_posts, can_see_audio, can_write_private_message, status, last_seen, common_count, relation, relatives, counters'.
filterNo*'friends' - only friends in this community will be returned,, *'unsure' - only those who pressed 'I may attend' will be returned (if it's an event).

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It states 'Access level: read', which indicates a non-destructive operation. However, it does not mention pagination, rate limits, error behavior, or the effect of parameters like 'filter' on the response. Minimal transparency beyond basic safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) but includes redundant information: the VK API method name, tool name, and section. The first sentence clearly states purpose, but the second sentence could be omitted as it repeats the tool name and adds the section. Slightly inefficient but not excessively verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description should have explained what the tool returns (e.g., a list of user IDs or user objects). It does not mention the response structure, pagination behavior, or any limitations such as maximum members returned. The parameters are well-defined, but the overall context of the tool's output is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage, with each parameter described in detail including defaults, enums, and constraints. The description adds no additional meaning beyond what is already in the schema. For example, 'group_id' is described as 'ID or screen name of the community', which matches the schema. No extra value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of community members, which is a specific verb and resource. It is distinct from sibling tools like vk_groups_get (which returns group info) and vk_groups_is_member (which checks individual membership). However, it does not specify what information is returned for each member, such as user IDs or profiles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It only notes an access level of 'read', which implies safety but does not exclude use cases or mention other tools for checking membership or requesting members. Sibling tools exist for related purposes, but no differentiation is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_online_statusD

groups.getOnlineStatus

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description fails to disclose any behavioral traits such as whether the operation is read-only, mutating, or requires special permissions. The description adds no value beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single line that merely repeats the tool name. It is not concise in a helpful way; it is underspecified and fails to earn its place as a useful description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of output schema, annotations, and parameter descriptions, the description is completely inadequate. It does not inform the agent about return values, behavior, or how this tool fits into the broader API context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the group_id parameter lacks any description in the schema. The description does not compensate by explaining the parameter meaning, format, or constraints beyond the schema's integer and minimum fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description is exactly the tool name 'groups.getOnlineStatus', a tautology that provides no additional meaning about what the tool does or what resource it acts upon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like vk_groups_get or vk_groups_get_by_id. No context about prerequisites or expected use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_requestsC

Returns a list of requests to the community. VK API method: groups.getRequests. Tool name: vk_groups_get_requests. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.
offsetNoOffset needed to return a specific subset of results.
countNoNumber of results to return.
fieldsNoProfile fields to return.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions 'Access level: read' but lacks other behavioral details such as pagination behavior (offset/count), error handling, or rate limits. Given the absence of annotations, more transparency 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant meta-information like the VK API method name and section. It is not as efficient as it could be, though it front-loads the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should explain the return format (e.g., list of user IDs). It also fails to connect parameters to use cases or provide examples, making it incomplete for a list retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 each parameter. The description adds no additional parameter-level context, which is acceptable but does not improve understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of requests to the community, and identifies the VK API method and access level. It is specific enough to avoid confusion with sibling tools like vk_groups_get_members, though the exact nature of 'requests' could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or context for using this tool among the many similar group-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_settingsB

Returns community settings. VK API method: groups.getSettings. Tool name: vk_groups_get_settings. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Mentions 'Access level: read,' implying a read-only operation, but lacks details on side effects or requirements. No annotations provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Contains repetitive details (tool name, section, access level) that could be condensed; the first sentence is sufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple getter with one parameter, but lacks description of output format or settings content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; description adds no extra meaning beyond the schema's parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns community settings, distinguishing it from other vk_groups_get_* tools that retrieve members, banned, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; simply states its function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_tag_listC

List of group's tags VK API method: groups.getTagList. Tool name: vk_groups_get_tag_list. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states the tool is read-only but does not disclose any behavioral traits such as error handling, pagination, authentication requirements, or side effects. This is insufficient for an agent to predict behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and conveys core purpose. However, it redundantly repeats 'VK API method', 'Tool name', and 'Section', which could be omitted for conciseness without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple schema (one parameter, no output schema), the description lacks crucial context for an agent: return format, pagination, whether tags are returned as objects or strings, and error behavior. It is incomplete for reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, group_id, is not described in the text. Schema coverage is 0%, so the description should compensate but does not. The parameter name is self-explanatory, but no additional context (e.g., that it must be a valid VK group ID) is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List of group's tags', indicating the tool returns tags for a group. It also identifies the underlying VK API method and access level. However, it does not explicitly differentiate from sibling tools that also list group resources, like vk_groups_get_members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'Access level: read', implying the tool is safe to call, but provides no explicit guidance on when to use it versus alternative tools like vk_groups_get_settings. No when-not or alternative tool references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_get_token_permissionsD

groups.getTokenPermissions

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations and the description provides no behavioral details. Does not disclose authentication needs, side effects, or return value characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise but under-specified. One word of actual content (the method name) does not qualify as effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Completely inadequate for a tool with no annotations and no output schema. Should describe purpose and return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema coverage is 100%, but the description adds zero meaning. It fails to state what the tool does, which is still necessary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a tautology, restating the tool name 'groups.getTokenPermissions' without explaining what it does. No verb or resource context provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when or when not to use this tool. Sibling tools like vk_groups_get exist but no differentiation is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_groups_is_memberC

Returns information specifying whether a user is a member of a community. VK API method: groups.isMember. Tool name: vk_groups_is_member. Section: groups. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesID or screen name of the community.
user_idNoUser ID.
user_idsNoUser IDs.
extendedNo'1' - to return an extended response with additional fields. By default: '0'.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full behavioral burden. It only states 'returns information specifying whether a user is a member' and mentions read access level. Lacks details on handling of multiple user_ids, response format, rate limits, or what extended adds.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is short but includes redundant information (repeats tool name and VK API method). It is front-loaded with the main purpose, but some redundancy reduces conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple membership check tool, but it omits details on response format (e.g., returns boolean or array) and how the extended parameter affects output. No output schema, so description should clarify.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter having a description. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it returns whether a user is a member of a community, which is specific and matches the tool name. It does not explicitly differentiate from similar siblings like vk_groups_get_members, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., vk_groups_get_members for listing members). No when-not or exclusions provided. The 'access level: read' hint is present but insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_getC

Returns a list of a user's or community's photos. VK API method: photos.get. Tool name: vk_photos_get. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of the user or community that owns the photos. Use a negative value to designate a community ID.
album_idNoPhoto album ID. To return information about photos from service albums, use the following string values: 'profile, wall, saved'.
photo_idsNoPhoto IDs.
revNoSort order: '1' - reverse chronological, '0' - chronological
extendedNo'1' - to return additional 'likes', 'comments', and 'tags' fields, '0' - (default)
feed_typeNoType of feed obtained in 'feed' field of the method.
feedNounixtime, that can be obtained with [vk.com/dev/newsfeed.get|newsfeed.get] method in date field to get all photos uploaded by the user on a specific day, or photos the user has been tagged on. Also, 'uid' parameter of the user the event happened with shall be specified.
photo_sizesNo'1' - to return photo sizes in a [vk.com/dev/photo_sizes|special format]
offsetNo
countNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. It only mentions 'Access level: read' but does not address pagination, rate limits, response size, or any side effects. This is insufficient for a tool with 10 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. It contains unnecessary self-referential info (tool name, section) but is not verbose. Could be slightly improved by removing redundancy and adding key parameter context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain the tool's filtering, sorting, pagination, and extended fields, relying solely on schema descriptions for semantic understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 80% of parameters with descriptions, so the baseline is 3. The description adds no additional information about parameters beyond what the schema provides, but it does not contradict or detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of a user's or community's photos and identifies it as a read operation. However, it does not differentiate from sibling tools like vk_photos_get_all or vk_photos_get_by_id, nor does it mention filtering capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description lacks any context about prerequisites, when to prefer this over similar tools, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_albumsC

Returns a list of a user's or community's photo albums. VK API method: photos.getAlbums. Tool name: vk_photos_get_albums. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of the user or community that owns the albums.
album_idsNoAlbum IDs.
offsetNoOffset needed to return a specific subset of albums.
countNoNumber of albums to return.
need_systemNo'1' - to return system albums with negative IDs
need_coversNo'1' - to return an additional 'thumb_src' field, '0' - (default)
photo_sizesNo'1' - to return photo sizes in a

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only states 'Access level: read' but does not disclose pagination behavior, rate limits, or other side effects. Adds little beyond 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, with two redundant sentences (tool name and section). Could be more concise with one or two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema. Description lacks pagination details and return format. Basic but functional for a list retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with detailed parameter descriptions. The description adds no additional context for parameters, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool returns photo albums for a user or community, using specific verb and resource. No differentiation from siblings, but purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. Does not mention filtering or when not to use. Basic description only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_albums_countB

Returns the number of photo albums belonging to a user or community. VK API method: photos.getAlbumsCount. Tool name: vk_photos_get_albums_count. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
group_idNoCommunity ID.
need_systemNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While 'Access level: read' is stated, no annotations exist, so description should disclose more. It does not explain behavior for missing parameters, whether both IDs can be omitted, or the function of need_system.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is short but includes redundant information (VK API method, tool name, section). Could be streamlined without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, yet description fails to mention return type (likely integer). Lacks details on parameter constraints or behavior, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, so baseline is 3. Description does not add meaning beyond schema; need_system remains undocumented. No additional parameter context provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns the number of photo albums for a user or community, distinct from other VK photo tools that list albums. The verb 'Returns' and resource 'number of photo albums' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool over alternatives like vk_photos_get_albums, or which parameters to use. Does not specify that user_id and group_id are optional or how they interact.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_allC

Returns a list of photos belonging to a user or community, in reverse chronological order. VK API method: photos.getAll. Tool name: vk_photos_get_all. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of a user or community that owns the photos. Use a negative value to designate a community ID.
extendedNo'1' - to return detailed information about photos
offsetNoOffset needed to return a specific subset of photos. By default, '0'.
countNoNumber of photos to return.
photo_sizesNo'1' - to return image sizes in [vk.com/dev/photo_sizes|special format].
no_service_albumsNo'1' - to return photos only from standard albums, '0' - to return all photos including those in service albums, e.g., 'My wall photos' (default)
need_hiddenNo'1' - to show information about photos being hidden from the block above the wall.
skip_hiddenNo'1' - not to return photos being hidden from the block above the wall. Works only with owner_id>0, no_service_albums is ignored.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It mentions the tool is read-only ('Access level: read') and the sort order, but lacks details on pagination, rate limits, or return format. Important behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with the main purpose in the first sentence. However, it includes redundant metadata (VK API method, tool name, section) that could be omitted or integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description is incomplete. It does not discuss pagination, maximum count, or how the extended parameter works. The agent would need additional context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 8 parameters have detailed descriptions in the input schema (100% coverage), so the description adds no extra parameter information. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of photos for a user or community in reverse chronological order, identifying the resource and operation. However, it does not differentiate from sibling tools like vk_photos_get or vk_photos_get_user_photos, so it lacks distinctiveness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It implies usage for retrieving all photos but does not exclude other tools for specific albums or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_all_commentsB

Returns a list of comments on a specific photo album or all albums of the user sorted in reverse chronological order. VK API method: photos.getAllComments. Tool name: vk_photos_get_all_comments. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of the user or community that owns the album(s).
album_idNoAlbum ID. If the parameter is not set, comments on all of the user's albums will be returned.
need_likesNo'1' - to return an additional 'likes' field, '0' - (default)
offsetNoOffset needed to return a specific subset of comments. By default, '0'.
countNoNumber of comments to return. By default, '20'. Maximum value, '100'.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions sorting order but lacks details on pagination, rate limits, authentication, or side effects. Since no annotations exist, the description carries the burden; it partially fulfills it by stating the read access level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant statements like 'Tool name: vk_photos_get_all_comments' and 'Section: photos'. While not verbose, some sentences do not earn their place relative to the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters and no output schema, the description covers the primary operation but omits details about pagination parameters (offset, count) and return structure. It is minimally complete for a read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal clarification (e.g., 'on a specific photo album or all albums' for album_id) but does not significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a list of comments on a specific photo album or all albums, sorted reverse chronologically. It distinguishes from the sibling 'vk_photos_get_comments' (which likely operates on a single photo) by specifying album-level scope, but does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like vk_photos_get_comments. The description includes metadata like 'VK API method' and 'Access level: read' but does not offer context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_by_idB

Returns information about photos by their IDs. VK API method: photos.getById. Tool name: vk_photos_get_by_id. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
photosYesIDs separated with a comma, that are IDs of users who posted photos and IDs of photos themselves with an underscore character between such IDs. To get information about a photo in the group album, you shall specify group ID instead of user ID. Example: "1_129207899,6492_135055734, , -20629724_271945303"
extendedNo'1' - to return additional fields, '0' - (default)
photo_sizesNo'1' - to return photo sizes in a

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only mentions 'Access level: read' but does not disclose other behavioral traits such as rate limits, authentication requirements, error handling, or what happens with invalid IDs. Since no annotations are provided, the description carries the full burden and falls short.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. However, the second sentence listing metadata (API method, tool name, section, access level) could be integrated or omitted if redundant. Still, it is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does not clarify the return value structure or fields. It also lacks context on typical usage scenarios, such as when to use extended or photo_sizes parameters. The description is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with detailed descriptions for each parameter (e.g., photos format, extended, photo_sizes). The description adds no further meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool returns information about photos by their IDs, using the VK API method photos.getById. This is specific and distinct from sibling tools like vk_photos_get or vk_photos_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description merely repeats the tool name and API method, without explaining the context or circumstances that favor this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_chat_upload_serverC

Returns an upload link for chat cover pictures. VK API method: photos.getChatUploadServer. Tool name: vk_photos_get_chat_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
chat_idYesID of the chat for which you want to upload a cover photo.
crop_xNo
crop_yNo
crop_widthNoWidth (in pixels) of the photo after cropping.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states 'Returns an upload link' and 'Access level: read', but does not disclose behavioral traits such as required permissions, error handling, rate limits, or what happens after getting the link. The description is minimal and does not add significant value beyond the basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is concise: 'Returns an upload link for chat cover pictures.' However, the subsequent three lines (VK API method, tool name, section, access level) are redundant and unnecessarily bloat the description. The structure is front-loaded but contains filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the upload workflow, the response format, or how to use the returned link. For a tool that returns an upload server URL, contextual steps (e.g., upload image then call another method) are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only chat_id and crop_width have descriptions). The tool description does not elaborate on any parameters, including the undocumented crop_x and crop_y. It does not compensate for the missing schema documentation, leaving ambiguity about the cropping parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns an upload link for chat cover pictures, which distinguishes it from other photo upload server tools among siblings (e.g., vk_photos_get_messages_upload_server, vk_photos_get_wall_upload_server). However, it includes redundant information (VK API method, tool name, section, access level) that does not enhance clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description merely states its own purpose without mentioning any conditions, prerequisites, or excluding scenarios. Sibling tools for other photo upload contexts are not compared.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_commentsC

Returns a list of comments on a photo. VK API method: photos.getComments. Tool name: vk_photos_get_comments. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of the user or community that owns the photo.
photo_idYesPhoto ID.
need_likesNo'1' - to return an additional 'likes' field, '0' - (default)
start_comment_idNo
offsetNoOffset needed to return a specific subset of comments. By default, '0'.
countNoNumber of comments to return.
sortNoSort order: 'asc' - old first, 'desc' - new first
access_keyNo
extendedNo
fieldsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It only states 'Access level: read' implying no side effects, but fails to disclose pagination, sorting behavior, error responses, or what happens with invalid IDs. The description is insufficient for understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (2 sentences), but the second sentence is redundant, repeating the tool name and VK method. It could be more concise by removing the repetition and front-loading critical usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no output schema, no annotations), the description is severely lacking. It does not cover return format, error handling, pagination limits, or use cases. The tool's full context is not provided, making it incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60% (6 of 10 parameters have descriptions). The description adds no parameter-specific information beyond the schema. It does not clarify ambiguous parameters like 'access_key' or 'extended', nor explain the 'asc'/'desc' sort values adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of comments on a photo, which is a specific verb and resource. However, it does not distinguish itself from sibling tools like vk_photos_get_all_comments or vk_wall_get_comments, which reduces clarity for selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It only mentions 'Access level: read' but lacks context on prerequisites, when not to use, or comparison with other comment-retrieving tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_market_album_upload_serverB

Returns the server address for market album photo upload. VK API method: photos.getMarketAlbumUploadServer. Tool name: vk_photos_get_market_album_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesCommunity ID.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description states access level 'read' and return value 'server address', but does not elaborate on side effects, permissions, or server response format. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose. Includes redundant VK API method and tool name, but still concise and clear. Minor waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-param read operation with no output schema, description covers what the tool does and inputs. Lacks guidance on return format and error handling, but sufficient given low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter group_id with 100% schema coverage; description adds no extra meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the server address for market album photo upload, using specific verb and resource. It distinguishes from sibling tools like vk_photos_get_upload_server without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like vk_photos_get_upload_server. Does not mention prerequisites or context for using a market album upload server.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_messages_upload_serverA

Returns the server address for photo upload in a private message for a user. VK API method: photos.getMessagesUploadServer. Tool name: vk_photos_get_messages_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
peer_idNoDestination ID. "For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'Chat ID', e.g. '2000000001'. For community: '- Community ID', e.g. '-12345'. "

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must bear full burden. It mentions 'Access level: read' but lacks details on authentication requirements, rate limits, or that this server address is a preparatory step for subsequent upload. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is three sentences, front-loading the main purpose. Includes redundant mention of tool name but is otherwise efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple preparatory tool, it adequately explains what it does and the required parameter. With no output schema, it could hint at next steps (e.g., use returned address with save method), but the current completeness is sufficient for context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed description for 'peer_id'. The tool description adds no extra parameter information beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns the server address for photo upload in a private message, specifying the VK API method and access level. It distinguishes from sibling upload server tools (e.g., get_chat_upload_server) by mentioning 'private message'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for private message photo uploads, but provides no explicit when-to-use or when-not-to-use guidance. Does not compare with alternative upload server tools among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_new_tagsB

Returns a list of photos with tags that have not been viewed. VK API method: photos.getNewTags. Tool name: vk_photos_get_new_tags. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoOffset needed to return a specific subset of photos.
countNoNumber of photos to return.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden. It states the basic function but does not disclose side effects, required authentication beyond a vague 'access level: read', rate limits, pagination behavior, or what happens when no photos match. This is minimal 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) and front-loads the core purpose. However, it includes redundant phrases like 'Tool name: ...' and 'Section: photos' which add little value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain the return format (e.g., fields of each photo). For a list tool, this omission leaves the agent underspecified about what data to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no extra parameter details. Baseline of 3 is appropriate as schema already explains offset and count sufficiently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of photos with tags that have not been viewed. It specifies the VK API method and differentiates from sibling tools like vk_photos_get_tags which return tags for a specific photo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description lacks mentions of prerequisites, context of use, or exclusion criteria such as when a user might want to use vk_photos_get_tags instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_owner_cover_photo_upload_serverC

Returns the server address for owner cover upload. VK API method: photos.getOwnerCoverPhotoUploadServer. Tool name: vk_photos_get_owner_cover_photo_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idNoID of community that owns the album (if the photo will be uploaded to a community album).
crop_xNoX coordinate of the left-upper corner
crop_yNoY coordinate of the left-upper corner
crop_x2NoX coordinate of the right-bottom corner
crop_y2NoY coordinate of the right-bottom corner
is_video_coverNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It mentions 'Access level: read' but lacks details on rate limits, error cases, or that this is a step in a multi-step upload process.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with front-loaded purpose. However, it redundantly repeats the VK API method and tool name. Still concise overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no explanation of return value format or how to use the server address. The tool is part of a multi-step upload process, but the description lacks this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the schema already describes parameters. The description adds no additional meaning beyond what the schema provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the server address for owner cover upload, specifying the VK API method and section. However, it does not differentiate from sibling tools like vk_photos_get_owner_photo_upload_server, which is similar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor prerequisites or context. The description only states the purpose without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_owner_photo_upload_serverB

Returns an upload server address for a profile or community photo. VK API method: photos.getOwnerPhotoUploadServer. Tool name: vk_photos_get_owner_photo_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoidentifier of a community or current user. "Note that community id must be negative. 'owner_id=1' - user, 'owner_id=-1' - community, "

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions 'Access level: read' but lacks details on side effects, rate limits, or any behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Brief but includes redundant restatement of API method and tool name. First sentence is effective; second sentence adds little value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Does not explain how the upload server address is used (e.g., for uploading the photo). No mention of return format, which is important without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a detailed description for 'owner_id'. The tool description adds minimal extra meaning beyond 'profile or community photo', which is already implied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb ('Returns') and resource ('upload server address') with specificity to profile or community photo. Distinguishes from sibling upload server tools by mentioning 'owner photo'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like vk_photos_get_chat_upload_server or vk_photos_get_messages_upload_server. The description does not provide context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_tagsB

Returns a list of tags on a photo. VK API method: photos.getTags. Tool name: vk_photos_get_tags. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoID of the user or community that owns the photo.
photo_idYesPhoto ID.
access_keyNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It only states 'returns a list of tags' without details on pagination, rate limits, or side effects. The access level is mentioned as 'read'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant information (VK API method, tool name, section). Could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no output schema, and no annotations, the description is minimal. It lacks return format details, error handling, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 67% of parameters with descriptions. The description adds no additional parameter context beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of tags on a photo, using a specific verb and resource. It distinguishes from other vk_photos tools by specifying the exact VK API method.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like vk_photos_get_new_tags. No prerequisites or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_upload_serverC

Returns the server address for photo upload. VK API method: photos.getUploadServer. Tool name: vk_photos_get_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
album_idNo
group_idNoID of community that owns the album (if the photo will be uploaded to a community album).

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only says 'returns' but does not mention that this is a read operation, any side effects, or prerequisites like authentication. The access level 'read' is mentioned but is not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant lines repeating the VK API method and tool name. The first sentence is concise, but the rest adds little value, making it slightly inefficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description lacks crucial context: what to do with the server address, that it's a prerequisite for upload, and the roles of the parameters. It is incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain the parameters. While the schema provides a description for group_id, album_id lacks one. The description adds no value beyond the schema, and with 50% schema coverage, it fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the server address for photo upload. However, it does not differentiate this from sibling tools like vk_photos_get_chat_upload_server or vk_photos_get_wall_upload_server, which have similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without any contextual advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_user_photosB

Returns a list of photos in which a user is tagged. VK API method: photos.getUserPhotos. Tool name: vk_photos_get_user_photos. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
offsetNoOffset needed to return a specific subset of photos. By default, '0'.
countNoNumber of photos to return. Maximum value is 1000.
extendedNo'1' - to return an additional 'likes' field, '0' - (default)
sortNoSort order: '1' - by date the tag was added in ascending order, '0' - by date the tag was added in descending order

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that it is a read operation ('Access level: read') and returns tagged photos, but fails to mention paging behavior, required permissions beyond read, or any side effects. It does not contradict annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant information (tool name, method name, section) that does not add value for an AI agent. While not verbose, it wastes words that could be used for behavioral or usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema or annotations, the description is incomplete. It does not explain required vs optional parameters (user_id is not required but implied), return format, or pagination behavior (offset/count).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described in the input schema. The description adds no new information beyond what the schema already provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of photos where a user is tagged, using a specific verb ('Returns') and resource ('photos in which a user is tagged'). This distinguishes it from sibling tools like vk_photos_get (which returns album photos) and vk_photos_get_all.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as vk_photos_get or vk_photos_get_all. There are no usage contexts, exclusions, or references to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_photos_get_wall_upload_serverB

Returns the server address for photo upload onto a user's wall. VK API method: photos.getWallUploadServer. Tool name: vk_photos_get_wall_upload_server. Section: photos. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idNoID of community to whose wall the photo will be uploaded.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description only says it returns a server address; it does not disclose side effects, permissions, rate limits, or behavior when group_id is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat verbose, repeating the tool name and API method; it could be more concise by omitting redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple tool, but lacking output schema, it does not describe the return value format; completeness is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the parameter fully, and the tool description does not add extra meaning beyond what the schema provides; baseline 3 for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a server address for photo upload onto a user's wall, distinguishing it from other upload server tools like chat or market album.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives; the description does not differentiate from similar tools like vk_photos_get_chat_upload_server.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_users_getC

Returns detailed information on users. VK API method: users.get. Tool name: vk_users_get. Section: users. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idsNoUser IDs or screen names ('screen_name'). By default, current user ID.
fieldsNoProfile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'contacts', 'education', 'online', 'counters', 'relation', 'last_seen', 'activity', 'can_write_private_message', 'can_see_all_posts', 'can_post', 'universities', 'can_invite_to_chats'
name_caseNoCase for declension of user name and surname: 'nom' - nominative (default), 'gen' - genitive , 'dat' - dative, 'acc' - accusative , 'ins' - instrumental , 'abl' - prepositional
from_group_idNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits such as authentication requirements, rate limits, or side effects. The description only states a basic read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes redundant information like the VK API method, tool name, section, and access level, which do not add value. It could be more concise while preserving the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain what 'detailed information' includes. It does not list typical fields or clarify the structure of the response, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, and the schema itself provides adequate descriptions for user_ids, fields, and name_case. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns detailed information on users, and the name aligns with the purpose. However, it does not differentiate from sibling tools like vk_users_get_followers or vk_users_search, which also retrieve user data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites, and no exclusions. The agent must infer usage solely from the name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_users_get_followersB

Returns a list of IDs of followers of the user in question, sorted by date added, most recent first. VK API method: users.getFollowers. Tool name: vk_users_get_followers. Section: users. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
offsetNoOffset needed to return a specific subset of followers.
countNoNumber of followers to return.
fieldsNoProfile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online'.
name_caseNoCase for declension of user name and surname: 'nom' - nominative (default), 'gen' - genitive , 'dat' - dative, 'acc' - accusative , 'ins' - instrumental , 'abl' - prepositional

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are missing, so the description carries full burden. It mentions 'Access level: read' and sorting, but does not disclose rate limits, authentication requirements, or pagination behavior beyond parameter descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence and metadata, but includes redundant information like the tool name and method. It is front-loaded with the key purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, so the description should explain return format in more detail. It says 'list of IDs' but does not address that providing the 'fields' parameter changes the output format to objects. This is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description adds no extra meaning beyond what the schema provides, meeting the baseline for well-described parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns a list of IDs of followers' and includes sorting order. It distinguishes from sibling tools like vk_friends_get by specifying followers, not friends.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Sibling tools like vk_users_get_subscriptions are not mentioned. The description lacks context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_users_get_subscriptionsC

Returns a list of IDs of users and communities followed by the user. VK API method: users.getSubscriptions. Tool name: vk_users_get_subscriptions. Section: users. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idNoUser ID.
extendedNo'1' - to return a combined list of users and communities, '0' - to return separate lists of users and communities (default)
offsetNoOffset needed to return a specific subset of subscriptions.
countNoNumber of users and communities to return.
fieldsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the access level is 'read', which implies no destructive actions, but it does not disclose other behavioral traits such as pagination behavior, rate limits, or what happens when user_id is omitted (likely defaults to current user). The description adds minimal value beyond the input schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that front-load the main purpose. However, it includes redundant information like the VK API method name, tool name, and section, which could be omitted for brevity without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters and no output schema, the description could provide more context about the return format, pagination behavior, or practical usage examples. It adequately states the core function but lacks completeness for an agent to fully understand the tool's behavior without relying on external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80% (4 out of 5 parameters have descriptions). The description itself adds no additional context about parameters beyond what the schema already provides. With high coverage, a score of 3 is appropriate as the description does not compensate for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of IDs of users and communities followed by a user. It specifies the VK API method and access level. However, it does not differentiate from sibling tools like vk_users_get_followers, which also returns followers. The purpose is clear but could be more specific to avoid confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as vk_users_get_followers or vk_groups_get_members. There is no mention of prerequisites, context, or scenarios where this tool is appropriate. The agent gets no help in choosing between similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_wall_getC

Returns a list of posts on a user wall or community wall. VK API method: wall.get. Tool name: vk_wall_get. Section: wall. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoUser or community short address.
offsetNoOffset needed to return a specific subset of posts.
countNoNumber of posts to return (maximum 100).
filterNo
extendedNo'1' - to return 'wall', 'profiles', and 'groups' fields, '0' - to return no additional fields (default)
fieldsNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It only mentions 'Access level: read' but lacks details on pagination, rate limits, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short but includes redundant info like 'Tool name: vk_wall_get' and 'Section: wall'. Could be more efficient by omitting these known details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters and no output schema, the description is severely incomplete. It fails to explain output structure, pagination, or how to use key parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (4/6 params have descriptions). The tool description adds no additional meaning beyond the schema, leaving undocumented parameters like 'filter' and 'fields' unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns a list of posts on a user or community wall. Distinguishes from siblings like vk_wall_get_by_id (single post) and vk_wall_search (search).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not specify prerequisites or context such as requiring a domain or user ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_wall_get_by_idB

Returns a list of posts from user or community walls by their IDs. VK API method: wall.getById. Tool name: vk_wall_get_by_id. Section: wall. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
postsYesUser or community IDs and post IDs, separated by underscores. Use a negative value to designate a community ID. Example: "93388_21539,93388_20904,2943_4276,-1_1"
extendedNo'1' - to return user and community objects needed to display posts, '0' - no additional fields are returned (default)
copy_history_depthNoSets the number of parent elements to include in the array 'copy_history' that is returned if the post is a repost from another wall.
fieldsNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It notes 'Access level: read,' indicating no destructive side effects. However, it does not disclose rate limits, potential errors, or the behavior of the copy_history_depth parameter. The read access hint is minimal additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (three sentences). The first sentence efficiently conveys purpose. The second and third sentences repeat metadata (VK API method, tool name, section) that is likely redundant or obvious from the tool name and context. It could be more concise by omitting redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description should provide more context about return format, common use cases, or error scenarios. It covers basic purpose and access level but lacks deeper context needed for a tool with multiple parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (3 of 4 parameters described), so baseline is 3. The description does not add any parameter details beyond the schema. The schema already explains the 'posts' format and 'extended'/'copy_history_depth' purposes. The description adds no additional semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Returns a list of posts from user or community walls by their IDs.' This specifies the action (returns), resource (posts from walls), and method (by IDs), distinguishing it from siblings like vk_wall_get (which likely retrieves posts without specific IDs) and vk_wall_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention when not to use it, prerequisites, or compare with siblings like vk_wall_get or vk_wall_search. The agent must infer usage context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_wall_get_commentC

Returns a comment on a post on a user wall or community wall. VK API method: wall.getComment. Tool name: vk_wall_get_comment. Section: wall. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoUser ID or community ID. Use a negative value to designate a community ID.
comment_idYesComment ID.
extendedNo
fieldsNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses it is a read operation with 'Access level: read', which is sufficient for a simple retrieval. However, no annotations are present, and the description does not cover potential errors or rate limits, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description includes redundant metadata (VK API method, tool name, section) that could be omitted. It is reasonably concise but not optimally front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool, the description covers the basic purpose and indicates it returns a single comment. However, it does not clarify optional parameters like owner_id or the return structure, leaving some completeness gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (2 of 4 parameters have descriptions). The description does not elaborate on the undocumented 'extended' and 'fields' parameters, failing to compensate for missing schema info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a comment on a wall post, specifying the resource and action. However, it does not differentiate from sibling tools like vk_wall_get_comments which returns multiple comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. The description only explains what it does, not context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_wall_get_commentsB

Returns a list of comments on a post on a user wall or community wall. VK API method: wall.getComments. Tool name: vk_wall_get_comments. Section: wall. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoUser ID or community ID. Use a negative value to designate a community ID.
post_idNoPost ID.
need_likesNo'1' - to return the 'likes' field, '0' - not to return the 'likes' field (default)
start_comment_idNo
offsetNoOffset needed to return a specific subset of comments.
countNoNumber of comments to return (maximum 100).
sortNoSort order: 'asc' - chronological, 'desc' - reverse chronological
preview_lengthNoNumber of characters at which to truncate comments when previewed. By default, '90'. Specify '0' if you do not want to truncate comments.
extendedNo
fieldsNo
comment_idNoComment ID.
thread_items_countNoCount items in threads.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'Access level: read,' indicating it's a read operation, but does not disclose pagination behavior, rate limits, or error scenarios. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (three sentences) and front-loaded with the core purpose. However, it could include more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters and no output schema or annotations, the description should provide more behavioral context (e.g., pagination, default values, return structure). It is incomplete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so many parameters are already documented. The description does not add extra meaning beyond the schema, providing no additional context for parameters like 'smart' sort or 'extended' field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a list of comments on a post, specifying the resource (comments) and context (user or community wall). It distinguishes itself from sibling tools like vk_wall_get (which returns posts) and vk_photos_get_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any prerequisites or limitations mentioned. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vk_wall_get_repostsB

Returns information about reposts of a post on user wall or community wall. VK API method: wall.getReposts. Tool name: vk_wall_get_reposts. Section: wall. Access level: read.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idNoUser ID or community ID. By default, current user ID. Use a negative value to designate a community ID.
post_idNoPost ID.
offsetNoOffset needed to return a specific subset of reposts.
countNoNumber of reposts to return.

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states it is a read operation ('Access level: read') but omits details such as behavior for invalid parameters, pagination limits beyond the schema, or whether access tokens are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, but the second and third sentences ('VK API method: wall.getReposts. Tool name: vk_wall_get_reposts. Section: wall. Access level: read.') are redundant with the tool name and schema annotations. Could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no output schema, the description is insufficient. It does not explain response structure, error handling, or any prerequisites. The tool's purpose is clear but context is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all parameters with detailed descriptions (e.g., owner_id explains negative values for community). The description adds no additional parameter meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns information about reposts of a post, using a specific verb and resource. It includes the VK API method and section, and the tool name distinguishes it from sibling wall tools that handle posts or comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vk_wall_get or vk_wall_get_comments. It mentions 'Access level: read' but does not give explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.6/5.0
Disambiguation5/5

Tools are grouped by clear sections (friends, groups, photos, users, wall) and each tool has a distinct purpose within its section. There is no ambiguity or overlap; one can easily distinguish between tools like vk_friends_get and vk_friends_search.

Naming Consistency5/5

All tool names follow the consistent pattern vk_<section>_<method> in snake_case, making them predictable and easy to understand. The naming is uniform across all 59 tools.

Tool Count2/5

With 59 tools, the server is excessively large for typical MCP usage. While the VK API is extensive, this number of tools makes it unwieldy for agents to navigate and select appropriately. A more focused subset would be preferable.

Completeness2/5

The tools are almost exclusively read-only, lacking any create, update, or delete operations. While they cover many read scenarios for friends, groups, photos, users, and wall, the absence of write capabilities represents a significant gap for most practical use cases.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssm82/full-vk-mcp'

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