A lightweight IDALib desktop shell with an IDA Pro MCP-compatible backend
Pocket Disasm provides 8 management tools with consistent naming (idb_* prefix) and clear descriptions (avg 95 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not formally documented, responses are inferred from code inspection. Parameter descriptions are adequate but lack constraint details (ranges, enums, format specs). Error handling is present but generic; recovery guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Stop one IDALib worker and release its process.
Return readiness and process health for a binary session.
List every binary session, its state, process and selected status.
Read recent startup and IDALib log lines for a session.
Create an independent IDALib worker for a binary and select it for this MCP client.
Save a worker's current IDA database.
Select the default database for subsequent tool and resource calls by this MCP client.
Output schemas not formally documented. Responses inferred from code (e.g., idb_open returns session.as_dict(), idb_list returns {sessions, count, selected}). LLMs cannot plan downstream calls without knowing response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot distinguish safe from dangerous operations.
Parameter descriptions lack constraint details. 'timeout' in idb_wait has no range (code shows 300.0 default, max 300 in idb_logs). 'tail' in idb_logs lacks min/max (code enforces 1-300). LLMs cannot validate inputs without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Wait for one worker to finish startup and IDA auto-analysis.
Error handling is generic. idb_wait catches all exceptions and returns {error: str(error)}, but does not classify as retryable/user-fixable/fatal or suggest recovery steps. Agents cannot decide whether to retry or escalate.
No confirmation/dry-run pattern for destructive operations. idb_close immediately stops a worker with no undo option. Agents can accidentally close active sessions.