dna mcp¶
Expose the live DNA (definitions + SDLC + memory) over MCP.
Generated from the command definitions
This page is introspected from the dna Click command tree by
scripts/gen_cli_docs.py, so it stays in lockstep with
dna mcp --help.
dna mcp serve¶
Run the DNA MCP server (stdio local, or Streamable HTTP for remote/web clients).
LOCAL (stdio) — wire it into Claude Code / Cursor / Copilot (mcp config JSON):
{
"mcpServers": {
"dna": {
"command": "dna",
"args": ["mcp", "serve"],
"env": { "DNA_SOURCE_URL": "file:///abs/path/to/.dna" }
}
}
}
REMOTE (Streamable HTTP) — host it so WEB clients (Claude web, ChatGPT) reach it:
$ dna mcp serve --transport http --host 0.0.0.0 --port 8000
# endpoint: http://<host>:8000/mcp/ — point a remote/web MCP client at that URL.
# add --auth jwt (single env IdP) or --auth config (the pluggable N-provider
# layer from dna.config.yaml — Entra/Clerk/WorkOS/OIDC) to require a bearer
# token whose tenant claim scopes every tool to that tenant (see the auth guide).
Either way the client calls compose_prompt / sdlc_digest / recall and reads the
dna://{scope}/manifest resource — all against your live DNA.
Options
| Option | Description |
|---|---|
--auth |
Auth provider for the HTTP transport. jwt = a single bearer-JWT Resource Server from env (DNA_MCP_JWT_). config = the pluggable N-provider IdP layer read from dna.config.yaml's auth.providers[] (Entra/Clerk/WorkOS/OIDC — a provider is a config block; multi-issuer, claim→tenant per provider). azure = the Lane A Entra FACADE (AzureProvider/OAuthProxy from DNA_MCP_AZURE_) — gives Claude zero-config DCR/CIMD/PKCE while preserving the Entra assertion for OBO. All bridge the token to DNA tenancy; all are HTTP-only. stdio stays local/unauthenticated. (default: none) |
--base-dir |
Source directory override (else DNA_SOURCE_URL / DNA_BASE_DIR / ./.dna). |
--help |
Show this message and exit. |
--host |
Bind host for the HTTP/SSE transports (ignored for stdio). (default: 127.0.0.1) |
--lane-b |
Consumer lane (identity front-door Option X). workos mounts a SECOND MCP surface at /consumer authenticated by WorkOS AuthKit (DNA_MCP_WORKOS_*) — for Gmail/consumer sign-up — beside the primary Lane A. HTTP-only; requires --transport http. (default: none) |
--path |
URL path the MCP endpoint is mounted at (HTTP/SSE; FastMCP default /mcp). |
--port |
Bind port for the HTTP/SSE transports (ignored for stdio). (default: 8000) |
--scope |
Default scope for tools that omit one (else the sole/first scope). |
--transport |
MCP transport. stdio = local clients (Claude Code/Cursor/Copilot). http (Streamable HTTP, MCP spec 2025-06-18) = REMOTE/web clients (Claude web, ChatGPT) that cannot spawn a local process. Same server, both transports (FastMCP native — story s-mcp-remote-transport). (default: stdio) |