Skip to main content
Glama

Token Saver MCP

by jerry426
get-browser-console.ts2.87 kB
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js' import type { ToolMetadata } from '../types' import { z } from 'zod' import { getBrowserConsole } from '../../browser-functions' /** * Tool metadata for documentation generation */ export const metadata: ToolMetadata = { name: 'get_browser_console', title: 'Get Browser Console Messages', category: 'cdp' as const, description: 'Get console messages from the browser (log, error, warning, info, debug). Captures all console output since connection.', docs: { brief: 'Retrieve browser console messages with filtering', parameters: { filter: 'Optional filter for message type: log, error, warning, info, debug', clear: 'Clear console messages after retrieving (default: false)', }, examples: [ { title: 'Get all console messages', code: `get_browser_console({})`, }, { title: 'Get only errors', code: `get_browser_console({ filter: "error" })`, }, { title: 'Get errors and clear console', code: `get_browser_console({ filter: "error", clear: true })`, }, { title: 'Debug workflow', code: `// Execute some code that might error execute_in_browser({ expression: "nonExistentFunction()" }) // Check for errors get_browser_console({ filter: "error" })`, }, ], workflow: { usedWith: ['execute_in_browser', 'click_element', 'debug_javascript_error'], followedBy: ['take_screenshot', 'get_dom_snapshot'], description: 'Essential for debugging - captures runtime errors and console output', }, tips: [ 'Messages persist across navigation', 'Use clear: true to reset for fresh debugging', 'Timestamps are in ISO format', 'Stack traces included for errors', 'Filter by type to focus on specific issues', ], performance: { speed: '50-200ms (depending on message count)', reliability: 'Very High - always available once connected', }, }, } // Tool handler - single source of truth for execution export async function handler({ filter, clear }: any): Promise<any> { const result = await getBrowserConsole(filter, clear) return { content: [{ type: 'text', text: result, }], } } export function register(server: McpServer) { server.registerTool( metadata.name, { title: metadata.title, description: metadata.description, inputSchema: { filter: z.enum(['log', 'error', 'warning', 'info', 'debug']).optional().describe(metadata.docs.parameters?.filter || 'Optional filter for message type'), clear: z.boolean().optional().describe(metadata.docs.parameters?.clear || 'Clear console messages after retrieving (default: false)'), }, }, handler, // Use the exported handler ) }

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/jerry426/token-saver-mcp'

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