X_MCP_EFFECT_UNDECLARED
Means
an MCP tool on a meta-split surface declares no effect
Typical cause
defineAppMcp({ surface: 'meta-split' }) groups an action whose mcp block names no effect, so no dispatcher can be picked for it
Fix
add mcp: { expose: true, effect: 'write' } (or 'delete' for an archive, a send or a spend) to the action, or tools: { name: { effect } } for a hand-written tool