A Model Context Protocol (MCP) server that provides comprehensive integration with BuddyPress REST API v2. This server enables AI assistants like Claude to interact with BuddyPress sites, managing activities, members, groups, profiles, messages, and more.
- List, create, update, and delete activity items
- Favorite/unfavorite activities
- Filter by user, group, scope, and search terms
- List and search members
- Get member profiles
- Update member information
- Delete members
- List, create, update, and delete groups
- Manage group membership
- Handle group invites and membership requests
- Filter groups by status, type, and user
- List profile field groups and fields
- Get and update user profile data
- Manage custom profile fields
- List friendships
- Create and manage friend requests
- Delete friendships
- List message threads
- Send new messages
- Manage conversations
- Filter by inbox/sentbox
- List user notifications
- Mark notifications as read/unread
- Delete notifications
- List active BuddyPress components
-
Clone or create the directory:
mkdir buddypress-mcp cd buddypress-mcp -
Install dependencies:
npm install
-
Build the TypeScript code:
npm run build
Set the following environment variables:
export BUDDYPRESS_URL="http://yourdomain.com"
export BUDDYPRESS_USERNAME="your-username"
export BUDDYPRESS_PASSWORD="your-application-password"For WordPress/BuddyPress authentication:
- Go to your WordPress admin dashboard
- Navigate to Users → Profile
- Scroll to "Application Passwords" section
- Create a new application password
- Use this password (not your regular password) for authentication
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"buddypress": {
"command": "node",
"args": [
"/path/to/buddypress-mcp/dist/index.js"
],
"env": {
"BUDDYPRESS_URL": "http://buddypress.local",
"BUDDYPRESS_USERNAME": "admin",
"BUDDYPRESS_PASSWORD": "your-application-password"
}
}
}
}After adding the configuration, restart Claude Desktop.
buddypress_list_activities- List activity stream itemsbuddypress_get_activity- Get single activitybuddypress_create_activity- Create new activitybuddypress_update_activity- Update activitybuddypress_delete_activity- Delete activitybuddypress_favorite_activity- Favorite/unfavorite activity
buddypress_list_members- List membersbuddypress_get_member- Get single memberbuddypress_update_member- Update member profilebuddypress_delete_member- Delete member
buddypress_list_groups- List groupsbuddypress_get_group- Get single groupbuddypress_create_group- Create new groupbuddypress_update_group- Update groupbuddypress_delete_group- Delete groupbuddypress_list_group_members- List group membersbuddypress_add_group_member- Add member to groupbuddypress_remove_group_member- Remove member from group
buddypress_list_xprofile_groups- List field groupsbuddypress_get_xprofile_group- Get field groupbuddypress_list_xprofile_fields- List profile fieldsbuddypress_get_xprofile_field- Get profile fieldbuddypress_get_xprofile_data- Get user profile databuddypress_update_xprofile_data- Update user profile data
buddypress_list_friends- List friendshipsbuddypress_create_friendship- Create friend requestbuddypress_delete_friendship- Delete friendship
buddypress_list_messages- List message threadsbuddypress_get_message- Get message threadbuddypress_create_message- Send new messagebuddypress_delete_message- Delete message thread
buddypress_list_notifications- List notificationsbuddypress_get_notification- Get single notificationbuddypress_update_notification- Update notification statusbuddypress_delete_notification- Delete notification
buddypress_list_components- List active components
wordpress_list_abilities- List registered WordPress abilities (filterable by category)wordpress_get_ability- Get full details of an ability including input/output schemaswordpress_execute_ability- Execute any ability (GET for read-only, POST for actions)wordpress_list_ability_categories- List ability categorieswordpress_get_ability_category- Get category details
The server includes tools for the WordPress Abilities API (WP 6.9+). These tools are future-proof — any plugin that registers abilities will be automatically discoverable and executable through this MCP server.
A companion mu-plugin is included in extras/mu-plugins/buddypress-abilities.php that registers 8 BuddyPress-specific abilities:
| Ability | Type | Description |
|---|---|---|
buddypress/community-stats |
Read | Member/group/activity counts and active components |
buddypress/recent-activity |
Read | Recent activity stream items |
buddypress/member-search |
Read | Search members by name |
buddypress/group-search |
Read | Search groups by name/description |
buddypress/profile-completeness |
Read | Profile completion percentage and empty fields |
buddypress/create-activity |
Action | Post a new activity update |
buddypress/send-message |
Action | Send a private message |
buddypress/send-friendship-request |
Action | Send a friendship request |
To install: Copy the file to your WordPress site's wp-content/mu-plugins/ directory:
cp extras/mu-plugins/buddypress-abilities.php /path/to/wordpress/wp-content/mu-plugins/Requires WordPress 6.9+ and BuddyPress. No configuration needed — abilities register automatically.
Once configured, you can ask Claude to interact with your BuddyPress site:
"Show me the latest 10 activities on my BuddyPress site"
"Create a new activity post with the content 'Hello from MCP!'"
"List all groups and show me their member counts"
"Get the profile data for user ID 5"
"Send a message to users 3 and 4 with subject 'Meeting' and content 'Let's meet tomorrow'"
"Show me all unread notifications for user 2"
"List all available WordPress abilities"
"Execute the buddypress/community-stats ability"
"Search for members named John using the abilities API"
npm run buildnpm run watchnpm start- Application Passwords: Always use WordPress Application Passwords instead of your main password
- HTTPS: Use HTTPS in production environments
- Permissions: Ensure the authenticated user has appropriate permissions
- Environment Variables: Never commit credentials to version control
This MCP server uses BuddyPress REST API v2. For detailed API documentation, visit:
- Verify your application password is correct
- Check that the user has necessary permissions
- Ensure the BuddyPress REST API is accessible
- Verify the BUDDYPRESS_URL is correct
- Check that the site is accessible
- Ensure no firewall or security plugins are blocking API requests
- Restart Claude Desktop after configuration changes
- Check the config file syntax is valid JSON
- Verify the path to the built JavaScript file is correct
Contributions are welcome! Please feel free to submit issues or pull requests.
MIT License
For issues and questions:
- BuddyPress: https://buddypress.org/support/
- MCP SDK: https://github.com/anthropics/model-context-protocol
- WordPress Abilities API integration (5 new tools)
- BuddyPress abilities mu-plugin (8 abilities)
wordpress://abilities/registryresourcewordpressRequest()/wordpressPaginatedRequest()client functions
- Modular architecture refactor
- 42 new tools, resources, and prompts
- Initial release
- Support for Activity, Members, Groups, XProfile, Friends, Messages, Notifications
- Full CRUD operations for major endpoints
- Comprehensive filtering and pagination