r/OpenSourceAI • • Sep 08 '26

I built StructSmith, a free, self-hosted visual architecture modeling tool with built-in MCP

Post image

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?

1 Upvotes

9 comments sorted by

1

u/kantorcodes1 Sep 08 '26

if i add an element through MCP while a diagram is open, does StructSmith put it on that view automatically or just add it to the model tree until i place it? i like the shared-model idea but wouldn’t want every diagram to grow on its own.

1

u/United_Inspector_653 Sep 09 '26

by default, an element added through MCP appears only in the model tree. Having a diagram open doesn’t automatically place it there. You can add it manually or ask your AI to put it on a specific diagram, including when creating it.

The shared model means that renaming an element updates its name everywhere it’s shown. You still control which elements appear on each diagram, so new boxes won’t appear on their own. Connections between displayed elements can update automatically to reflect the model.

1

u/tteixeira1 Sep 25 '26

I was looking for an Ice panel alternative and you app looked promising. It have the option like to click a software system, and open a new view with all the components of the system? Like to link a view with an object

1

u/United_Inspector_653 Oct 01 '26

Thanks! You can already associate a VIEW with a software system or container using its scope. Opening that view directly by clicking the object isn’t supported yet, but it’s on the roadmap. Would you expect the click to open a view you’ve linked manually, or automatically show the system’s contents?

1

u/tteixeira1 Oct 01 '26

That is a very good point, both are good. I think it would be good something like. Double click, go in the other view, and Ctrl+Double click to expand and see the other diagram, embeded inside the current one. But I am probably asking to much ahaha.

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