MCP server for VK API with 180+ tools: users, wall, groups, friends, photos, messages.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.
VK_MCP_MODE=all; safe defaults expose a smaller subset) โ users, wall, groups, friends, photos, videos, messages, market, stats, stories, polls, and moreads, secure).env support โ load token from environment file for local developmentThe VK API schema is downloaded automatically on the first run. No manual steps needed.
Create a .env file in the project root:
Or get a token from:
Required permissions depend on your use case:
wall โ posting and reading wallphotos โ uploading photosgroups โ community managementfriends, messages, market, stats โ as neededSecurity: Never commit your token to git. The
.envfile is already in.gitignore.
Instead of manually configuring sections and methods, use a built-in profile via VK_MCP_PROFILE:
| 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:
Env extends profile: list variables (sections, methods, excludes) are merged with the profile; scalar
modeis overridden by env.
Create .vscode/mcp.json:
For local development from a cloned repository, use:
Create .cursor/mcp.json:
Edit claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonFor local development from a cloned repository, use:
Use the stdio transport and provide VK_ACCESS_TOKEN via environment variables.
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) |
| 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) |
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 |
get*, search*, is*, are*, check*, resolve*, find*, count*, lookup*, list*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.
With npm/npx:
With a cloned repository:
For full MCP protocol testing, use the MCP Inspector:
Then select:
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.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vk-mcp-server)<a href="https://allmcps.com/mcp/vk-mcp-server"><img src="https://allmcps.com/api/badge/vk-mcp-server?style=directory" alt="VK MCP Server on AllMCPs" /></a>