Skip to main content
Glama
pbandreddy

BlazeMeter MCP Server

by pbandreddy

get_test_run_errors_data

Retrieve error report data for a specific test run to analyze performance issues and identify failures in BlazeMeter tests.

Instructions

Get the errors report data for a specified test run (master).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
masterIdYesThe ID of the test run (master) to retrieve the errors report data for.

Implementation Reference

  • The main handler function that fetches the errors report data from the BlazeMeter API for a given test run masterId. It constructs the API URL, authenticates with basic auth from environment variables, performs a GET request, handles errors, and returns the JSON data or an error object.
    const executeFunction = async ({ masterId }) => {
      const baseUrl = process.env.BASE_URL; // loaded from .env
      const username = process.env.BZM_USERNAME; // loaded from .env
      const password = process.env.BZM_PASSWORD; // loaded from .env
    
      try {
        // Construct the URL for the errors report data
        const url = new URL(`${baseUrl}/api/v4/masters/${masterId}/reports/errorsreport/data`);
    
        // Set up headers for the request
        const headers = {
          'Authorization': 'Basic ' + Buffer.from(`${username}:${password}`).toString('base64'),
          'Accept': 'application/json'
        };
    
        // Perform the fetch request
        const response = await fetch(url.toString(), {
          method: 'GET',
          headers
        });
    
        // Check if the response was successful
        if (!response.ok) {
          let errorData;
          try {
            errorData = await response.json();
          } catch (jsonErr) {
            errorData = await response.text();
          }
          throw new Error(`HTTP ${response.status} ${response.statusText}: ${typeof errorData === 'string' ? errorData : JSON.stringify(errorData)}`);
        }
    
        // Parse and return the response data
        const data = await response.json();
        return data;
      } catch (error) {
        if (error instanceof Error) {
          return { error: error.message };
        } else {
          return { error: 'Unknown error occurred while getting errors report data.' };
        }
      }
    };
  • The tool schema definition including the name 'get_test_run_errors_data', description, input parameters schema (masterId as required string), used in the MCP tool configuration.
      type: 'function',
      function: {
        name: 'get_test_run_errors_data',
        description: 'Get the errors report data for a specified test run (master).',
        parameters: {
          type: 'object',
          properties: {
            masterId: {
              type: 'string',
              description: 'The ID of the test run (master) to retrieve the errors report data for.'
            }
          },
          required: ['masterId']
        }
      }
    }
  • lib/tools.js:7-16 (registration)
    The discoverTools function that dynamically imports and registers all tools listed in toolPaths, including this one by loading its apiTool export.
    export async function discoverTools() {
      const toolPromises = toolPaths.map(async (file) => {
        const module = await import(`../tools/${file}`);
        return {
          ...module.apiTool,
          path: file,
        };
      });
      return Promise.all(toolPromises);
    }
  • tools/paths.js:7-7 (registration)
    The path to this tool's file listed in toolPaths array, enabling its discovery and registration.
    'blazemeter/new-collection/get-test-run-errors-data.js',

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/pbandreddy/blazemeter-mcp-server'

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