Skip to main content
Glama

buddypress_get_notification

Retrieve a specific notification from a BuddyPress community site by providing its unique ID for management or review.

Instructions

Get a single notification

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesNotification ID

Implementation Reference

  • The execution handler for the 'buddypress_get_notification' tool. It calls the shared 'buddypressRequest' helper to fetch a single notification by ID from the BuddyPress '/notifications/{id}' API endpoint.
    else if (name === 'buddypress_get_notification') {
      result = await buddypressRequest(`/notifications/${args.id}`);
    }
  • src/index.ts:469-478 (registration)
    Tool registration in the 'tools' array, which includes the tool name, description, and input schema definition. This array is returned by the ListTools handler.
      name: 'buddypress_get_notification',
      description: 'Get a single notification',
      inputSchema: {
        type: 'object',
        properties: {
          id: { type: 'number', description: 'Notification ID', required: true },
        },
        required: ['id'],
      },
    },
  • Input schema definition for the tool, specifying that a numeric 'id' parameter is required.
    inputSchema: {
      type: 'object',
      properties: {
        id: { type: 'number', description: 'Notification ID', required: true },
      },
      required: ['id'],
    },
  • Shared utility function that performs authenticated HTTP requests to the BuddyPress REST API endpoints, handling authentication, JSON serialization, and error checking. This is the core implementation logic used by the tool handler.
    async function buddypressRequest(
      endpoint: string,
      method: string = 'GET',
      body?: any
    ): Promise<any> {
      const url = `${BUDDYPRESS_URL}/wp-json/buddypress/v2${endpoint}`;
      const auth = Buffer.from(`${BUDDYPRESS_USERNAME}:${BUDDYPRESS_PASSWORD}`).toString('base64');
    
      const options: any = {
        method,
        headers: {
          'Authorization': `Basic ${auth}`,
          'Content-Type': 'application/json',
        },
      };
    
      if (body && method !== 'GET') {
        options.body = JSON.stringify(body);
      }
    
      const response = await fetch(url, options);
    
      if (!response.ok) {
        const errorText = await response.text();
        throw new Error(`BuddyPress API Error (${response.status}): ${errorText}`);
      }
    
      return await response.json();
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this is a read-only operation, requires authentication, has rate limits, or what the return format might be (e.g., JSON object). For a tool with no annotations, this leaves critical behavioral traits unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, straightforward sentence: 'Get a single notification'. It's front-loaded and wastes no words, making it easy to parse quickly. However, it could be slightly more informative without sacrificing brevity, such as by hinting at the return type.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of interacting with a notification system and the lack of annotations and output schema, the description is insufficient. It doesn't explain what data is returned (e.g., notification content, status), error conditions, or how it fits into the broader BuddyPress context, leaving gaps for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'id' documented as 'Notification ID'. The description doesn't add any meaning beyond this, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate as the schema adequately handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a single notification' clearly states the verb ('Get') and resource ('notification'), making the basic purpose understandable. However, it lacks specificity about what 'Get' entails (e.g., retrieve details) and doesn't differentiate from sibling tools like 'buddypress_list_notifications' or 'buddypress_update_notification', leaving room for ambiguity in a crowded toolset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention using 'buddypress_list_notifications' for multiple notifications or 'buddypress_update_notification' for modifications, nor does it specify prerequisites like needing a valid notification ID. This omission could lead to misuse in context of the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vapvarun/buddypress-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server