buddypress_get_notification
Retrieve a specific notification from a BuddyPress site using its unique ID to access notification details and content.
Instructions
Get a single notification
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notification ID |
Implementation Reference
- src/index.ts:715-717 (handler)The handler function for the 'buddypress_get_notification' tool. It retrieves a single notification by its ID using an authenticated GET request to the BuddyPress notifications endpoint.else if (name === 'buddypress_get_notification') { result = await buddypressRequest(`/notifications/${args.id}`); }
- src/index.ts:468-478 (schema)The tool schema definition including name, description, and input schema requiring a notification ID.{ name: 'buddypress_get_notification', description: 'Get a single notification', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Notification ID', required: true }, }, required: ['id'], }, },
- src/index.ts:49-512 (registration)The tools array where 'buddypress_get_notification' is registered and returned in list tools handler.const tools: Tool[] = [ // ============= ACTIVITY TOOLS ============= { name: 'buddypress_list_activities', description: 'List activity stream items with optional filters', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, search: { type: 'string', description: 'Search term' }, user_id: { type: 'number', description: 'Filter by user ID' }, group_id: { type: 'number', description: 'Filter by group ID' }, scope: { type: 'string', description: 'Activity scope (all, friends, groups, favorites, mentions)' }, display_comments: { type: 'boolean', description: 'Include comments' }, }, }, }, { name: 'buddypress_get_activity', description: 'Get a single activity item by ID', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Activity ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_create_activity', description: 'Create a new activity item', inputSchema: { type: 'object', properties: { content: { type: 'string', description: 'Activity content', required: true }, user_id: { type: 'number', description: 'User ID (default: current user)' }, component: { type: 'string', description: 'Component (activity, groups, members, etc.)' }, type: { type: 'string', description: 'Activity type (activity_update, activity_comment, etc.)' }, primary_item_id: { type: 'number', description: 'Primary item ID (e.g., group ID)' }, secondary_item_id: { type: 'number', description: 'Secondary item ID' }, }, required: ['content'], }, }, { name: 'buddypress_update_activity', description: 'Update an existing activity item', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Activity ID', required: true }, content: { type: 'string', description: 'New activity content' }, }, required: ['id'], }, }, { name: 'buddypress_delete_activity', description: 'Delete an activity item', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Activity ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_favorite_activity', description: 'Favorite or unfavorite an activity item', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Activity ID', required: true }, }, required: ['id'], }, }, // ============= MEMBERS TOOLS ============= { name: 'buddypress_list_members', description: 'List BuddyPress members with optional filters', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, search: { type: 'string', description: 'Search term' }, user_ids: { type: 'string', description: 'Comma-separated user IDs' }, member_type: { type: 'string', description: 'Member type' }, exclude: { type: 'string', description: 'Comma-separated user IDs to exclude' }, }, }, }, { name: 'buddypress_get_member', description: 'Get a single member by ID', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'User ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_update_member', description: 'Update member profile information', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'User ID', required: true }, name: { type: 'string', description: 'Display name' }, description: { type: 'string', description: 'User biography' }, member_type: { type: 'string', description: 'Member type' }, }, required: ['id'], }, }, { name: 'buddypress_delete_member', description: 'Delete a member', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'User ID', required: true }, reassign: { type: 'number', description: 'User ID to reassign content to' }, }, required: ['id'], }, }, // ============= GROUPS TOOLS ============= { name: 'buddypress_list_groups', description: 'List BuddyPress groups with optional filters', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, search: { type: 'string', description: 'Search term' }, status: { type: 'string', description: 'Group status (public, private, hidden)' }, user_id: { type: 'number', description: 'Filter groups by user membership' }, group_type: { type: 'string', description: 'Group type' }, }, }, }, { name: 'buddypress_get_group', description: 'Get a single group by ID', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Group ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_create_group', description: 'Create a new group', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Group name', required: true }, description: { type: 'string', description: 'Group description' }, status: { type: 'string', description: 'Group status (public, private, hidden)' }, enable_forum: { type: 'boolean', description: 'Enable group forum' }, creator_id: { type: 'number', description: 'Creator user ID (default: current user)' }, }, required: ['name'], }, }, { name: 'buddypress_update_group', description: 'Update an existing group', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Group ID', required: true }, name: { type: 'string', description: 'Group name' }, description: { type: 'string', description: 'Group description' }, status: { type: 'string', description: 'Group status (public, private, hidden)' }, }, required: ['id'], }, }, { name: 'buddypress_delete_group', description: 'Delete a group', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Group ID', required: true }, }, required: ['id'], }, }, // ============= GROUP MEMBERSHIP TOOLS ============= { name: 'buddypress_list_group_members', description: 'List members of a specific group', inputSchema: { type: 'object', properties: { group_id: { type: 'number', description: 'Group ID', required: true }, page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, roles: { type: 'string', description: 'Filter by roles (admin, mod, member, banned)' }, }, required: ['group_id'], }, }, { name: 'buddypress_add_group_member', description: 'Add a member to a group', inputSchema: { type: 'object', properties: { group_id: { type: 'number', description: 'Group ID', required: true }, user_id: { type: 'number', description: 'User ID', required: true }, role: { type: 'string', description: 'Member role (member, mod, admin)' }, }, required: ['group_id', 'user_id'], }, }, { name: 'buddypress_remove_group_member', description: 'Remove a member from a group', inputSchema: { type: 'object', properties: { group_id: { type: 'number', description: 'Group ID', required: true }, user_id: { type: 'number', description: 'User ID', required: true }, }, required: ['group_id', 'user_id'], }, }, // ============= XPROFILE TOOLS ============= { name: 'buddypress_list_xprofile_groups', description: 'List XProfile field groups', inputSchema: { type: 'object', properties: { fetch_fields: { type: 'boolean', description: 'Include fields in response' }, }, }, }, { name: 'buddypress_get_xprofile_group', description: 'Get a single XProfile field group', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Field group ID', required: true }, fetch_fields: { type: 'boolean', description: 'Include fields in response' }, }, required: ['id'], }, }, { name: 'buddypress_list_xprofile_fields', description: 'List XProfile fields', inputSchema: { type: 'object', properties: { profile_group_id: { type: 'number', description: 'Filter by field group ID' }, fetch_field_data: { type: 'boolean', description: 'Include field data' }, }, }, }, { name: 'buddypress_get_xprofile_field', description: 'Get a single XProfile field', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Field ID', required: true }, fetch_field_data: { type: 'boolean', description: 'Include field data' }, }, required: ['id'], }, }, { name: 'buddypress_get_xprofile_data', description: 'Get XProfile data for a specific user and field', inputSchema: { type: 'object', properties: { field_id: { type: 'number', description: 'Field ID', required: true }, user_id: { type: 'number', description: 'User ID', required: true }, }, required: ['field_id', 'user_id'], }, }, { name: 'buddypress_update_xprofile_data', description: 'Update XProfile data for a specific user and field', inputSchema: { type: 'object', properties: { field_id: { type: 'number', description: 'Field ID', required: true }, user_id: { type: 'number', description: 'User ID', required: true }, value: { type: 'string', description: 'Field value', required: true }, }, required: ['field_id', 'user_id', 'value'], }, }, // ============= FRIENDS TOOLS ============= { name: 'buddypress_list_friends', description: 'List friendships', inputSchema: { type: 'object', properties: { user_id: { type: 'number', description: 'User ID to get friends for' }, is_confirmed: { type: 'boolean', description: 'Filter by confirmed status' }, page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, }, }, }, { name: 'buddypress_create_friendship', description: 'Create a friendship request', inputSchema: { type: 'object', properties: { initiator_id: { type: 'number', description: 'Initiator user ID', required: true }, friend_id: { type: 'number', description: 'Friend user ID', required: true }, }, required: ['initiator_id', 'friend_id'], }, }, { name: 'buddypress_delete_friendship', description: 'Delete a friendship', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Friendship ID', required: true }, }, required: ['id'], }, }, // ============= MESSAGES TOOLS ============= { name: 'buddypress_list_messages', description: 'List message threads', inputSchema: { type: 'object', properties: { user_id: { type: 'number', description: 'User ID to get messages for' }, box: { type: 'string', description: 'Message box (inbox, sentbox, notices)' }, type: { type: 'string', description: 'Message type (all, read, unread)' }, page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, }, }, }, { name: 'buddypress_get_message', description: 'Get a single message thread', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Thread ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_create_message', description: 'Create a new message', inputSchema: { type: 'object', properties: { sender_id: { type: 'number', description: 'Sender user ID (default: current user)' }, recipients: { type: 'array', items: { type: 'number' }, description: 'Array of recipient user IDs', required: true }, subject: { type: 'string', description: 'Message subject', required: true }, message: { type: 'string', description: 'Message content', required: true }, }, required: ['recipients', 'subject', 'message'], }, }, { name: 'buddypress_delete_message', description: 'Delete a message thread', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Thread ID', required: true }, }, required: ['id'], }, }, // ============= NOTIFICATIONS TOOLS ============= { name: 'buddypress_list_notifications', description: 'List notifications', inputSchema: { type: 'object', properties: { user_id: { type: 'number', description: 'User ID to get notifications for' }, is_new: { type: 'boolean', description: 'Filter by unread status' }, page: { type: 'number', description: 'Page number (default: 1)' }, per_page: { type: 'number', description: 'Items per page (default: 20)' }, }, }, }, { name: 'buddypress_get_notification', description: 'Get a single notification', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Notification ID', required: true }, }, required: ['id'], }, }, { name: 'buddypress_update_notification', description: 'Update notification (mark as read/unread)', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Notification ID', required: true }, is_new: { type: 'boolean', description: 'Mark as unread (true) or read (false)' }, }, required: ['id'], }, }, { name: 'buddypress_delete_notification', description: 'Delete a notification', inputSchema: { type: 'object', properties: { id: { type: 'number', description: 'Notification ID', required: true }, }, required: ['id'], }, }, // ============= COMPONENTS TOOL ============= { name: 'buddypress_list_components', description: 'List active BuddyPress components', inputSchema: { type: 'object', properties: {}, }, }, ];