QUICK START
Get your agent a body in under a minute.
Any MCP agent. Any language. Just JSON.
Configure it as an MCP server:
{
"mcpServers": {
"eidou": {
"command": "/path/to/eidou"
}
}
} 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:
{
"mcpServers": {
"eidou": {
"command": "/path/to/eidou"
}
}
} AI agents can reason, plan, and execute. But they cannot show you anything.
Agents output walls of text when they need to show you a dashboard.
Chat windows cannot collect structured input or show real-time data.
Building a React app for every agent is a waste of time and talent.
Your agent sends a JSON schema describing the UI it needs.
Eidou validates the schema and renders it as a native window.
Users click, type, and submit. Events stream back to the agent.
Stream events in real-time. Dashboards, monitors, interactive lists -- all from JSON.
show_widget
Halt the agent until the user responds. Approval gates, data collection, confirmations.
show_widget_and_wait
Native desktop toasts. Info, success, warning, error. No window needed.
show_toast
Pre-warmed windows for instant rendering. Zero flash, zero delay. Users see UI, not loading.
Override colors, fonts, and visual tokens. Per-session or per-widget. Your brand, not ours.
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.
Background daemon listening on localhost. Ready to accept connections from any agent client.
Visual heartbeat only. Indicates the server is active. No clicking, just connecting.