Skip to content

Your AI agent has a brain.
Eidou gives it a body.

Desktop UI for AI Agents, via MCP. Send JSON. Get native windows. Collect input.

Get your agent a body in under a minute.

Any MCP agent. Any language. Just JSON.

Configure it as an MCP server:

claude_desktop_config.json
{
  "mcpServers": {
    "eidou": {
      "command": "/path/to/eidou"
    }
  }
}

AI agents can reason, plan, and execute. But they cannot show you anything.

TEXT IS LOW BANDWIDTH

Agents output walls of text when they need to show you a dashboard.

CHAT IS PASSIVE

Chat windows cannot collect structured input or show real-time data.

CUSTOM UIs ARE SLOW

Building a React app for every agent is a waste of time and talent.

DESCRIBE

Your agent sends a JSON schema describing the UI it needs.

RENDER

Eidou validates the schema and renders it as a native window.

INTERACT

Users click, type, and submit. Events stream back to the agent.

ASYNC WIDGETS

Stream events in real-time. Dashboards, monitors, interactive lists -- all from JSON.

show_widget

BLOCKING FORMS

Halt the agent until the user responds. Approval gates, data collection, confirmations.

show_widget_and_wait

NOTIFICATIONS

Native desktop toasts. Info, success, warning, error. No window needed.

show_toast

WINDOW POOLING

Pre-warmed windows for instant rendering. Zero flash, zero delay. Users see UI, not loading.

CUSTOM THEMES

Override colors, fonts, and visual tokens. Per-session or per-widget. Your brand, not ours.

DUAL TRANSPORT

Stdio for local CLI tools. HTTP/SSE for containers and remote agents. Same protocol, two pipes.

EUIP: Eidou User Interface Protocol

Think of it as HTML for Agents.

Every element is a node with type, props, and children. Strict validation catches errors before they render.

Read the Specification >>

Eidou behaves like a resident companion, not a temporary window.

RESIDENT HOST

Background daemon listening on localhost. Ready to accept connections from any agent client.

PASSIVE BEACON

Visual heartbeat only. Indicates the server is active. No clicking, just connecting.

Forged in the Void by Meowfia.