Skip to main content
Glama

Safari MCP Server

by lxman
example-usage.ts•2.72 kB
/** * Example usage of Safari MCP Server * This demonstrates how to use the server programmatically */ import { SafariMCPServer } from './safari-mcp-server.js'; async function exampleUsage() { const server = new SafariMCPServer(); console.log('Starting Safari MCP Server example...'); try { // This would normally be handled by the MCP client // Here we're just demonstrating the tool calls // Example 1: Start a session console.log('\n1. Starting Safari session...'); const startResult = await server['handleToolCall']('safari_start_session', { sessionId: 'example-session', options: { enableInspection: true, enableProfiling: true } }); console.log('Result:', startResult[0]?.text); // Example 2: Navigate to a website console.log('\n2. Navigating to website...'); const navResult = await server['handleToolCall']('safari_navigate', { sessionId: 'example-session', url: 'https://example.com' }); console.log('Result:', navResult[0]?.text); // Example 3: Execute JavaScript console.log('\n3. Executing JavaScript...'); const scriptResult = await server['handleToolCall']('safari_execute_script', { sessionId: 'example-session', script: 'return { title: document.title, url: window.location.href, userAgent: navigator.userAgent };' }); console.log('Result:', scriptResult[0]?.text); // Example 4: Get page info console.log('\n4. Getting page info...'); const pageInfoResult = await server['handleToolCall']('safari_get_page_info', { sessionId: 'example-session' }); console.log('Result:', pageInfoResult[0]?.text); // Example 5: Get console logs console.log('\n5. Getting console logs...'); const logsResult = await server['handleToolCall']('safari_get_console_logs', { sessionId: 'example-session', logLevel: 'ALL' }); console.log('Result:', logsResult[0]?.text); // Example 6: Take screenshot console.log('\n6. Taking screenshot...'); const screenshotResult = await server['handleToolCall']('safari_take_screenshot', { sessionId: 'example-session' }); console.log('Result:', screenshotResult[0]?.text); // Example 7: Close session console.log('\n7. Closing session...'); const closeResult = await server['handleToolCall']('safari_close_session', { sessionId: 'example-session' }); console.log('Result:', closeResult[0]?.text); } catch (error) { console.error('Error in example:', error); } finally { await server.shutdown(); } } // Uncomment to run the example // exampleUsage(); export { exampleUsage };

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/lxman/safari-mcp-server'

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