I was looking for a way to add AI agents to multiple systems that I maintain.I had a few requirements:- I work in multiple programming languages, so it needs to work for all of them.- I can control how tools access my system.- I can override the agent loop to try different patterns.- I can iterate on the loop without handling durability, streaming, and the rest of the nitty gritty.- I can iterate locally before deploying.- I can self host.Nothing existed that worked across programming languages, so I built it.It s not an SDK. It s a server that handles durability, streaming, MCP connections, LLM calls and connecting to channels like Slack.You can override every single step of the agent loop by handling a webhook.But you don t have to override anything, you don t even need to handle the webhook. You can define the agent in a TOML file and chat with your agent via Slack in minutes.Point it at your backend to receive a webhook at every decision point. The engine sends the current step and a proposed next step. You can echo the proposal to do what the engine wants, or you can do something else and customize the agent loop.Check it out!https://github.com/substructureai/substructurehttps://substructure.ai/