
Vk
io.github.bulatko由 GitHub 帳號 bulatko 發布v0.9.0更新於 Oct 24, 2026
VK (VKontakte): read walls, users, communities and stats; publish, edit and comment on posts.
概覽
針對 VK(VKontakte)的 MCP 伺服器,讓助理讀取動態牆、使用者、社群和統計,並以社群身分發文、編輯或留言。
- 可以做什麼
- 查詢使用者、社群和成員,並依名稱和條件搜尋使用者與社群;使用者權杖下還可讀取好友和動態消息。讀取動態牆貼文、依 ID 讀取單一貼文、相片和社群統計。發布、編輯和刪除動態牆貼文,新增留言,加入社群。發布相片和影片限時動態,並在完整使用者權杖允許時上傳動態牆相片。處理社群收件匣:列出對話、讀取歷史、以社群身分回覆並標記已讀。透過社群 Long Poll 事件接收新留言、按讚、貼文、加入和訊息。
- 適用情境
- 適合管理 VK 社群、希望助理起草並發布貼文、回覆社群訊息,或彙整動態牆活動、互動和受眾狀況。也適合對公開的 VK 個人檔案、動態牆和社群做唯讀調查。
- 執行需求
- 透過 npx(Node.js)在本機執行,或使用 Claude Desktop 安裝包。需要 VK_ACCESS_TOKEN,通常是社群 API 設定中建立的社群權杖;VK_SERVICE_KEY 為選用,用於權杖被拒時的公開讀取。發文需要具備 wall、photos、stories、messages 和 manage 權限的社群權杖,社群還需開啟訊息功能。需要存取 VK API 的網路。
安裝
README
VK MCP Server
[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.
[A VK wall rendered as a card in the chat: posts with their photos, clip previews and counters]
Walls, communities and profiles on a host that supports MCP Apps. The model gets the same structured data either way — this is what the person sees.
Features
- 25 tools across users, walls, communities, photos, stories, community messages, likes and statistics
- Your community's inbox: list unread conversations, read them, and reply as the community — the assistant drafts, you approve, it sends
- Read and write as a community: with a community token and a service key together, the assistant reads walls, profiles and communities and posts, comments, publishes stories and answers messages as your community. Writes are marked as such so your client can ask first. Some tools (search, likes, statistics, editing) need a full user token, which VK no longer issues to new apps — the setup guide lists exactly what each token reaches
- Structured output: every tool declares an output schema, so the model gets typed data instead of a JSON blob it has to parse out of text
- Pagination that explains itself: list results say how many matches exist and which offset continues from here, so the model can page through a wall instead of stopping at the first twenty posts
- Things you can look at: on hosts that support MCP Apps — Claude, Claude Desktop, VS Code Copilot, Goose — walls, communities and profiles render as cards: posts with their photos and clip previews, communities with their banner and size, profiles with avatar and following. Everywhere else it behaves exactly as before
- Prompts: ready-made workflows — community digest, engagement report, audience snapshot, community search, community inbox
- Resilient: request timeouts, automatic backoff when VK rate-limits, and clear messages for captchas and HTTP failures
- Honest about tokens: VK has three kinds and they differ enormously in
reach.
--checknames which one you hold and probes what it can actually do,--loginwalks the VK ID flow for the reading kind, and every VK error carries the fix rather than the code alone - Tested: 140+ tests driving the real server over the MCP protocol
Quick Start
Claude Desktop — one click
Download the latest .mcpb bundle from the
releases page and
open it. It installs the server, asks for your VK token in a form field, and
stores it securely — no Node.js, no config files, no terminal.
VS Code — one click
VS Code prompts for your VK token and keeps it out of the config file. From a terminal instead:
npm
Or install globally with npm install -g vk-mcp-server.
MCP Registry
Also available in the official MCP Registry:
Getting VK Access Token
To let the assistant post, you need a community token. Open a community you
manage → Manage → API usage → Access tokens → Create token,
ticking wall, photos, stories, messages and manage. Three clicks, no
app, never expires, tied to no browser or IP. It posts, comments and publishes
stories as the community.
Add a service key next to it, and the assistant reads walls too. VK refuses
a community token wall reads (error 27). Set the service key from your VK app's
settings page as VK_SERVICE_KEY, and the server makes every read the token is
refused with the key instead — writes never go to it:
What no token VK issues to a new app can do, checked against the live API in October 2026: edit or delete posts, upload wall photos, read statistics, likes, photo albums, search or the newsfeed. VK keeps those for full user tokens, which it no longer grants.
For public reads alone, the service key on its own is enough (as
VK_SERVICE_KEY or VK_ACCESS_TOKEN), or sign in as yourself:
Worth knowing before you spend an evening on it: --login returns a VK ID
token (vk2.a…), which VK issues for signing in rather than for the API. It
reads public profiles, walls and community info; posting, photos, friends,
feeds and statistics all answer error 1051, whatever scopes you request. The
older flow that granted full user tokens now refuses newly created apps
outright. npx vk-mcp-server --check names which kind you hold and what it
reaches.
Use your own app rather than an App ID from somewhere else: a token dies with the app that issued it, and the error gives no hint that this is what happened.
📖 Full setup guide — every step with the exact screens, what the scopes unlock, remote installs, and what each error means.
Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Claude Code
Add to your project's .mcp.json:
Environment variables
VK rate-limits user tokens to a few calls per second. When it answers with error 6 (too many requests), the server backs off and retries up to three times before giving up, so short bursts of tool calls do not fail outright.
Command line
Troubleshooting
Start with:
It identifies which of the three token types you have — user, community or service — and probes what that token can actually reach, so you find out up front instead of discovering it tool by tool. It never calls a write method.
Common cases:
The server turns these into messages that say what to do, so the model can usually explain the fix without you reading this table.
Available Tools
Tools marked ✏️ change something on VK — they post, edit, delete or join on
behalf of whoever owns the access token. Each tool also carries MCP annotations
(readOnlyHint, destructiveHint), so a client can auto-approve lookups while
still asking before a post is edited or deleted.
The model sees only the tools your token reaches. On start the server asks VK
which token it holds — community, user, VK ID or service key — and leaves out
the tools VK would refuse it, so the model does not discover the limits one
error at a time. vk_token_info says which token it is and, for each tool
left out, what would open it. With no token, or when VK cannot tell, every
tool is listed.
Users
Wall
Groups
Photos
Stories
Community messages
Need a community token with the messages right, and messages switched on in
the community settings. VK lets a community write only to people who wrote to
it first or allowed its messages.
Community events
VK refuses a community token comments, likes and the wall, but sends them as
events to a community that listens. Call vk_events_listen once: it turns on
the community's Long Poll and the event types if they are off — leaving the API
version alone when another bot already reads it — and starts receiving. VK
keeps no history: you see what happens from that moment on, while the server
runs. Deleting comments stays closed to a community token.
Other
Prompts
Prompts appear in your client as ready-made workflows — pick one, fill in the community, and the model knows which tools to use.
Like the tools, the prompt list follows the token: a prompt is offered only
when the token reaches the tools it relies on, and publish_post leaves out the
steps (reading the wall, uploading the image) the token cannot take.
Usage Examples
Once configured, you can ask Claude:
- "Get information about Pavel Durov's VK profile"
- "Show me the latest 5 posts from the VK official community"
- "Post 'Hello World!' on my wall"
- "Get the list of communities I'm a member of"
- "Show my newsfeed"
Example Conversation
A real exchange — the numbers below came back from VK while this was written.
The model gets each of those numbers as typed fields rather than text it has to parse, because every tool declares an output schema.
Changelog
See CHANGELOG.md.
Testing
Run the test suite:
Run tests with coverage:
API Reference
This server wraps VK API v5.199. For detailed parameter documentation, see:
Security Notes
- Never share your access token
- The
offlinescope provides a non-expiring token - Review permissions before authorizing
- For production, consider using a service token
Contributing
Contributions are welcome! Please read the Contributing Guidelines first.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT © 2026 bulatko
Links
Made with ❤️ for the MCP ecosystem
來源:README.md,提交 5d723a2
工具
0版本歷史
4- v0.9.0最新Oct 10, 2026
- v0.8.2Oct 1, 2026
- v0.8.1Oct 1, 2026
- v0.6.1Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分