summaryrefslogtreecommitdiffstats
path: root/docs/PAGING_FINDINGS.md
diff options
context:
space:
mode:
authorblasty <peter@haxx.in>2026-07-24 01:49:57 +0200
committerblasty <peter@haxx.in>2026-07-24 01:49:57 +0200
commit1e108ddfd1ba3baec6c4e2b2340644ebf6edd290 (patch)
tree2da7475d73c474afe9f119d6b5cf8f298f47604f /docs/PAGING_FINDINGS.md
parentworker: spawn under the IDA python (has ida_pro_mcp), not the TUI's (diff)
downloadida-tui-1e108ddfd1ba3baec6c4e2b2340644ebf6edd290.tar.gz
ida-tui-1e108ddfd1ba3baec6c4e2b2340644ebf6edd290.tar.xz
ida-tui-1e108ddfd1ba3baec6c4e2b2340644ebf6edd290.zip
worker: wrap non-dict tool returns as {"result": ...} to match MCP shapes
The MCP server sets structuredContent = result if isinstance(result, dict) else {"result": result} (zeromcp mcp.py:832), and domain.py parses that exact shape — e.g. function_of() reads payload["result"] from lookup_funcs, which returns a bare list. Our worker returned the raw list, so function_of got a non-dict and returned None: hence "F5 — cursor is not inside a defined function" on Tab. Replicate the rule in the worker's dispatch: dict passes through, anything else (list/scalar) is wrapped as {"result": ...}. Fixes function_of and every other list-returning tool (resolve_names, xref_query, list_funcs) in one shot.
Diffstat (limited to 'docs/PAGING_FINDINGS.md')
0 files changed, 0 insertions, 0 deletions