Skip to main content
Glama
bulatko

vk-mcp-server

VK MCP Server


Features

  • Read Operations: Get users, wall posts, groups, friends, newsfeed, photos

  • Write Operations: Create posts, add comments

  • Analytics: Get community statistics

  • Secure: Token-based authentication via environment variable

  • Tested: Comprehensive test coverage

  • Easy Install: Available on npm and MCP Registry

Quick Start

Installation

npm install -g vk-mcp-server

Or run directly with npx:

npx vk-mcp-server

MCP Registry

Also available in the official MCP Registry:

io.github.bulatko/vk

Getting VK Access Token

  1. Go to VK Developers and create a Standalone app

  2. Get your app ID

  3. Open this URL (replace YOUR_APP_ID):

    https://oauth.vk.com/authorize?client_id=YOUR_APP_ID&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends,wall,groups,photos,stats,offline&response_type=token&v=5.199
  4. Authorize and copy the access_token from the URL

Configuration

Claude Desktop

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"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "vk": {
      "command": "npx",
      "args": ["-y", "vk-mcp-server"],
      "env": {
        "VK_ACCESS_TOKEN": "your_access_token_here"
      }
    }
  }
}

Available Tools

Tool

Description

vk_users_get

Get user profiles by IDs or screen names

vk_wall_get

Get posts from user/community wall

vk_wall_post

Publish a new post

vk_wall_create_comment

Add comment to a post

vk_groups_get

Get user's communities list

vk_groups_get_by_id

Get community info by ID

vk_friends_get

Get user's friends list

vk_newsfeed_get

Get user's newsfeed

vk_stats_get

Get community statistics (admin only)

vk_photos_get

Get photos from albums

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

User: What's on Pavel Durov's wall?

Claude: I'll check Pavel Durov's VK wall for recent posts.
[Uses vk_wall_get with domain="durov"]

Here are the latest posts from Pavel Durov's wall:
1. [Post content...]
2. [Post content...]

Testing

Run the test suite:

npm test

Run tests with coverage:

npm run test:coverage

API Reference

This server wraps VK API v5.199. For detailed parameter documentation, see:

Security Notes

  • Never share your access token

  • The offline scope 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.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

License

MIT © 2026 bulatko


Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bulatko/vk-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server