open_application
Opens macOS applications by name to launch tools like Safari, Finder, or Calculator for quick access and control.
Instructions
Открывает приложение на Mac по имени. Примеры: 'Safari', 'Finder', 'TextEdit', 'Calculator'
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appName | Yes | Имя приложения для запуска (например, 'Safari', 'Calculator') |
Implementation Reference
- src/server.py:304-309 (handler)Python handler function that opens a Mac application using the 'open -a' shell command.def open_application(app_name: str) -> str: """Opens application by name""" stdout, stderr = exec_command(f'open -a "{app_name}"') if stderr: raise Exception(f'Failed to launch application "{app_name}": {stderr}') return f'Application "{app_name}" successfully launched'
- src/index.ts:400-417 (handler)TypeScript handler method that opens a Mac application using execAsync on 'open -a' command.private async openApplication(appName: string) { try { // Используем команду open для запуска приложения await execAsync(`open -a "${appName}"`); return { content: [ { type: "text", text: `Приложение "${appName}" успешно запущено`, }, ], }; } catch (error) { throw new Error( `Не удалось запустить приложение "${appName}": ${error instanceof Error ? error.message : String(error)}` ); } }
- src/server.py:45-58 (schema)Input schema definition for open_application tool in Python MCP server.{ "name": "open_application", "description": "Opens an application on Mac by name. Examples: 'Safari', 'Finder', 'TextEdit', 'Calculator'", "inputSchema": { "type": "object", "properties": { "appName": { "type": "string", "description": "Application name to launch (e.g., 'Safari', 'Calculator')", }, }, "required": ["appName"], }, },
- src/index.ts:56-69 (schema)Input schema definition for open_application tool in TypeScript MCP server.{ name: "open_application", description: "Открывает приложение на Mac по имени. Примеры: 'Safari', 'Finder', 'TextEdit', 'Calculator'", inputSchema: { type: "object", properties: { appName: { type: "string", description: "Имя приложения для запуска (например, 'Safari', 'Calculator')", }, }, required: ["appName"], },
- src/server.py:595-596 (registration)Dispatch/registration point in handle_request where open_application handler is called.if tool_name == "open_application": result_text = open_application(arguments.get("appName"))