MCP Hub
Back to servers

vk

MCP server for VK (VKontakte) API: users, walls, groups, friends, newsfeed, photos.

Registry
Stars
1
Updated
Mar 3, 2026

Quick Install

npx -y vk-mcp-server

VK MCP Server

VK Logo

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.


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

ToolDescription
vk_users_getGet user profiles by IDs or screen names
vk_wall_getGet posts from user/community wall
vk_wall_postPublish a new post
vk_wall_create_commentAdd comment to a post
vk_groups_getGet user's communities list
vk_groups_get_by_idGet community info by ID
vk_friends_getGet user's friends list
vk_newsfeed_getGet user's newsfeed
vk_stats_getGet community statistics (admin only)
vk_photos_getGet 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

Links


Made with ❤️ for the MCP ecosystem

Reviews

No reviews yet

Sign in to write a review