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.

B2match (unofficial)

NPM · B2MATCH-MCP

Unofficial read-only B2match events: agenda, participants, meetings, schedule, conversations

Available components

0 this week 81 Trust /100

Last scanned (7 hours ago)

Scores higher than 68% of npm servers

Category Project Management

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 Security98
  • 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
  • 30 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to barzoj/b2match-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 10 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability77
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2387 tokens (~108/item across 22 items; 22 tools + 0 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 Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

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.

  • 24 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 23 Oct 26 66

    First indexed and scored.

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/b2match-mcp@0.2.1

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 barzoj/b2match-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/barzoj/b2match-mcp/.github/workflows/release-please.yml@refs/heads/main
Rekor log index 3415376314
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:c3b69b29d4452478d9dd4fbf1541c0da8cb378c80d2e07f1123a4be5e5a378d954490d20d6b2a83cb4ab357abd9bc3e577cd49be7af00c937d0bdd8b7

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 22 exposed · ~2,387 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
auth_status ~64

Show whether a local B2match token is available and, when valid, who it belongs to. Never returns the token. Call this first when an authenticated tool (my_*, list_my_events, conversations, notifications) reports a login error; public tools work without a token.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

find_meeting_slots ~179

Find free meeting slots shared by the logged-in viewer and selected participants on one day. Read-only: does not book or request a meeting. Use my_availability for your own free time only.

NameTypeReqDescription
daystring–Day to search, as a days[].date value from my_availability; omit for the default day.
durationstring–B2match MeetingDuration enum value (e.g. THIRTHY, B2match's spelling); omit for the event default.
eventstringyesB2match event URL, slug/euid, or numeric event id.
is_long_term_networkingboolean–true searches the event's long-term networking calendar instead of the main meeting days.
participant_idsarrayyes1-10 participant ids (from list_participants) to meet with.

No output schema declared.

No examples provided.

get_agenda ~100

Fetch the event agenda: sessions and networking blocks with times. Use get_session for one session's details and my_schedule for your personal schedule. Resolves the menu path automatically; pass path to override.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

get_conversation ~118

Fetch conversation messages. B2match marks that conversation as read when messagesV2 is fetched, even though this client never sends MarkConversationAsSeen. Disabled unless B2MATCH_ALLOW_SIDE_EFFECT_READS=1 and acknowledge_marks_read is true. Use list_conversations for last-message previews. Unknown ids return a not-found error.

NameTypeReqDescription
acknowledge_marks_readboolean–Required with B2MATCH_ALLOW_SIDE_EFFECT_READS=1; fetching messages marks the conversation as read.
conversation_idstringyesConversation UUID from list_conversations.

No output schema declared.

No examples provided.

get_event ~74

Fetch public event metadata, dates, registration window, login methods, and navigation menu paths. Start here to resolve an event before calling the other event tools; use list_my_events to find events you joined. Works without login.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.

No output schema declared.

No examples provided.

get_opportunity ~118

Fetch a marketplace opportunity. Use the id or url from list_opportunities (published marketplace ids differ from opportunity ids on my_participation). Resolves the marketplace menu path automatically; pass path to override.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.
opportunity_idstringyesPublished opportunity id or URL from list_opportunities.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

get_organisation ~125

Fetch one organisation page (a participation: organisation details plus its representatives). Use list_organisations to find participation ids; use get_participant for a single person. Resolves the menu path automatically; pass path to override.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.
participation_idstringyesParticipation id from list_organisations or my_participation.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

get_participant ~93

Fetch one participant's full public profile without sending B2match's profile-view tracking mutation. Use list_participants to search or find ids; use my_participation for your own status.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.
participant_idstringyesParticipant id from list_participants, list_session_attendees, or meeting_recommendations.

No output schema declared.

No examples provided.

get_session ~149

Fetch one agenda session with its details and a first page of attendees. Provide session_id, or path to a session URL; path alone is enough. Use list_session_attendees to page through attendees only, get_agenda to find sessions.

NameTypeReqDescription
attendees_afterstring–Attendee pagination cursor from a previous response.
attendees_firstinteger–Attendee page size, capped at 50.
eventstringyesB2match event URL, slug/euid, or numeric event id.
pathstring–Session URL path from get_agenda; alternative to session_id.
session_idstring–Session id from get_agenda. Optional when path is set.

No output schema declared.

No examples provided.

list_conversations ~94

List the logged-in viewer's conversations with last-message previews, paginated. Does not mark conversations as read; prefer it over get_conversation unless full message history is needed.

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.

No output schema declared.

No examples provided.

list_my_events ~42

List events the logged-in viewer has joined, with ids/slugs usable as the event argument elsewhere. Requires login; use get_event for any single public event instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_notifications ~153

Returns unread/unseen notification counters by default. Fetching the notification list resets B2match's unseen counter (unseen goes to 0) even though this client never sends ReadNotification. The unread counter is unchanged. The full list requires B2MATCH_ALLOW_SIDE_EFFECT_READS=1 and acknowledge_marks_seen=true.

NameTypeReqDescription
acknowledge_marks_seenboolean–Required with B2MATCH_ALLOW_SIDE_EFFECT_READS=1 to fetch the full list; that request resets unseen.
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.

No output schema declared.

No examples provided.

list_opportunities ~128

List published marketplace opportunities (offers/requests) of an event, paginated. Use get_opportunity for one entry's full details. Resolves the menu path automatically; pass path to override.

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

list_organisations ~130

List organisation pages (participations) of an event, paginated. Use get_organisation for one page, list_participants for people. Resolves the menu path automatically; pass path to override.

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

list_participants ~123

List public participants as a compact summary. Set detail=true for the fuller record; use get_participant for one profile.

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
detailboolean–true returns the full participant records instead of compact summaries (larger output).
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.
querystring–Free-text search on participant name, organisation, or profile text.

No output schema declared.

No examples provided.

list_session_attendees ~139

Page through the attendees of one agenda session. Returns only the attendee list with a cursor, not the session details; use get_session for those. Provide session_id or path (from get_agenda).

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.
pathstring–Session URL path from get_agenda; alternative to session_id.
session_idstring–Session id from get_agenda. Optional when path is set.

No output schema declared.

No examples provided.

list_speakers ~125

List the speakers shown on the event's speakers page, paginated. Use list_participants for all registered participants. Resolves the menu path automatically; pass path to override.

NameTypeReqDescription
afterstring–Opaque pagination cursor from a previous response.
eventstringyesB2match event URL, slug/euid, or numeric event id.
firstinteger–Page size, capped at 50.
pathstring–Optional event menu path (e.g. /components/<id>) from get_event navigation; omit to resolve it automatically.

No output schema declared.

No examples provided.

meeting_recommendations ~67

Fetch B2match's recommended and newest participants for the logged-in viewer to meet. Use list_participants to search all participants and find_meeting_slots to check shared free time.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.

No output schema declared.

No examples provided.

my_availability ~88

Fetch the logged-in viewer's own meeting availability. Default is merged free ranges per day; set detail=true for the full timeslot grid. Use find_meeting_slots for slots shared with specific participants.

NameTypeReqDescription
detailboolean–true returns the full timeslot grid instead of merged ranges.
eventstringyesB2match event URL, slug/euid, or numeric event id.

No output schema declared.

No examples provided.

my_meetings ~120

Fetch the logged-in viewer's meetings and meeting requests, optionally one status bucket. Unfiltered responses include a compact availability summary (merged free ranges per day) unless detail=true. Use my_schedule for the overall timetable and find_meeting_slots to find free times with others.

NameTypeReqDescription
detailboolean–true returns the full availability timeslot grid instead of the summary.
eventstringyesB2match event URL, slug/euid, or numeric event id.
statusstring–Return only this bucket; omit for all buckets.

No output schema declared.

No examples provided.

my_participation ~64

Fetch the logged-in viewer's own participant status, activation, permissions, organisation pages, and opportunities for one event. Use get_participant for someone else's public profile.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.

No output schema declared.

No examples provided.

my_schedule ~94

Fetch the logged-in viewer's personal event schedule (booked sessions and meetings). Use get_agenda for the full public agenda and my_meetings for meeting requests by status. The PDF agenda URL is omitted unless include_pdf_link is true.

NameTypeReqDescription
eventstringyesB2match event URL, slug/euid, or numeric event id.
include_pdf_linkboolean–true adds the downloadable PDF agenda URL.

No output schema declared.

No examples provided.

Install

How do I install the B2match (unofficial) MCP server?

B2match (unofficial) runs locally as an npm package, launched with npx -y b2match-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · b2match-mcp

# add to Claude Code
claude mcp add barzoj-b2match-mcp -- npx -y b2match-mcp
Common questions

What is the B2match (unofficial) MCP server?

B2match (unofficial) is an MCP server listed in the public MCP registry as io.github.barzoj/b2match-mcp. Unofficial read-only B2match events: agenda, participants, meetings, schedule, conversations. This page covers its npm package (b2match-mcp).

Is the B2match (unofficial) MCP server safe to use?

B2match (unofficial) scores 81 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 B2match (unofficial) MCP server expose?

B2match (unofficial) exposes 22 tools: auth_status, list_my_events, get_event, my_participation, list_participants, and 17 more. Their descriptions and schemas cost roughly 2,387 tokens of context every time the server is loaded.

Is the B2match (unofficial) MCP server still maintained?

B2match (unofficial) 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 B2match (unofficial) MCP server under?

B2match (unofficial) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.