MCP abilities

Get Group

lh-mcp-buddypress-queries/get-group Read-only Idempotent

Retrieves a single BuddyPress group by ID or slug, including its admin user IDs (no email addresses — use get-group-members for that). Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
group_idintegerNoThe BuddyPress group ID. One of group_id or slug is required.
slugstringNoThe group slug. One of group_id or slug is required.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Get Group Activity

lh-mcp-buddypress-queries/get-group-activity Read-only Idempotent

Returns recent activity stream items for a group (posts, joins, etc). Content is stripped of markup and truncated. No email addresses returned. Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
group_idintegerYesThe BuddyPress group ID.
actionstringNoOptional. Restrict to a single activity action/type (e.g. "activity_update", "joined_group").
per_pageintegerNo20Results per page. Default 20, max 100.
pageintegerNo1Page number (1-based). Default 1.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Get Group Members

lh-mcp-buddypress-queries/get-group-members Read-only Idempotent

Lists the members of one or more BuddyPress groups, newest first, with display name, email, roles (admin/mod/member/banned) and join date. Give group_id for one group, or group_ids (up to 100) to fetch many groups in one call; role, search and paging then apply to each group, and the result is a groups array with one entry per requested group holding its total and members, or an error (not_found, not_permitted). Optionally filter to a single role or search by name. Returns email addresses, so the members of a group are returned only when the caller has edit_users on the site (on multisite, effectively super admins) or is an admin of that group; group mods get no extra access. With group_ids, a group the caller may not see comes back as not_permitted instead of failing the call. Requires edit_users, or being an admin of at least one requested group. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
group_idintegerNoOne BuddyPress group ID. Give this or group_ids, not both.
group_idsarray of integerNoSeveral BuddyPress group IDs, fetched in one call. Give this or group_id, not both. At most 100.
rolestringNoOptional. Restrict to members holding this role, in each group. Omit to return all roles. One of: admin, mod, member, banned.
searchstringNoOptional. Search members by display name or username, in each group.
per_pageintegerNo20Results per page, per group. Default 20, max 100.
pageintegerNo1Page number (1-based), per group. Default 1.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Get Group Membership Status

lh-mcp-buddypress-queries/get-group-membership-status Read-only Idempotent

Returns whether a given user is a member, admin, mod, or banned in a given group, and whether they have a pending invite. No email addresses returned. Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
group_idintegerYesThe BuddyPress group ID.
user_idintegerYesThe WordPress user ID to check.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Get User Activity

lh-mcp-buddypress-queries/get-user-activity Read-only Idempotent

Returns recent activity stream items authored by a single user, across all components. No email addresses returned. Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
user_idintegerYesThe WordPress user ID.
per_pageintegerNo20Results per page. Default 20, max 100.
pageintegerNo1Page number (1-based). Default 1.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Get User Groups

lh-mcp-buddypress-queries/get-user-groups Read-only Idempotent

Lists every BuddyPress group a user belongs to with their role in each, plus their pending invites and membership requests. Private and hidden groups are included, and so are groups the user is banned from (role banned), so role banned answers which groups have banned someone in one call. Each group gives its ID, name, slug, status (public, private, hidden), the user's roles (admin, mod, banned or member) and when the membership last changed. invites lists open invitations sent to the user, with the inviter; requests lists the user's membership requests awaiting approval. role narrows groups to one role; include_pending false leaves invites and requests out. No email addresses returned. Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
user_idintegerYesThe WordPress user ID.
rolestringNoOptional. Only groups where the user holds this role. Omit for all. One of: admin, mod, member, banned.
include_pendingbooleanNotrueAlso return pending invites and membership requests. Default true.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

List Groups

lh-mcp-buddypress-queries/list-groups Read-only Idempotent

Searches and lists BuddyPress groups by name, status, member, or ID, independent of any taxonomy. To find teams by season, night or other team terms on a site running LH Competitions, use lh-competitions/get-teams instead. Requires bp_moderate. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
searchstringNoSearch group name/description.
user_idintegerNoOnly return groups this user belongs to.
statusarray of stringNoOnly return groups with one of these statuses. Omit for any status.
includearray of integerNoRestrict to these group IDs.
excludearray of integerNoExclude these group IDs.
orderbystringNo"name"Sort field. Default name. One of: name, date_created, last_activity, total_member_count.
orderstringNo"ASC"Sort direction. Default ASC. One of: ASC, DESC.
per_pageintegerNo20Results per page. Default 20, max 100.
pageintegerNo1Page number (1-based). Default 1.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.

Search Members

lh-mcp-buddypress-queries/search-members Read-only Idempotent

Searches the BuddyPress member directory and returns matching members, including their email addresses. It is distinct from lh-membership/list-members, which is based on the membership taxonomy rather than directory activity. Because it returns email addresses, it is gated to edit_users. Requires edit_users. Pass site_id to act on another site you belong to.

ParameterTypeRequiredDefaultDescription
searchstringNoSearch term matched against display name/username.
typestringNo"active"Sort/filter type, matching BuddyPress's own directory tabs. Default active. One of: active, newest, alphabetical, online, random.
per_pageintegerNo20Results per page. Default 20, max 100.
pageintegerNo1Page number (1-based). Default 1.
site_idintegerNoOptional. ID of another site in the network to act on; list-my-sites gives the sites you belong to. Permissions are checked on that site. Omit for this site.