Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Start the Data API builder runtime with an existing configuration file.
Syntax
dab start [options]
Quick glance
| Option | Summary |
|---|---|
-c, --config |
Use a specific config file (defaults to dab-config.json or environment-specific file if present) |
--LogLevel <level> |
Specifies logging level as provided value. |
--mcp-stdio |
(Model Context Protocol (MCP)) Starts DAB as an MCP standard input/output (stdio) server instead of an HTTP server. Requires mcp.enabled: true in config. |
--no-https-redirect |
Disables automatic HTTP→HTTPS redirection |
--verbose |
Sets log level to Information |
--help |
Display the help screen. |
--version |
Display version information. |
-c, --config
Path to config file. Defaults to dab-config.json unless dab-config.<DAB_ENVIRONMENT>.json exists, where DAB_ENVIRONMENT is an environment variable.
Example
dab start \
--config ./settings/dab-config.json
--LogLevel <level>
Specifies logging level as provided value. For possible values, see Log levels.
Example
dab start \
--LogLevel Warning
--no-https-redirect
Disables automatic HTTP→HTTPS redirection.
Example
dab start \
--no-https-redirect
--verbose
Sets the minimum log level to Information.
Example
dab start \
--verbose
--mcp-stdio
Note
This option is a Model Context Protocol (MCP) feature which was introduced in release 1.7. It requires "mcp": { "enabled": true } in the runtime section of your dab-config.json. For full MCP configuration details, see SQL MCP Server overview.
Starts Data API builder as an MCP standard input/output (stdio) server instead of binding to an HTTP port. In this mode, DAB communicates with an MCP client (such as GitHub Copilot, Visual Studio (VS) Code, or any MCP-compatible AI agent) entirely over standard input/output (stdin/stdout) using the Model Context Protocol. No HTTP server or network port is exposed.
This flag also accepts an optional positional role:<role-name> argument that specifies the DAB permission role under which all MCP tool calls execute. The role must match a name defined in the permissions section of your entity configuration. If omitted, the role defaults to anonymous.
When --mcp-stdio is active, the following behaviors are applied automatically regardless of your config file settings:
- Encoding: Console input/output is forced to UTF-8 without a byte order mark (BOM) for clean JSON-over-standard input/output communication.
- Authentication: The authentication provider is forced to Simulator mode, enabling the specified role without requiring a real JSON Web Token (JWT) or identity provider.
- No HTTP host: DAB doesn't bind to any Transmission Control Protocol (TCP) port. The MCP server runs entirely over stdin/stdout.
Important
The role:<name> prefix is required. If the role name doesn't match a role defined in your entity permissions, MCP tool calls are denied.
Required config
MCP must be enabled in your dab-config.json before using --mcp-stdio:
"runtime": {
"mcp": {
"enabled": true,
"path": "/mcp",
"dml-tools": {
"create-record": true,
"read-records": true,
"update-record": true,
"delete-record": true
}
}
}
Example
# Default anonymous role
dab start \
--mcp-stdio \
--config ./dab-config.json
# Specific role
dab start \
--mcp-stdio role:authenticated \
--config ./dab-config.json
# With logging
dab start \
--mcp-stdio role:api-reader \
--config ./dab-config.json \
--LogLevel Information
MCP client configuration
Because DAB runs as a subprocess communicating over standard input/output (stdio), your MCP client must launch DAB as a child process and pipe its stdin/stdout. A typical MCP client configuration for Visual Studio (VS) Code or a compatible agent looks like:
{
"servers": {
"my-database": {
"type": "stdio",
"command": "dab",
"args": [
"start",
"--mcp-stdio",
"role:anonymous",
"--config",
"./dab-config.json"
]
}
}
}
For a complete walkthrough, see standard input/output (stdio) transport for SQL MCP Server.
--help
Display the help screen.
Example
dab start --help
--version
Display version information.
Example
dab start --version