A tool-centric cognitive architecture built around a single idea: everything is a tool. One unified MCP layer lets humans and agents call tools to generate interfaces, compose workflows, query knowledge & databases, and run semantic search. Model-agnostic (OpenRouter, Ollama, OpenAI, Anthropic, any OpenAI-compatible endpoint) and database-flexible (SQLite, MongoDB, PostgreSQL).
Sysphony breaks the chatbot paradigm. At its core it is an Model Context Protocol (MCP) aggregator: plug in any MCP server and every capability becomes a tool. Tools are not one box in the diagram: they are the connections themselves, the means by which everything is done. The generative UI, a workflow, a database, a knowledge base: each is reached as a tool.
Because everything is a tool, the user can reach every one of them directly: use a workflow, query a database, open a knowledge base, drive the UI. The same tools do different jobs depending on how they are configured. Nothing is a special case, which is why the system keeps growing in capability instead of complexity.
The AI works through a router: the router reaches the domains the agent is configured with, and each domain uses the tools and knowledge it needs to do its job (AI → router → domain → tools): a modular mixture-of-experts (MoE-RAG), composed and reused at runtime. And a tool action can close the loop: a WebSocket event emitted by a tool can wake the agent, so the system can act on its own.
Under the hood: an Express + WebSocket core that scales via role separation (a state server for persistence and real-time events, stateless compute nodes for tool/agent execution). Works with any MCP client: Claude Desktop, Cursor, Codex, Kiro, or any custom client. From solo mode to a full cluster on AWS, the same Docker image runs everywhere.
Every arrow is a tool. The user reaches every final node directly; the AI goes through a router → domains; and a tool action (WebSocket) can loop back to wake the agent. Hover (or tap) a node.
The questions I asked myself building Sysphony, and the reasoning behind each choice, told plainly.