Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.bulatko/vk

NPM · VK-MCP-SERVER

VK (VKontakte): read walls, users, communities and stats; publish, edit and comment on posts.

Available components

0 this week 92 Trust /100

Last scanned (16 hours ago)

Scores higher than 95% of npm servers

Category News and Social

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 3 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency71
  • Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
  • Cryptographically verified build provenance (signed, bound to bulatko/vk-mcp-server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 25 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability86
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3393 tokens (~117/item across 29 items; 28 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 98% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
  • Supports UI / widget rendering.Pass
What we tested

Checks we ran (17)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol
  • Capabilities

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 29 Oct 26 +1
    • Stability: 0.97 → pass security
  • 27 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 21 Oct 26 +1
    • Stability: 0.97 → pass security
    • Security disclosure: unverified → fail ▼ functional
  • 20 Oct 26 −1
    • Security disclosure: fail → unverified ▼ functional
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +3
    • Stability: 0.83 → pass security
  • 15 Oct 26 −3
    • Stability: pass → 0.80 functional
  • 14 Oct 26 +48
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Schema quality: 2937 → 3393 ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
  • 13 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/vk-mcp-server@0.9.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo bulatko/vk-mcp-server
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/bulatko/vk-mcp-server/.github/workflows/release.yml@refs/tags/v0.9.0
Rekor log index 3184336252
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:02b1298c95aa9121ed62236bbfd7b898b02daf90a6989e19ba7f5d0da62a9888c60cb973ca16cf948542053b2f8f06492b9d0fe741d0f1211533ff388

Background: How many MCP packages publish verified provenance →

Dependencies 3 packages
Packages resolved 3
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 28 exposed · ~3,363 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
vk_events_get ~158

Read the community events received since vk_events_listen, oldest first. Pass the returned cursor as after next time to get only new ones. With wait (up to 25 seconds) it holds until something arrives — call it in a loop to follow the community, e.g. to answer each new comment.

NameTypeReqDescription
afternumber–Cursor from the previous call; events after it are returned (default: all received)
limitnumber–Most events to return (default 50, max 200)
typesarray–Only these event types, e.g. ["wall_reply_new"]
waitnumber–Seconds to wait for an event when there is none yet (0–25, default 0)
NameTypeReqDescription
cursornumberyesPass as after to get only newer events
eventsarrayyesEvents, oldest first; object is what VK sent for that type
listeningbooleanyesWhether events are still being received
missednumber–Events after the cursor that were dropped from the buffer before being read
moreboolean–Whether more events wait after this page
sincestring–When listening began
stopped_becausestring–Why listening ended, when it has

No examples provided.

vk_events_listen ~177

Start receiving what happens in your community as it happens: new comments with their text and ID (so you can answer them with vk_wall_create_comment), likes, new posts and reposts, people joining and leaving, messages. Turns on the community's Long Poll and the event types if they are off. VK keeps no history: only events from now on are seen, while this server runs. Read them with vk_events_get.

NameTypeReqDescription
typesarray–Event types to turn on. Default: wall_post_new, wall_repost, wall_reply_new, wall_reply_edit, wall_reply_delete, wall_reply_restore, like_add, like_remove, group_join, group_leave, message_new, messa…
NameTypeReqDescription
community_idnumber–The community being watched
events_onarray–Event types the community now sends
listeningbooleanyesWhether events are being received
long_poll_turned_onboolean–Whether the community's Long Poll was off and this call turned it on
not_availablearray–Requested types VK did not turn on for this community (unknown, or tied to a feature it lacks)
sincestring–When listening began; nothing earlier is seen

No examples provided.

vk_friends_get ~82

List a user's friends. Returns bare IDs unless you ask for fields. Needs a user token, and only works for profiles that expose their friend list.

NameTypeReqDescription
countnumber–Number of friends
fieldsstring–Profile fields
orderstring––
user_idnumber–User ID. Defaults to the token owner.
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesFriend IDs, or profiles when fields are requested
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_groups_get ~77

List the communities the token owner belongs to. Needs a user token — a community or service token cannot answer this.

NameTypeReqDescription
countnumber–Number of communities
fieldsstring–Community fields
filterstring–Filter by type
user_idnumber–User ID. Defaults to the token owner.
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesCommunities the user belongs to
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_groups_get_by_id ~97

Look up communities by numeric ID or short name (e.g. apiclub). Use it to resolve a name to an ID, or to read the description, member count and type before deciding what to do with it.

NameTypeReqDescription
fieldsstring–Community fields
group_idsstring–Comma-separated community IDs or short names (e.g. apiclub,vk). Positive and without the minus sign.
NameTypeReqDescription
groupsarray–Community profiles

No examples provided.

vk_groups_get_members ~190

List the members of a community. Returns bare user IDs unless you ask for fields, in which case it returns profiles. Many communities hide their member list, which comes back as an access error rather than an empty list.

NameTypeReqDescription
countnumber–Number of members to return (max 1000)
fieldsstring–Additional profile fields to return (e.g. photo_200,online,sex,city)
filterstring–Filter: managers, editors, mods, advertisers, friends, unsure
group_idstringyesCommunity ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.
offsetnumber–Offset for pagination
sortstring–Sort order: id_asc, id_desc, time_asc, time_desc
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesMember IDs, or profiles when fields are requested
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_groups_join ~103

Join a community as the token owner, or send a join request if it is closed. group_id is positive here, without the minus sign.

NameTypeReqDescription
group_idstringyesCommunity ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.
not_surenumber–For events only: 1 — "maybe attending", 0 — confirmed
NameTypeReqDescription
successbooleanyesWhether VK accepted the change

No examples provided.

vk_groups_search ~163

Find communities by keyword, optionally narrowed by type, country, city or sort order. Returns matches with a total count.

NameTypeReqDescription
city_idnumber–City ID to filter by
countnumber–Number of results (max 1000)
country_idnumber–Country ID to filter by
fieldsstring–Additional community fields to return
futurenumber–Filter future events: 1 — only future events
offsetnumber–Offset for pagination
qstringyesSearch query
sortnumber–Sort order: 0 — default, 1 — by speed, 6 — by likes
typestring–Community type: group, page or event
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesMatching communities
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_likes_get ~166

List the users who liked or reacted to an object — a post, comment, photo or video — with counts per reaction. owner_id is negative for a community; item_id is the post or object ID.

NameTypeReqDescription
countnumber–Number of users to return (max 1000)
item_idnumberyesObject ID
offsetnumber–Offset for pagination
owner_idnumber–Owner ID of the object (negative for community)
reaction_idnumber–Filter by reaction: 0 — like ❤️, 1 — laugh 😂, 2 — wow 😮, 3 — admiration 🔥, 4 — angry 😡, 5 — sad 😢
typestringyesObject type
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesUsers who reacted to the object
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_messages_get_conversations ~111

List the conversations in your community's inbox, newest first, with the last message of each and the names of the people in them. Use filter "unread" to see what is waiting for a reply. Needs a community token with the messages right.

NameTypeReqDescription
countnumber–How many to return (default 20, max 200)
filterstring–Which conversations: all (default), unread, important, or unanswered
offsetnumber–Offset for pagination
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesConversations, each with its last message; names are in profiles
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_messages_get_history ~99

Read the messages of one conversation in your community's inbox, newest first. peer_id is the person's user ID, as vk_messages_get_conversations shows it. Needs a community token with the messages right.

NameTypeReqDescription
countnumber–How many messages to return (default 20, max 200)
offsetnumber–Offset for pagination
peer_idnumberyesUser ID of the person the community is talking to
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesMessages, newest first; names are in profiles
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_messages_mark_as_read ~50

Mark every message in one conversation of your community's inbox as read, e.g. after answering it.

NameTypeReqDescription
peer_idnumberyesUser ID of the person the community is talking to
NameTypeReqDescription
successbooleanyesWhether VK accepted the change

No examples provided.

vk_messages_send ~125

Send a message from your community to a person. VK only delivers to people who have written to the community or allowed it to message them. This reaches a real person: show the user the text before sending. Returns the new message_id.

NameTypeReqDescription
attachmentstring–Optional media, e.g. photo-1_2 or doc-1_2, comma-separated
messagestringyesMessage text
peer_idnumberyesUser ID of the recipient
reply_tonumber–Optional ID of the message this answers, to quote it
NameTypeReqDescription
message_idnumberyesID of the sent message

No examples provided.

vk_newsfeed_get ~76

Read the token owner's own newsfeed. Needs a user token — this is the feed of the account the token belongs to, not a public one.

NameTypeReqDescription
countnumber–Number of items
filtersstring–Filter by type: post, photo, video
start_fromstring–Pagination cursor
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesNewsfeed entries
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_photos_get ~87

List photos from an album. album_id accepts wall, profile or saved as well as a numeric album ID. owner_id is negative for a community.

NameTypeReqDescription
album_idstring–Album ID or: wall, profile, saved
countnumber–Number of photos
owner_idnumber–Album owner: negative for a community, positive for a person.
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesPhotos in the album
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_photos_upload_wall ~173

Upload a photo so it can be attached to a post. Takes a URL or a local file path, runs VK's three-step upload, and returns an attachment string like photo-1_2 to pass to vk_wall_post or vk_wall_edit. group_id is positive here, without the minus sign. Needs a full user token: VK refuses a community token here (error 27), and has no other way for one to attach a photo to a post.

NameTypeReqDescription
captionstring–Photo caption
group_idstring–Community ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.
imagestringyesImage URL (http/https) or absolute local file path
NameTypeReqDescription
attachmentstringyesAttachment string such as photo-1_2, ready to pass to vk_wall_post
idnumber–Photo ID
owner_idnumber–Owner of the uploaded photo

No examples provided.

vk_stats_get ~98

Read a community's statistics by period: reach, visitors and activity. The token owner must be an administrator of that community, otherwise VK denies access.

NameTypeReqDescription
group_idstringyesCommunity ID or its short name (e.g. apiclub). Positive and without the minus sign — the minus belongs to owner_id on a wall, not here.
intervalstring––
intervals_countnumber–Number of intervals
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesOne entry per statistics period
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_stories_post_photo ~153

Publish a photo story on VK (three-step upload: get upload server, upload the photo, save). Posts a personal story, or a community one when group_id is set.

NameTypeReqDescription
add_to_newsboolean–Add the story to the news feed (default true)
group_idstring–Community ID or its short name (e.g. apiclub) to post as. Positive and without the minus sign. Omit to post a personal story.
imagestringyesImage URL (http/https) or absolute local file path
link_textstring–Link button text
link_urlstring–Link URL for the button (requires link_text)
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesThe created photo story
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_stories_post_video ~153

Publish a video story on VK (three-step upload: get upload server, upload the video, save). Posts a personal story, or a community one when group_id is set.

NameTypeReqDescription
add_to_newsboolean–Add the story to the news feed (default true)
group_idstring–Community ID or its short name (e.g. apiclub) to post as. Positive and without the minus sign. Omit to post a personal story.
link_textstring–Link button text
link_urlstring–Link URL for the button (requires link_text)
videostringyesVideo URL (http/https) or absolute local file path
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesThe created video story
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_token_info ~88

Say which VK token the server holds — a community token, a user token, a VK ID sign-in token or an app service key — which community it acts as and with which rights, which tools work with it, and for each tool that does not, what would make it work. Call it when unsure what you can do in VK, or before telling the user something cannot be done.

Input schema present but exposes no named parameters.

NameTypeReqDescription
communityobject–The community a community token acts as: id, name, screen_name
kindstringyescommunity, user, vkid (a VK ID sign-in token), service (an app service key), none, or unknown when VK could not say
reasonstring–Why the kind is unknown
scopesarray–Rights a community token was issued with, as VK names them
service_keyboolean–Whether VK_SERVICE_KEY is set; reads the token is refused are made with it
toolsarrayyesTools that work with the configured tokens
unavailablearrayyesTools that do not, each with what would make it work

No examples provided.

vk_users_get ~76

Look up VK users by numeric ID or short name (e.g. durov). Use this to resolve a name to an ID before calling other tools, or to check whether a profile is closed.

NameTypeReqDescription
fieldsstring–Profile fields to return
user_idsstring–Comma-separated user IDs or screen names
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesUser profiles
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_users_search ~152

Find VK users by name, optionally narrowed by city, country, sex or age. Returns matches with a total count; page through them with offset.

NameTypeReqDescription
age_fromnumber–Minimum age
age_tonumber–Maximum age
citynumber–City ID to filter by
countnumber–Number of results (max 1000)
countrynumber–Country ID to filter by
fieldsstring–Additional profile fields to return
offsetnumber–Offset for pagination
qstringyesSearch query (name or keywords)
sexnumber–Sex filter: 1 — female, 2 — male
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesMatching user profiles
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_wall_create_comment ~82

Add a comment to a post. owner_id is negative for a community. Returns the new comment_id.

NameTypeReqDescription
messagestringyesComment text
owner_idnumberyesWall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.
post_idnumberyesPost ID
NameTypeReqDescription
comment_idnumberyesID of the created comment

No examples provided.

vk_wall_delete ~73

Delete a post from a wall. owner_id is negative for a community. This cannot be undone.

NameTypeReqDescription
owner_idnumber–Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.
post_idnumberyesPost ID to delete
NameTypeReqDescription
successbooleanyesWhether VK accepted the change

No examples provided.

vk_wall_edit ~110

Replace the text or attachments of an existing post. owner_id is negative for a community. Editing overwrites the previous content, so pass the full new text rather than an addition.

NameTypeReqDescription
attachmentsstring–Comma-separated attachments
messagestring–New post text
owner_idnumber–Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token owner.
post_idnumberyesPost ID to edit
NameTypeReqDescription
successbooleanyesWhether VK accepted the change

No examples provided.

vk_wall_get ~132

Read posts from a user or community wall, newest first. Pass domain for a short address (durov) or owner_id for a numeric one — negative for a community, positive for a person. Each post carries its likes, reposts, comments and views.

NameTypeReqDescription
countnumber–Number of posts (1-100)
domainstring–Short address of user or community
filterstring–Filter: all, owner, others, postponed, suggests
offsetnumber–Offset for pagination
owner_idnumber–Wall owner ID (negative for community)
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesWall posts, newest first
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_wall_get_by_id ~97

Fetch particular posts by their full IDs in {owner_id}_{post_id} form, e.g. -1_340393. Use it to re-read a post you already know about, such as one you just published.

NameTypeReqDescription
fieldsstring–Additional profile fields to return
postsstringyesComma-separated post IDs in format {owner_id}_{post_id} (e.g. -123_456)
NameTypeReqDescription
countnumber–Total number of matches on VK, which is usually larger than the returned page
itemsarrayyesThe requested posts
paginationobject–Where this page sits in the whole result. Call the tool again with offset set to next_offset to continue; when next_offset is null there is nothing left to fetch.

No examples provided.

vk_wall_post ~215

Publish a post on a wall. Under a community token, leave owner_id out and the post goes on that community's wall. Otherwise, to post in a community, set owner_id to the community ID with a minus sign (-123) and from_group true, or it appears as your personal post on the community wall. Attach media with the attachment string that vk_photos_upload_wall returns. Returns the new post_id.

NameTypeReqDescription
attachmentsstring–Comma-separated attachments (e.g. photo123_456,link)
from_groupboolean–Post on behalf of community
guidstring–Unique identifier to prevent duplicate posts
messagestringyesPost text content
owner_idnumber–Wall owner: a community as a negative number (-123), a person as a positive one. Defaults to the token's own community under a community token, to the token owner otherwise.
publish_datenumber–Unix timestamp for scheduled post (must be within 2 weeks)
NameTypeReqDescription
post_idnumberyesID of the published post

No examples provided.

Install

How do I install the io.github.bulatko/vk MCP server?

io.github.bulatko/vk runs locally as an npm package, launched with npx -y vk-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · vk-mcp-server

# add to Claude Code
claude mcp add bulatko-vk -- npx -y vk-mcp-server
Common questions

What is the io.github.bulatko/vk MCP server?

io.github.bulatko/vk is an MCP server listed in the public MCP registry as io.github.bulatko/vk. VK (VKontakte): read walls, users, communities and stats; publish, edit and comment on posts. This page covers its npm package (vk-mcp-server).

Is the io.github.bulatko/vk MCP server safe to use?

io.github.bulatko/vk scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.bulatko/vk MCP server expose?

io.github.bulatko/vk exposes 28 tools: vk_users_get, vk_users_search, vk_wall_get, vk_wall_post, vk_wall_create_comment, and 23 more. Their descriptions and schemas cost roughly 3,363 tokens of context every time the server is loaded.

Is the io.github.bulatko/vk MCP server still maintained?

io.github.bulatko/vk is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.bulatko/vk MCP server under?

io.github.bulatko/vk declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

What did VerifyMCP test on the io.github.bulatko/vk MCP server?

VerifyMCP ran 17 checks on io.github.bulatko/vk, covering Malware scan, Known CVEs, Install scripts, Dependency health and 13 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.