bulatko/vk-mcp-server

bulatko/vk-mcp-server

от bulatko
MCP сервер для работы с VK (ВКонтакте): читает профили, стены, группы, друзей, ленту новостей, фото; публикует посты и комментарии; получает статистику сообществ. Полезен разработчикам и администраторам для автоматизации через ИИ-ассистентов.

VK MCP Server

VK Logo

npm version npm downloads CI license

Model Context Protocol (MCP) server for VK (VKontakte) social network API

Enables AI assistants like Claude to interact with VK through a standardized interface.

vk-mcp-server MCP server


Features

  • Read Operations: Get users, wall posts, groups, friends, newsfeed, photos
  • Write Operations: Create posts, add comments
  • Analytics: Get community statistics
  • Secure: Token-based authentication via environment variable
  • Tested: Comprehensive test coverage
  • Easy Install: Available on npm and MCP Registry

Quick Start

Installation
npm install -g vk-mcp-server

Or run directly with npx:

npx vk-mcp-server
MCP Registry

Also available in the official MCP Registry:

io.github.bulatko/vk

Getting VK Access Token

  1. Go to VK Developers and create a Standalone app
  2. Get your app ID
  3. Open this URL (replace YOUR_APP_ID):
    https://oauth.vk.com/authorize?client_id=YOUR_APP_ID&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,wall,groups,photos,stats,offline&response_type=token&v=5.199
    
  4. Authorize and copy the access_token from the URL
Инструменты были проиндексированы:
vk_friends_getтолько чтениеидемпотентныйвнешний мир

Выводит список друзей пользователя. Возвращает только идентификаторы, если не запросить дополнительные поля. Требует токен пользователя и работает только для профилей, которые открывают свой список друзей.

Перечисляет друзей.

Параметры
  • countnumber

    Number of friends

  • fieldsstring

    Profile fields

  • orderenum
  • user_idnumber

    User ID. Defaults to the token owner.

vk_groups_getтолько чтениеидемпотентныйвнешний мир

Перечисляет сообщества, к которым принадлежит владелец токена. Требуется пользовательский токен: токен сообщества или сервисный токен не сможет ответить на этот запрос.

Перечисляет ваши сообщества

Параметры
  • countnumber

    Number of communities

  • fieldsstring

    Community fields

  • filterstring

    Filter by type

  • user_idnumber

    User ID. Defaults to the token owner.

vk_groups_get_by_idтолько чтениеидемпотентныйвнешний мир

Находит сообщества по числовому идентификатору или короткому имени (например, apiclub). Позволяет сопоставить имя с идентификатором или прочитать описание, количество участников и тип, прежде чем решить, что с ним делать.

Получает информацию о сообществе.

Параметры
  • fieldsstring

    Community fields

  • group_idsstring

    Comma-separated community IDs or short names (e.g. apiclub,vk). Positive and without the minus sign.

vk_groups_get_membersтолько чтениеидемпотентныйвнешний мир

Перечисляет участников сообщества. Возвращает только идентификаторы пользователей, если не запросить поля; в этом случае возвращает профили. Многие сообщества скрывают список участников, поэтому запрос возвращает ошибку доступа, а не пустой список.

Перечисляет участников сообщества.

Параметры
  • countnumber

    Number of members to return (max 1000)

  • fieldsstring

    Additional profile fields to return (e.g. photo_200,online,sex,city)

  • filterenum

    Filter: managers, editors, mods, advertisers, friends, unsure

  • group_idstringобязательный

    Community ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.

  • offsetnumber

    Offset for pagination

  • sortenum

    Sort order: id_asc, id_desc, time_asc, time_desc

vk_groups_joinидемпотентныйвнешний мир

Присоединяется к сообществу как владелец токена либо отправляет запрос на вступление, если оно закрыто. Здесь group_id положительный, без знака минус.

Присоединяйтесь к сообществу.

Параметры
  • group_idstringобязательный

    Community ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.

  • not_sureenum

    For events only: 1 — "maybe attending", 0 — confirmed

vk_groups_searchтолько чтениеидемпотентныйвнешний мир

Находит сообщества по ключевому слову, при необходимости фильтруя по типу, стране, городу или порядку сортировки. Возвращает совпадения с общим количеством.

Ищет сообщества.

Параметры
  • city_idnumber

    City ID to filter by

  • countnumber

    Number of results (max 1000)

  • country_idnumber

    Country ID to filter by

  • fieldsstring

    Additional community fields to return

  • futureenum

    Filter future events: 1 — only future events

  • offsetnumber

    Offset for pagination

  • qstringобязательный

    Search query

  • sortenum

    Sort order: 0 — default, 1 — by speed, 6 — by likes

  • typeenum

    Community type: group, page or event

vk_likes_getтолько чтениеидемпотентныйвнешний мир

Перечисляет пользователей, которые поставили лайк или отреагировали на объект (пост, комментарий, фото или видео), с количеством по каждой реакции. owner_id отрицательный для сообщества; item_id - идентификатор поста или объекта.

Показывает, кто отреагировал.

Параметры
  • countnumber

    Number of users to return (max 1000)

  • item_idnumberобязательный

    Object ID

  • offsetnumber

    Offset for pagination

  • owner_idnumber

    Owner ID of the object (negative for community)

  • reaction_idenum

    Filter by reaction: 0 — like ❤️, 1 — laugh 😂, 2 — wow 😮, 3 — admiration 🔥, 4 — angry 😡, 5 — sad 😢

  • typeenumобязательный

    Object type

vk_newsfeed_getтолько чтениеидемпотентныйвнешний мир

Читает собственную ленту новостей владельца токена. Нужен пользовательский токен: это лента аккаунта, которому принадлежит токен, а не публичная.

Читает вашу ленту новостей.

Параметры
  • countnumber

    Number of items

  • filtersstring

    Filter by type: post, photo, video

  • start_fromstring

    Pagination cursor

vk_photos_getтолько чтениеидемпотентныйвнешний мир

Перечисляет фотографии из альбома. Параметр album_id принимает wall, profile или saved, а также числовой идентификатор альбома. owner_id отрицателен для сообщества.

Параметры
  • album_idstring

    Album ID or: wall, profile, saved

  • countnumber

    Number of photos

  • owner_idnumber

    Album owner: negative for a community, positive for a person.

vk_photos_upload_wallвнешний мир

Загружает фотографию, чтобы её можно было прикрепить к посту. Принимает URL или локальный путь к файлу, выполняет трёхэтапную загрузку VK и возвращает строку вложения, например photo-1_2, для передачи в vk_wall_post или vk_wall_edit. group_id здесь положительный, без знака минус.

Загружает фотографию для поста.

Параметры
  • captionstring

    Photo caption

  • group_idstring

    Community ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.

  • imagestringобязательный

    Image URL (http/https) or absolute local file path

vk_stats_getтолько чтениеидемпотентныйвнешний мир

Читает статистику сообщества по периодам: охват, посетители и активность. Владелец токена должен быть администратором этого сообщества, иначе VK откажет в доступе.

Статистика сообщества

Параметры
  • group_idstringобязательный

    Community ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.

  • intervalenum
  • intervals_countnumber

    Number of intervals

vk_users_getтолько чтениеидемпотентныйвнешний мир

Находит пользователей VK по числовому ID или короткому имени (например, durov). Используйте это, чтобы преобразовать имя в ID перед вызовом других инструментов или проверить, закрыт ли профиль.

Получает профили пользователей.

Параметры
  • fieldsstring

    Profile fields to return

  • user_idsstring

    Comma-separated user IDs or screen names

vk_users_searchтолько чтениеидемпотентныйвнешний мир

Находит пользователей VK по имени, при необходимости с фильтрацией по городу, стране, полу или возрасту. Возвращает совпадения с общим количеством; результаты листаются через offset.

Ищет пользователей.

Параметры
  • age_fromnumber

    Minimum age

  • age_tonumber

    Maximum age

  • citynumber

    City ID to filter by

  • countnumber

    Number of results (max 1000)

  • countrynumber

    Country ID to filter by

  • fieldsstring

    Additional profile fields to return

  • offsetnumber

    Offset for pagination

  • qstringобязательный

    Search query (name or keywords)

  • sexenum

    Sex filter: 1 — female, 2 — male

vk_wall_create_commentвнешний мир

Добавляет комментарий к записи. owner_id отрицателен для сообщества. Возвращает новый comment_id.

Комментирует пост

Параметры
  • messagestringобязательный

    Comment text

  • owner_idnumberобязательный

    Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.

  • post_idnumberобязательный

    Post ID

vk_wall_deleteвнешний мир

Удаляет запись со стены. Для сообщества owner_id отрицательный. Это действие нельзя отменить.

Удаляет пост.

Параметры
  • owner_idnumber

    Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.

  • post_idnumberобязательный

    Post ID to delete

vk_wall_editвнешний мир

Заменяет текст или вложения существующей записи. owner_id отрицателен для сообщества. Редактирование перезаписывает предыдущее содержимое, поэтому передавайте полный новый текст, а не дополнение.

Редактирует пост.

Параметры
  • attachmentsstring

    Comma-separated attachments

  • messagestring

    New post text

  • owner_idnumber

    Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.

  • post_idnumberобязательный

    Post ID to edit

vk_wall_getтолько чтениеидемпотентныйвнешний мир

Читает записи со стены пользователя или сообщества, сначала самые новые. Передаёт domain для короткого адреса (durov) или owner_id для числового: отрицательный для сообщества, положительный для человека. Каждая запись содержит свои лайки, репосты, комментарии и просмотры.

Читает стену.

Параметры
  • countnumber

    Number of posts (1-100)

  • domainstring

    Short address of user or community

  • filterenum

    Filter: all, owner, others, postponed, suggests

  • offsetnumber

    Offset for pagination

  • owner_idnumber

    Wall owner ID (negative for community)

vk_wall_get_by_idтолько чтениеидемпотентныйвнешний мир

Получает конкретные посты по их полным идентификаторам в формате {owner_id}_{post_id}, например, -1_340393. Используйте его, чтобы перечитать уже знакомый пост, например, только что опубликованный.

Получает конкретные публикации.

Параметры
  • fieldsstring

    Additional profile fields to return

  • postsstringобязательный

    Comma-separated post IDs in format {owner_id}_{post_id} (e.g. -123_456)

vk_wall_postвнешний мир

Публикует запись на стене. Для публикации в сообществе устанавливает owner_id равным ID сообщества со знаком минус (-123) и from_group true, иначе запись отображается как ваша личная запись на стене сообщества. Прикрепляет медиа с помощью строки attachments, которую возвращает vk_photos_upload_wall. Возвращает новый post_id.

Публикует пост.

Параметры
  • attachmentsstring

    Comma-separated attachments (e.g. photo123_456,link)

  • from_groupboolean

    Post on behalf of community

  • guidstring

    Unique identifier to prevent duplicate posts

  • messagestringобязательный

    Post text content

  • owner_idnumber

    Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.

  • publish_datenumber

    Unix timestamp for scheduled post (must be within 2 weeks)

Похожие MCP-сервера

ferdousbhai/wsb-analyst-mcp

ferdousbhai/wsb-analyst-mcp

MCP-сервер для анализа данных WallStreetBets: подтягивает посты, комментарии, тикеры и ссылки с реддит-сообщества. Помогает трейдерам и аналитикам быстро оценивать настроения рынка через Claude или...

Python30
saseq/discord-mcp

saseq/discord-mcp

MCP-сервер для Discord API, интегрирующий ботов с ИИ-ассистентами. Даёт AI полный контроль над сервером: управление каналами, сообщениями и модерацией. Идеален для автоматизации Discord-сообществ.

Java482
karanb192/reddit-mcp-buddy

karanb192/reddit-mcp-buddy

MCP-сервер для просмотра Reddit через Claude и другие AI-ассистенты. Ищет посты, читает комментарии, анализирует профили — без регистрации API-ключа. Работает сразу, есть три уровня доступа (до 100 запросов/мин). Полезен, когда нужно быстро собрать обсуждения с Reddit.

TypeScript818
gwbischof/bluesky-social-mcp

gwbischof/bluesky-social-mcp

MCP сервер для Bluesky на atproto. Выполняет все базовые действия: управление профилем, лентой и постами (текст/медиа), а также лайки, репосты и подписки. Подходит для автоматизации и разработки ботов.

Python16
chigwell/telegram-mcp

chigwell/telegram-mcp

Интеграция Telegram с MCP-клиентами через 80+ инструментов: от отправки сообщений до управления группами и файлами. Подходит для автоматизации, анализа чатов и работы с несколькими аккаунтами.

Python1583
Vovala14/vynly-mcp

Vovala14/vynly-mcp

MCP сервер для Vynly — AI-социальной сети для агентов. Позволяет публиковать изображения (постоянные посты или 24-часовые «спарки»), читать ленту и искать пользователей. Поддерживает автодетекцию п...

JavaScript4
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин