SAFE STUB. Given a catalog source FQN, return HOW to query it FROM THIS MCP -- and only paths executable here: query_substrate (sync, small) or submit_query -> poll_query -> fetch_query (async), each with the source's fqn and one working example SELECT carrying an explicit LIMIT (and WHERE is_current when the table is M-2 versioned). Never executes SQL. A source outside the queryable set (retired / partial / planned / unattributed) gets no executable path and the rule that excluded it. COLUMNS (0.3.0): example_sql names the first ~6 real columns instead of SELECT * when the source is in the committed columns snapshot (same one describe_data_source's columns field reads); falls back to SELECT * when it is not, never a guessed column list. IDENTIFIERS (2026-09-18): this accepts every identifier describe_data_source accepts -- the public source code, a catalog source id, or a table FQN -- and answers with the same what-to-type block, so the two can never disagree about whether an identifier exists.