Skip to main content
Glama
pbandreddy

BlazeMeter MCP Server

by pbandreddy

get_test_run_thresholds

Retrieve threshold reports for BlazeMeter test runs to analyze performance compliance and identify issues.

Instructions

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

Input Schema

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

Implementation Reference

  • The core handler function that executes the tool logic: fetches the thresholds report for the specified test run (master) ID from the BlazeMeter API using Basic Auth.
    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 thresholds report
        const url = new URL(`${baseUrl}/api/v4/masters/${masterId}/reports/thresholds`);
    
        // 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 thresholds report.' };
        }
      }
    };
  • The JSON schema defining the tool's input parameters, name, description, and structure for MCP/OpenAI tool calling.
      type: 'function',
      function: {
        name: 'get_test_run_thresholds',
        description: 'Get the thresholds report for a specified test run (master).',
        parameters: {
          type: 'object',
          properties: {
            masterId: {
              type: 'string',
              description: 'The ID of the test run (master) to retrieve the thresholds report for.'
            }
          },
          required: ['masterId']
        }
      }
    }
  • tools/paths.js:1-10 (registration)
    The toolPaths array registers the path to this tool's file, enabling dynamic discovery and loading.
    export const toolPaths = [
      'blazemeter/new-collection/get-workspace-list.js',
      'blazemeter/new-collection/get-project-list.js',
      'blazemeter/new-collection/get-test-runs-list.js',
      'blazemeter/new-collection/get-test-run-summary.js',  
      'blazemeter/new-collection/get-test-run-aggregate-data.js',
      'blazemeter/new-collection/get-test-run-errors-data.js',
      'blazemeter/new-collection/get-test-run-thresholds.js',
      'blazemeter/new-collection/get-test-run-timeline-kpis.js',
    ];
  • lib/tools.js:7-16 (registration)
    The discoverTools function dynamically imports and collects all apiTool objects from files listed in toolPaths, registering them for use in the MCP server.
    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);
    }

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