Overview

Smithy is the unified CLI for the smithy stack; it runs single MCP servers, single agents, and orchestrates multi-server stacks via
smithy stack.
Why does it exist?
Engineers are adopting AI coding assistants everywhere, but tuning their flows is hard and inconsistent. You end up babysitting an agent instead of training it.
Smithy gives you the building blocks to compose deterministic flows on top of mcpsmithy and agentsmithy; declare your tools, agents, and guardrails in YAML, then iterate until the flow behaves exactly the way you want.
- One CLI, the whole stack; run a single MCP server, a single
agent, or orchestrate many of them with
smithy stack. - Declarative, not bespoke; flows live in config, not glue code, so they're reviewable, diffable, and reproducible.
- Tune, don't babysit; add your own security guards and conventions so the agent stays on rails by construction.
How it works
- You describe your servers and agents in YAML
(
.mcpsmithy.yaml,.agentsmithy.yaml, or asmithy-stack.yamlfor a multi-process flow). - You run a single component with
smithy mcp serveorsmithy agent serve, or bring the whole stack up withsmithy stack up; a built-in supervisor that spawns, monitors and restarts each process for you. - Your MCP-compatible AI assistant connects to the resulting servers and uses the tools and agents you defined.