VK community management MCP
vk-community-mcp
An MCP server for running a VKontakte community: settings, wall, cover and avatar, photo albums, market items and monitoring in 28 tools
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Posts, edits and deletes community wall posts
- Changes the community's cover, avatar and settings
- The token is obtained via a method the README itself calls a gray area under VK's terms
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/vk-community-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
This entry is high risk, so there is no one-click install. Review the code and add the config by hand.
Run in a terminal
claude mcp add --transport stdio --env 'VK_TOKEN=<your VK_TOKEN>' --env VK_API_VERSION=5.199 vk-community -- npx -y vk-community-mcpOr add to the file .mcp.json, in the project
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
code --add-mcp '{"name":"vk-community","type":"stdio","command":"npx","args":["-y","vk-community-mcp"],"env":{"VK_TOKEN":"<your VK_TOKEN>","VK_API_VERSION":"5.199"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"vk-community": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add vk-community --env 'VK_TOKEN=<your VK_TOKEN>' --env VK_API_VERSION=5.199 -- npx -y vk-community-mcpOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.vk-community]
command = "npx"
args = ["-y", "vk-community-mcp"]
env = { VK_TOKEN = "<your VK_TOKEN>", VK_API_VERSION = "5.199" }If the file already exists, append the block to the end.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"vk-community": {
"type": "local",
"command": [
"npx",
"-y",
"vk-community-mcp"
],
"environment": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"vk-community": {
"command": "npx",
"args": [
"-y",
"vk-community-mcp"
],
"env": {
"VK_TOKEN": "<your VK_TOKEN>",
"VK_API_VERSION": "5.199"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_TOKENsecret, required- User access token with admin rights on target communities
VK_DEFAULT_GROUP_IDoptional- Numeric community id used when tool group_id arg is not provided
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Get a community admin token (via an official VK ID app or the README's method), add the server to .mcp.json with VK_TOKEN and VK_DEFAULT_GROUP_ID env vars, running npx -y vk-community-mcp.
Other ways from the author
{
"vk-community": {
"command": "npx",
"args": ["-y", "vk-community-mcp"],
"env": {
"VK_TOKEN": "${VK_TOKEN}",
"VK_DEFAULT_GROUP_ID": "YOUR_GROUP_ID"
}
}
}The .mcp.json snippet from the README; VK_TOKEN is read from ~/.secrets/secrets.env.
This is third-party code. Review the repository files before installing.
What it does
The server gives an agent admin-level access to one or more VK communities: reading and editing group settings, posting, editing, deleting and pinning wall posts, uploading a cover and avatar from a local file, creating and filling photo albums, managing market items and reading stats. Every tool accepts an optional group_id when it should target a community other than the default. On a captcha during write operations, a tool returns VkCaptchaError with an image and sid so the call can be retried with the solved captcha.
Who it is for. For VKontakte community admins who want to run the wall, photos and market through an agent instead of the VK interface.
Good fit when
- You run several VK communities with a shared toolset and switch between them via group_id
- You need to upload a cover, avatar and album photos without opening VK manually
- You need monitoring and market item management for a community
Not a fit when
- You need a personal wall and messages, not community management
- You are not comfortable with the Kate Mobile OAuth token method the README itself calls a gray area under VK's terms
Example request
Update the community cover with cover.png and pin the post about the new collection to the wallLimitations
The README explicitly calls the Kate Mobile client_id token method a gray area of VK's terms: not officially permitted but widely used by SMM services like Senler and SMMplanner, and it recommends getting an official VK ID app via devsupport@corp.vk.com for production. A token with community admin rights is required. VK may demand a captcha on write operations if it suspects bot activity.
How to disable. Remove the vk-community server from .mcp.json and revoke the access token in your VK app settings.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| VK_TOKEN required, secret | A user access token with community admin rights. |
| VK_DEFAULT_GROUP_ID | The default numeric community id used when a tool call omits group_id. |
| VK_API_VERSION | Overrides the VK API version, defaults to 5.199. |
Security check
- Posts, edits and deletes community wall posts
- Changes the community's cover, avatar and settings
- The token is obtained via a method the README itself calls a gray area under VK's terms
README in short
The README describes the server as an MCP for managing VKontakte communities with 28 tools across group settings, wall, photos and cover, albums, market and monitoring. It candidly covers getting a user token via the Kate Mobile OAuth flow, with an explicit gray-area warning and a recommendation to get an official app for production. It also shows captcha handling on write operations and rate limits.
FAQ
What happens if VK demands a captcha?
The tool returns VkCaptchaError with a sid and an image URL; show it to the user, get the solution, and retry the call with captcha_sid and captcha_key.
Can the server manage several communities?
Yes, every tool accepts an optional group_id, and VK_DEFAULT_GROUP_ID sets the default community when group_id is omitted.
Related
A skill that strips AI writing tells from text using Wikipedia's list, without adding invented facts
Marketing Skills for AI agents
Marketing Skills for AI Agents
About fifty skills for CRO, copywriting, SEO, analytics, ads and launches, built for coding agents
SendPulse MCP server
SendPulse MCP
SendPulse's official remote MCP server: statistics, campaigns and user data through an agent chat
Yandex Direct MCP generated from a machine-readable schema
yandex-direct-mcp
An MCP server and CLI covering all 113 Yandex Direct API v5 methods generated from WSDL, exposing 9 read tools by default and writes only on demand