Version 1
Auto-generated from config struct types and tags.
Config
Config is the root of smithy-stack.yaml. One file declares one supervised stack of MCP servers and agents.
| Field | Type | Required | Default | Exclusivity | Description |
|---|---|---|---|---|---|
version | string | yes | — | Schema version. Must be "1". | |
mcps | map[string]MCP | no | — | Named MCP servers managed by this stack file. | |
agents | map[string]Agent | no | — | Named agents managed by this stack file. | |
env_file | string[] | no | — | EnvFile is an optional list of dotenv files (KEY=VALUE) loaded into the daemon process before any service starts. Paths are resolved relative to the stack file's directory. Compose-style semantics: the shell environment wins over file values; among declared files, the first listed wins. A .env next to thestack file is loaded automatically when this list is empty. |
MCP
MCP is a single MCP server entry. The referenced config is loaded by mcpsmithy and served in-process by the supervisor.
| Field | Type | Required | Default | Exclusivity | Description |
|---|---|---|---|---|---|
config | string | yes | — | Path to the mcpsmithy config file (.mcpsmithy.yaml). Resolved relative to the stack file's directory. | |
transport | Transport | no | — | Wire transport exposed by the server. Defaults to whatever the referenced mcpsmithy config selects when unset. | |
addr | string | no | — | Listen address (host:port) for http transports. Mirrors mcpsmithy's --addr flag. Ignored for stdio. | |
autorestart | boolean | no | — | Restart on non-zero exit. Defaults to true when unset; set false to opt out per-entry (one-shot or hand-managed servers). |
Agent
Agent is a single agent entry. The referenced config is loaded by agentsmithy and served in-process by the supervisor.
| Field | Type | Required | Default | Exclusivity | Description |
|---|---|---|---|---|---|
config | string | yes | — | Path to the agentsmithy config file (.agentsmithy.yaml). Resolved relative to the stack file's directory. | |
transport | AgentTransport | no | — | Wire transport exposed by the agent. Defaults to a2a when unset. | |
addr | string | no | — | Listen address (host:port) for http-like transports. Mirrors agentsmithy's --addr flag. Ignored for stdio transports. | |
autorestart | boolean | no | — | Restart on non-zero exit. Defaults to true when unset; set false to opt out per-entry (one-shot or hand-managed agents). |
Enum Reference
Transport
Transport selects the wire protocol an MCP server exposes.
| Value | Description |
|---|---|
stdio | TransportStdio runs the server over stdio. |
http | TransportHTTP serves the server over streamable HTTP. |
AgentTransport
AgentTransport selects the wire protocol an agent exposes.
| Value | Description |
|---|---|
a2a | AgentTransportA2A serves the agent as A2A JSON-RPC over HTTP. |
mcp-http | AgentTransportMCPHTTP serves the agent as an MCP server over streamable HTTP. |
mcp-stdio | AgentTransportMCPStdio serves the agent as an MCP server over stdio. |
stdio | AgentTransportStdio runs the agent's line REPL over stdio. |