MCP abilities

Seven read-only MCP abilities, category lh-mcp-buddypress-queries. Abilities that never return an email address are gated to BuddyPress’s bp_moderate capability; abilities that return member email addresses (get-group-members, search-members) are gated to edit_users instead, matching the precedent set by lh-membership/list-members. Deliberately not exposed: private messages (messages_get_threads) and friend connections (friends_get_friend_user_ids) — a different risk category to group/activity/directory metadata, out of scope for this plugin.

Group membership

AbilityCapabilityNotes
get-group-membersedit_usersMembers of a group: display name, email, roles (admin/mod/member/banned), join date. Optional role filter and search. Wraps groups_get_group_members().
get-group-membership-statusbp_moderateWhether a user is member/admin/mod/banned in a group, plus pending-invite status. No email returned.

Group listing

AbilityCapabilityNotes
list-groupsbp_moderateSearch/filter groups by name, status, user, include/exclude IDs — independent of any taxonomy. For taxonomy-based queries, use lh-buddypress-group-taxonomies/get-groups-by-taxonomy instead. Wraps groups_get_groups(); status filtering is applied client-side after fetching with show_hidden: true, the same pattern as the taxonomy plugin.
get-groupbp_moderateSingle group by ID or slug, including admin user IDs only (no email — use get-group-members filtered to role: admin for that).

Activity

AbilityCapabilityNotes
get-group-activitybp_moderateRecent activity stream for a group. Content stripped of markup and truncated to 300 chars. Wraps bp_activity_get() with object: groups.
get-user-activitybp_moderateRecent activity stream authored by a single user, across all components.

Member directory

AbilityCapabilityNotes
search-membersedit_usersBuddyPress member directory search (active/newest/alphabetical/online/random), distinct from lh-membership/list-members which is taxonomy-based rather than directory-based. Wraps bp_core_get_users(). Returns email.

Worked example: admin contact lookup

Finding a group’s admin name and email is a two-call round trip, usable from any subsite connector:

// 1. Resolve the group and get admin user ID(s)
{ "tool": "lh-mcp-buddypress-queries/get-group", "params": { "slug": "sugar-gliders" } }
// -> admin_ids: [7407]

// 2. Get that admin's name and email
{ "tool": "lh-mcp-buddypress-queries/get-group-members", "params": { "group_id": 21, "role": "admin" } }
// -> name and email of the group admin

Architectural notes

Related plugins