
VK MCP Server
io.github.ssm82Published by GitHub account ssm82v0.2.2Updated Oct 24, 2026
MCP server for VK API with 180+ tools: users, wall, groups, friends, photos, messages.
Overview
Lets an assistant read and act on a VKontakte account through 180+ auto-generated VK API tools, from wall posts and messages to groups, photos and ads.
- What you can do
- Wraps the official VK API schema into 180+ MCP tools covering users, wall, groups, friends, photos, videos, messages, market, stats, stories, polls, ads and more. Built-in profiles and mode filtering restrict the exposed tools to read-only, non-financial writes, or financially sensitive methods, and sections or individual methods can be whitelisted or blacklisted. It also exposes VK upload-server and save helpers for media workflows, and can run over stdio, Streamable HTTP or SSE.
- When to use it
- Use it when an assistant needs to work with a VK account or community: reading walls, searching users, managing groups, handling messages, or running ads and market operations. It suits users who want a broad VK API surface but can narrow it with a profile or read-only mode.
- Requirements
- Node.js 18 or newer, run locally via npx or a global npm install. A VK access token is required, supplied as the VK_ACCESS_TOKEN environment variable or in a .env file, with permission scopes matching the intended use. The VK API schema is downloaded automatically on first run, so network access is needed. HTTP transport additionally uses VK_MCP_TRANSPORT, VK_MCP_PORT, VK_MCP_HOST and VK_MCP_AUTH_TOKEN.
Installation
In SourceWeft
- Open VK MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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) .envsupport — 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)
Prerequisites
- Node.js ≥ 18
- VK Access Token with required permissions
Installation
Option 1: Run with npx (no install)
Option 2: Install globally
Option 3: Clone from GitHub
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:
Or get a token from:
- vkhost.github.io — quick token generator
- VK Dev — official developer portal
Required permissions depend on your use case:
wall— posting and reading wallphotos— uploading photosgroups— community managementfriends,messages,market,stats— as needed
Security: Never commit your token to git. The
.envfile is already in.gitignore.
2. Choose a Profile (Recommended)
Instead of manually configuring sections and methods, use a built-in profile via VK_MCP_PROFILE:
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.
3. MCP Client Setup
VS Code (with Copilot / Claude / etc.)
Create .vscode/mcp.json:
For local development from a cloned repository, use:
Cursor
Create .cursor/mcp.json:
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
For local development from a cloned repository, use:
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:
Environment Variables
Mode Filtering
The server automatically classifies each VK API method into risk levels:
- 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:
With a cloned repository:
HTTP Mode
Test HTTP endpoint
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.
Available Tools (by Category)
Total: 180+ tools auto-generated from the official VK API schema.
Examples
Get your wall posts
Search for users
Get community members
Create a poll
Deployment
For Render, Railway, Fly.io, or similar PaaS:
Render note: Render provides the port via the
$PORTenvironment variable. The server automatically falls back to it whenVK_MCP_PORTis not set.
Development
Project Structure
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:
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:
Security
- Token storage: Use
.envor your MCP client's secure environment variables. Never commit tokens. - Least privilege: Use
VK_MCP_MODE=readif the AI only needs to read data. - Section filtering: Exclude sensitive sections like
ads,secureif not needed. - HTTP mode security: By default, HTTP binds to
127.0.0.1only. If you bind to0.0.0.0(public),VK_MCP_AUTH_TOKENis required — the server will refuse to start without it. Always use HTTPS in production.
Troubleshooting
License
MIT
Contributing
Pull requests are welcome! Please open an issue first to discuss major changes.
Made for the Model Context Protocol ecosystem
Source: README.md at commit be6c21d
Tools
0Version history
1- v0.2.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts