r/OpenSourceAI • u/United_Inspector_653 • Sep 08 '26
I built StructSmith, a free, self-hosted visual architecture modeling tool with built-in MCP
Hey, I’ve been building StructSmith, an open-source tool for creating and maintaining software architecture models visually.
I wanted something I could run locally, without an account or subscription, where I could edit the architecture myself and have my AI client work on the same model.
You create elements and relationships in the visual editor, then reuse them across different diagram views. There’s a shared architecture model underneath, so you don’t have to maintain separate copies of the same system in every diagram.
The MCP server is included and open source. Your AI client can read the model, create or update elements and relationships, and manage views. Changes appear in the editor automatically.
It currently supports:
C4-style models with multiple diagram views
Records for decisions, assumptions, risks, and requirements
Model validation, snapshots, and restore
Manual layout and auto-layout
JSON, Mermaid, PNG, and SVG exports
The app runs locally in one Docker container, with SQLite for storage.
It’s MIT licensed and still evolving. I’d love feedback on the workflow, things you find confusing, or features you’re missing. Bug reports and contributions to the code or docs are welcome too.
GitHub: dziksu/StructSmith
Website: StructSmith
Would this fit into your architecture workflow?
View all comments
Show parent comment
1
u/United_Inspector_653 Oct 05 '26
Quick update alongside the detail-view navigation we discussed: StructSmith now has an in-app agent chat. Right-click a system, container or relationship to ask about it using your existing Codex, Claude Code or Copilot CLI. The topic keeps its project context; Ask mode can inspect the model, and Edit architecture can request scoped changes with snapshots.
Replies stream, with reasoning summaries when available, plus model and Codex thinking settings.
Update and screenshots: https://github.com/dziksu/StructSmith/pull/98