app_status
Check the operational status of Tauri desktop applications to verify they're running correctly for automation and testing workflows.
Instructions
Check app status
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The actual handler function that executes when app_status is called. It retrieves the current status and app config from TauriManager and returns them as formatted JSON.app_status: async () => { const status = tauriManager.getStatus(); const config = tauriManager.getAppConfig(); return { content: [ { type: 'text' as const, text: JSON.stringify({ status, app: config ? { name: config.packageName, binary: config.binaryName, directory: config.appDir, } : null, }, null, 2), }, ], }; },
- Schema definition for the app_status tool. It takes no input parameters and returns app status information.app_status: { name: 'app_status', description: 'Check app status', inputSchema: z.object({}), },
- packages/tauri-mcp/src/server.ts:112-134 (registration)Registration point where tool calls are routed. The CallToolRequestSchema handler routes incoming tool calls (including app_status) to the appropriate handler function from createToolHandlers.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; if (!(name in this.toolHandlers)) { throw new Error(`Unknown tool: ${name}`); } const handler = this.toolHandlers[name as ToolName]; try { return await handler(args as never); } catch (error) { return { content: [ { type: 'text' as const, text: `Error: ${(error as Error).message}`, }, ], isError: true, }; } });
- Type definition for the AppStatus enum that the app_status tool returns.export type AppStatus = 'not_running' | 'starting' | 'running';
- Helper method in TauriManager that determines the current app status based on process state and socket readiness. Used by the app_status handler.getStatus(): AppStatus { if (this.process) { if (this.detectedPipePath || this.detectedUnixSocketPath || this.isSocketReady()) { this.status = 'running'; } else { this.status = 'starting'; } } else { this.status = 'not_running'; } return this.status; }