# X_MCP_TOOL_UNDECLARED

## Means

`defineAppMcp` lists a primitive that declares no MCP exposure

## Typical cause

an action or query named in `actions:`/`queries:` with no `mcp` block, or `mcp: { expose: false }`

## Fix

add `mcp: { expose: true, description }` beside the primitive's policy — or drop it from the list and let `include: 'exposed'` project what opted in

[MCP and AI](/error-codes#mcp-and-ai)
