VK MCP for posting and the wall
VK MCP
An MCP server for the VKontakte wall: reading and posting, messages, friends, communities and group stats in 8 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 to the wall on behalf of the token owner
- Sends direct messages to other users
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/vk-mcpDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
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_ACCESS_TOKEN=<your VK_ACCESS_TOKEN>' vk -- npx -y @theyahia/vk-mcpOr add to the file .mcp.json, in the project
{
"mcpServers": {
"vk": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}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_ACCESS_TOKENsecret, required
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","type":"stdio","command":"npx","args":["-y","@theyahia/vk-mcp"],"env":{"VK_ACCESS_TOKEN":"<your VK_ACCESS_TOKEN>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"vk": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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 --env 'VK_ACCESS_TOKEN=<your VK_ACCESS_TOKEN>' -- npx -y @theyahia/vk-mcpOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.vk]
command = "npx"
args = ["-y", "@theyahia/vk-mcp"]
env = { VK_ACCESS_TOKEN = "<your VK_ACCESS_TOKEN>" }If the file already exists, append the block to the end.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}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_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}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_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"type": "local",
"command": [
"npx",
"-y",
"@theyahia/vk-mcp"
],
"environment": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
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": {
"command": "npx",
"args": [
"-y",
"@theyahia/vk-mcp"
],
"env": {
"VK_ACCESS_TOKEN": "<your VK_ACCESS_TOKEN>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
VK_ACCESS_TOKENsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Get a VK_ACCESS_TOKEN at vk.com/dev, add the server with claude mcp add vk -e VK_ACCESS_TOKEN=your-token -- npx -y @theyahia/vk-mcp, and use the post_wall tool or the post-wall prompt.
Other ways from the author
claude mcp add vk -e VK_ACCESS_TOKEN=your-token -- npx -y @theyahia/vk-mcpThe README's command for Claude Code.
This is third-party code. Review the repository files before installing.
What it does
The server wraps part of the VK API into 8 tools: reading wall posts of a user or community, posting to the wall, keyword search over the news feed, user and community info, a friends list, sending a direct message, and group statistics. Two ready prompts cover posting to a group and pulling N days of group stats. It runs over stdio by default or as a Streamable HTTP server on its own port. It is part of the same author's WWmcp series but installs as a separate npm package.
Who it is for. For people running a VKontakte community who want to post and read the wall directly from an agent.
Good fit when
- You want to post to a group's or personal wall from an agent conversation
- You want a quick statistics summary for a community over a period
- You need to search posts by keyword across the VK news feed
Not a fit when
- You need VK Ads rather than the wall and messages, that is a different server
- You need to manage a community's market items, photos or video, there are no tools for that
Example request
Post a webinar announcement to group 123456 and show the group's stats for the last 30 daysLimitations
It needs a VK_ACCESS_TOKEN with wall, messages and other scopes depending on the task. The project is small, and the README does not detail rate limits or VK API error handling. The tool posts and sends messages on behalf of the token owner, so it is worth issuing a token with the minimum required scopes.
How to disable. Remove the vk server from your MCP client configuration and revoke the VK_ACCESS_TOKEN in your VK app settings.
MCP
- Transport
- stdio, http
- Authentication
- API key
| Environment variables | |
|---|---|
| VK_ACCESS_TOKEN required, secret | A VK access token with scopes for the tools you need (wall, messages, friends, and others). |
| PORT | The port for Streamable HTTP mode, defaults to 3000. |
Security check
- Posts to the wall on behalf of the token owner
- Sends direct messages to other users
README in short
The Russian README sums up the server in one line: posting to VKontakte and working with the wall from a neural network. It gives ready configs for Claude Desktop, Claude Code, VS Code and Cursor plus a Smithery install, a table of 8 tools mapped to VK API methods, two prompt skills and example phrases. It separately covers the stdio and Streamable HTTP transports, the VK_ACCESS_TOKEN requirement, and retry and timeout settings.
FAQ
How is this different from the author's other VK MCP servers?
It is part of the WWmcp monorepo, but the separate @theyahia/vk-mcp package is specifically about the wall, messages and communities, not VK Ads.
Can it work without a token?
No, a VK_ACCESS_TOKEN is required for every tool.
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