Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
VK (VKontakte): read walls, users, communities and stats; publish, edit and comment on posts.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
VK_ACCESS_TOKEN, VK_SERVICE_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"vk": {
"command": "npx",
"args": [
"-y",
"vk-mcp-server"
],
"env": {
"VK_ACCESS_TOKEN": "your-value",
"VK_SERVICE_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add vk --env VK_ACCESS_TOKEN=your-value --env VK_SERVICE_KEY=your-value -- npx -y vk-mcp-server실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"vk": {
"command": "npx",
"args": [
"-y",
"vk-mcp-server"
],
"env": {
"VK_ACCESS_TOKEN": "your-value",
"VK_SERVICE_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"vk": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"vk-mcp-server"
],
"env": {
"VK_ACCESS_TOKEN": "your-value",
"VK_SERVICE_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 bulatko 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: VK_ACCESS_TOKEN, VK_SERVICE_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.9.0)은 27일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Fomu MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Model Context Protocol (MCP) server for VK (VKontakte) social network API
English · Русский · Сайт (RU)
Enables AI assistants like Claude to interact with VK through a standardized interface.
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.
--check names which one you hold and probes what it can actually do, --login walks the VK ID flow for the reading kind, and every VK error carries the fix rather than the code aloneDownload 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 prompts for your VK token and keeps it out of the config file. From a terminal instead:
code --add-mcp '{"name":"vk","command":"npx","args":["-y","vk-mcp-server"],"env":{"VK_ACCESS_TOKEN":"your_token"}}'
npx vk-mcp-server
Or install globally with npm install -g vk-mcp-server.
Also available in the official MCP Registry:
io.github.bulatko/vk
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:
"env": {
"VK_ACCESS_TOKEN": "vk1.a...community token", "VK_SERVICE_KEY": "...service key" }
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:
npx vk-mcp-server --login <YOUR_APP_ID>
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](docs/SETUP.md) — every step with the exact screens, what the scopes unlock, remote installs, and what each error means.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "vk": { "command": "npx", "args": ["-y", "vk-mcp-server"], "env": { "VK_ACCESS_TOKEN": "your_access_token_here" } } } }
Add to your project's .mcp.json:
{
"mcpServers": { "vk": { "command": "npx", "args": ["-y", "vk-mcp-server"], "env": { "VK_ACCESS_TOKEN": "your_access_token_here" } } } }
| Variable | Required | Default | Purpose |
|---|---|---|---|
VK_ACCESS_TOKEN | for tool calls | — | The token tools act with, usually a community token. The server starts and lists its tools without one; calling a tool then returns an error saying so |
VK_SERVICE_KEY | no | — | Service key from your VK app. Reads the access token is refused (a wall, under a community token) are made with it; never used for writes. On its own, it is enough for public reads |
VK_TIMEOUT_MS | no | 30000 | Abort a VK request that hangs longer than this |
VK_API_BASE | no | https://api.vk.com/method | Point the server at an API mirror or proxy |
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 | What it does |
|---|---|
npx vk-mcp-server | Runs the MCP server (this is what your client calls) |
npx vk-mcp-server --login | Gets a token through VK ID in your browser |
npx vk-mcp-server --check | Reports what your token is and which tools it can use |
npx vk-mcp-server --help | Lists the commands and environment variables |
Start with:
VK_ACCESS_TOKEN=your_token npx vk-mcp-server --check
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:
| What you see | What it means |
|---|---|
error 8: Application is blocked | The VK app that issued the token is blocked. Every token from it fails this way, however valid the token looks. Create your own app and issue a fresh token. |
error 5: User authorization failed | The token is not accepted: revoked, deleted or replaced by a newer one — or pasted with quotes, spaces or a trailing comment. Check it is the whole token; if so, create a fresh one where it came from (a community token: Manage → API usage → Access tokens). --login reissues only VK ID tokens, which cannot post. |
error 27: Group authorization failed | A community token asked for something VK keeps from it — reading a wall, say. Set VK_SERVICE_KEY and reads go to the key; edits, deletions and statistics stay closed. |
error 1051 or error 28 | A VK ID token or a service key asked for a method closed to it. To post, use a community token. |
error 15: Access denied | The data is restricted — a private profile, or a community that hides its members. |
error 5 with subcode 1130 | VK bound the token to the IP that authorised it, and the server is on a different one. Common when the server runs on a VPS but you signed in from your laptop. Get the token on the machine that runs the server, or use a community token. |
Security Error when authorising | The old implicit OAuth flow. Use --login, which does the current VK ID flow. |
No VK token configured on every tool | The server is running but your client never passed VK_ACCESS_TOKEN to it. Check the env block in your client config — a token in your shell does not reach a server the client spawns itself. |
The server turns these into messages that say what to do, so the model can usually explain the fix without you reading this table.
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_to
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요