UNPKG

@mseep/hyperbrowser-mcp

Version:

Hyperbrowser Model Context Protocol Server

45 lines (44 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.listProfilesToolDescription = exports.listProfilesToolName = exports.listProfilesTool = void 0; const utils_js_1 = require("../utils.js"); // Import getClient const sdk_1 = require("@hyperbrowser/sdk"); // Import SDK error type // The handler function receives parsed parameters (page and limit are optional) async function listProfilesTool(params) { const { page, limit } = params; // Destructure validated optional params try { const client = await (0, utils_js_1.getClient)(); // Get client instance // Call the SDK list method with optional parameters const response = await client.profiles.list({ page, limit }); // Return the list of profiles and pagination info return { content: [ { type: 'text', // response contains { profiles: ProfileResponse[], totalCount, page, perPage } text: JSON.stringify(response, null, 2), }, ], isError: false, }; } catch (error) { let errorMessage = 'An unknown error occurred while listing profiles.'; // Check if it's a specific Hyperbrowser SDK error if (error instanceof sdk_1.HyperbrowserError) { errorMessage = `Failed to list profiles: ${error.message} (Status: ${error.statusCode || 'N/A'})`; } else if (error instanceof Error) { errorMessage = `Failed to list profiles: ${error.message}`; } // Return error result return { content: [{ type: 'text', text: errorMessage }], isError: true, }; } } exports.listProfilesTool = listProfilesTool; // Export name and description separately for registration exports.listProfilesToolName = 'list_profiles'; exports.listProfilesToolDescription = 'Lists existing persistent Hyperbrowser profiles, with optional pagination.';