Visual architecture models that AI agents build from. Edit C4 diagrams in a drag-and-drop editor — AI agents read, modify, and implement the same model through MCP.
Features
•
Getting started
•
MCP server
•
Building from source
Demo.mp4
AI agents write code, but natural language is a lossy way to tell them what to build. Scryer gives you a shared visual model — you edit it in a drag-and-drop editor, the agent reads and modifies it through MCP. Once the model looks right, the agent generates code from it — get_task feeds work one unit at a time with dependency ordering, inherited contracts, and progress tracking.
Opinionated C4 hierarchy (system, container, component, operation), typed relationships, behavioral flows, contracts.
- C4 Architecture Diagrams — drag-and-drop editor for persons, systems, containers, components, and operations. Drill down through levels.
- Behavioral Flows — model user journeys, data pipelines, deploy sequences. Link flow steps to components.
- Data Models — define typed properties on model nodes, visible on the canvas alongside your architecture.
- Contracts — always/ask/never rules that constrain how AI agents implement your code. Inherited down the hierarchy.
- Source Mapping — link architecture nodes to files in your codebase.
- MCP Server — AI agents connect to read, modify, and implement from your architecture model in real-time.
- AI Advisor — optional LLM-powered review that flags structural issues in your diagrams.
- State Machine Workflow —
get_taskfeeds work to AI agents one unit at a time with dependency ordering, contract inheritance, and progress tracking. Build, mark done, repeat.
Download the latest release for your platform from the releases page.
- Tell your AI agent: "Use scryer to model this project's architecture"
- The AI calls MCP tools — nodes appear in the visual editor in real-time
- Review, drag things around, rename, remove, restructure
- Tell the AI: "Implement this model"
- The AI reads the model and generates code from it
The MCP server lets AI agents read and modify your architecture models. It ships bundled with the desktop app.
In any project directory, run:
scryer-mcp initThis detects which AI tools you have installed (Claude Code, Codex) and writes project-scoped config for each:
- Claude Code —
.mcp.json - Codex —
.codex/config.toml
Existing config files are preserved — only the scryer entry is added or updated. If neither tool is found in PATH, the command tells you.
If you prefer to configure MCP manually, add scryer to your project config:
Claude Code (.mcp.json in project root):
{
"mcpServers": {
"scryer": {
"type": "stdio",
"command": "/path/to/scryer-mcp"
}
}
}Codex (.codex/config.toml in project root):
[mcp_servers.scryer]
command = "/path/to/scryer-mcp"- Read the full model or scoped subtrees (
get_model,get_node) - Add, update, and remove nodes and edges
- Define behavioral flows (
set_flows) - Get implementation tasks in dependency order (
get_task) - Detect what changed since last read (
get_changes)
Scryer is a Tauri desktop app. The UI is written in React with TypeScript and the backend is written in Rust. Canvas rendering uses ReactFlow with ELK for auto-layout.
If you use Nix, shell.nix provides everything:
nix-shellpnpm install # Install dependencies
pnpm tauri dev # Run full app (Tauri + Vite on :1420)
pnpm dev # Run frontend only
pnpm tauri build # Production buildScryer is Fair Source software under the Functional Source License (FSL-1.1-MIT). You can use it, view the source, and contribute. You just can't build a competitor with it. The license converts to MIT after two years.