{"name":"io.github.barzoj/b2match-mcp","slug":"barzoj-b2match-mcp","title":"B2match (unofficial)","description":"Unofficial read-only B2match events: agenda, participants, meetings, schedule, conversations","url":"https://mcp.market/server/barzoj-b2match-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":29,"stars":0,"forks":0,"downloads_week":164,"last_push_at":"2026-10-23T08:32:32.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/barzoj/b2match-mcp","website":"https://github.com/barzoj/b2match-mcp#readme","version":"0.2.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"b2match-mcp","version":"0.2.1","transport":{"type":"stdio"}}],"tools":[{"name":"auth_status","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_meeting_slots","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_agenda","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_conversation","description":"Fetch conversation messages. B2match marks that conversation as read when messagesV2 is fetched, even though this client never sends MarkConversationAsSeen. Disabled unless …=1 and acknowledge_marks_read is true. Use list_conversations for last-message previews. Unknown ids return a not-found error.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_event","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_opportunity","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_organisation","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_participant","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_session","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"graphql_read","description":"Run a raw B2match GraphQL query. Disabled unless B2MATCH_ALLOW_RAW=1. Rejects mutations, subscriptions, and queries that select messagesV2 or the notifications list unless …=1.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_conversations","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_my_events","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_notifications","description":"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 …=1 and acknowledge_marks_seen=true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_opportunities","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_organisations","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_participants","description":"List public participants as a compact summary. Set detail=true for the fuller record; use get_participant for one profile.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_session_attendees","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_speakers","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"meeting_recommendations","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"my_availability","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"my_meetings","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"my_participation","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"my_schedule","description":"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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-10-24T16:18:03.808Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-24T16:18:03.779Z","components":{"code":{"score":25,"max":25,"notes":["39 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"b2match-mcp","version":"0.2.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-10-23T08:34:48.068Z","repositoryUrl":"git+https://github.com/barzoj/b2match-mcp.git","weeklyDownloads":164}],"repo":{"found":true,"owner":"barzoj","repo":"b2match-mcp","archived":false,"pushedAt":"2026-10-23T08:32:32Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/1120722?v=4","ownerCreatedAt":"2011-10-11T21:28:07Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/1120722?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":164,"license":"MIT","lastPushAt":"2026-10-23T08:32:32.000Z","score":29}}}},"grade_history":[],"reviews":[]}