Skip to main content
Glama
pbandreddy

LoadRunner Cloud MCP Server

by pbandreddy

test_runs_getTestRunResults

Retrieve detailed performance test results from LoadRunner Cloud using a specific test run ID to analyze execution data and metrics.

Instructions

Get test run results from LoadRunner Cloud.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runIdYesThe ID of the test run.

Implementation Reference

  • The core execution function that handles the tool logic: authenticates, constructs the API URL for test run results, makes a GET request to LoadRunner Cloud, handles responses and errors.
    const executeFunction = async ({ runId }) => { const baseUrl = process.env.LRC_BASE_URL; const tenantId = process.env.LRC_TENANT_ID; const token = await getAuthToken(); try { // Construct the URL with query parameters const url = new URL(`${baseUrl}/test-runs/${runId}/results`); url.searchParams.append('TENANTID', tenantId); // Set up headers for the request const headers = { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }; // Perform the fetch request const response = await fetch(url.toString(), { method: 'GET', headers }); // Check if the response was successful if (!response.ok) { const text = await response.text(); try { const errorData = JSON.parse(text); throw new Error(JSON.stringify(errorData)); } catch (jsonErr) { // Not JSON, log the raw text console.error('Non-JSON error response:', text); throw new Error(text); } } // Parse and return the response data const text = await response.text(); try { const data = JSON.parse(text); return data; } catch (jsonErr) { // Not JSON, log the raw text console.error('Non-JSON success response:', text); return { error: 'Received non-JSON response from API', raw: text }; } } catch (error) { console.error('Error retrieving test run results:', error); return { error: 'An error occurred while retrieving test run results.' }; } };
  • The apiTool object defining the tool's schema (parameters and required fields), name, description, and referencing the handler function. This is the primary tool definition.
    const apiTool = { function: executeFunction, definition: { type: 'function', function: { name: 'test_runs_getTestRunResults', description: 'Get test run results from LoadRunner Cloud.', parameters: { type: 'object', properties: { runId: { type: 'string', description: 'The ID of the test run.' } }, required: ['runId'] } } } };
  • lib/tools.js:7-16 (registration)
    Dynamic registration mechanism: discoverTools loads all apiTool exports from files in toolPaths, spreading them into the tools array for MCP.
    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:5-5 (registration)
    The toolPaths array entry that includes this specific tool's file path, enabling its dynamic loading during tool discovery.
    'loadrunner-cloud/load-runner-cloud-api/test-runs-get-test-run-summary.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/loadrunner-cloud-mcp-server'

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