{"id":"halilural-electron-mcp-server","name":"electron-mcp-server","homepage":null,"repo_url":"https://github.com/halilural/electron-mcp-server","category":"devtools","subcategories":[],"tags":["mcp","electron","automation","ui-testing","debugging","observability","devtools-protocol","playwright","screenshots","typescript"],"what_it_does":"electron-mcp-server is an MCP (Model Context Protocol) server that automates and observes Electron applications. It can launch Electron apps with debugging enabled, inspect window/target information via Chrome DevTools Protocol, take screenshots via Playwright/CDP, stream Electron logs, build apps, and execute various UI interaction commands (including selector/text-based clicking, form filling, screenshots, and an eval-style command gated by security settings).","use_cases":["Automated UI workflows for Electron apps (clicking, filling forms, navigation)","Visual debugging and state capture via screenshots","Inspection of windows/targets and page structure using DevTools Protocol","Real-time observability through streaming main/renderer/console logs","Development/test automation without modifying the Electron app","Cross-platform Electron build automation (via the MCP tool)"],"not_for":["Untrusted automation of sensitive apps where granting UI automation is unacceptable","Production usage where strict guarantees on resource usage, stability, and audit/retention controls are not defined","Public internet exposure without strong network and process isolation"],"best_when":"You control the environment running the MCP server/client, need local automation/observability for Electron apps, and can select an appropriate security level (strict/balanced/permissive/development).","avoid_when":"Avoid using permissive/development security levels against untrusted content or third-party Electron apps, and avoid exposing the MCP server to untrusted networks/users.","alternatives":["Playwright/E2E testing frameworks with custom Electron hooks","Spectron-like legacy approaches (if maintained) or Electron integration testing stacks","Custom CDP/WebSocket-based tooling tailored to your Electron app","Existing MCP servers specialized for browser automation (if your Electron app is browser-like)"],"af_score":58.8,"security_score":46.0,"reliability_score":36.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:18:37.857733+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["TypeScript","JavaScript"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Environment-based security level configuration (SECURITY_LEVEL)","Optional screenshot encryption key configuration (SCREENSHOT_ENCRYPTION_KEY)"],"oauth":false,"scopes":false,"notes":"The README emphasizes security levels and sandboxing rather than explicit user authentication/authorization. No OAuth/API key flow is described."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open source (MIT) and distributed via npm/npx; costs are primarily your infrastructure/runtime."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":58.8,"security_score":46.0,"reliability_score":36.2,"mcp_server_quality":78.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":"README includes a few example error causes/messages (e.g., 'selector is empty', 'Element not found', 'Command blocked', 'Click prevented - too soon') but does not document comprehensive error codes/fields.","auth_complexity":55.0,"rate_limit_clarity":10.0,"tls_enforcement":60.0,"auth_strength":35.0,"scope_granularity":25.0,"dependency_hygiene":55.0,"secret_handling":60.0,"security_notes":"README emphasizes sandboxed execution, input validation/static analysis, encrypted/audited operations, and screenshot encryption (SCREENSHOT_ENCRYPTION_KEY). However, the interface appears to rely mainly on security levels/environment configuration rather than explicit per-user auth/scopes. TLS enforcement and full network exposure model are not described. Dependencies include electron/playwright/ws/zod; no CVE/security posture details are provided in the provided content.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":40.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"UI interaction commands and app launch/close are generally not idempotent by default (not explicitly documented).","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Incorrect argument structure for send_command_to_electron (e.g., passing a selector string instead of an args object like {\"selector\": \"...\"}).","Rapid consecutive clicks can cause timing-related failures ('Click prevented - too soon').","Some commands may be blocked depending on SECURITY_LEVEL."]}}