IDA Script MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ida_instancesA | List all running IDA instances with MCP plugin enabled. Returns: str: JSON-formatted list of IDA instances with their ports and database info. Example response: { "count": 2, "instances": { "12345_crackme.exe": {"port": 13338, "database": "crackme.exe"}, "67890_malware.dll": {"port": 13339, "database": "malware.dll"} } } |
| execute_idapythonA | Execute Python code or script file in IDA Pro context. This tool sends Python code to the IDA Pro plugin for execution. The code runs in IDA's main thread with full access to all IDA API modules. For long-running scripts, the tool polls for completion up to the timeout. If the timeout is exceeded, a task_id is returned so you can check status later using the check_task_status tool. Args: params (ExecuteScriptInput): Validated input parameters containing: - code (Optional[str]): Python code string to execute - script_path (Optional[str]): Path to Python script file - capture_output (bool): Whether to capture stdout/stderr - instance_id (Optional[str]): Target IDA instance ID (e.g., "crackme.exe" or full ID) - port (Optional[int]): Target IDA instance port (e.g., 13338) - timeout (int): Maximum wait time in seconds (default: 600) Returns: str: JSON-formatted string containing: - result: The return value of the last expression - stdout: Captured standard output - stderr: Captured standard output (including errors) - instance: The IDA instance that executed the code - task_id: Present if script is still running or timed out Examples: # Execute on default instance execute_idapython(code="print(idaapi.get_root_filename())") |
| check_ida_connectionA | Check if IDA Pro instances are running and accessible. Returns: str: JSON-formatted string with connection status and all instances. |
| get_ida_database_infoA | Get information about an IDA database. Args: instance_id: Target IDA instance ID (optional, uses default if not specified). Returns: str: JSON-formatted string with database information. |
| check_task_statusA | Check the status of a long-running script execution task. Use this tool when execute_idapython returns a task_id with status 'running' or 'pending', indicating the script is still executing in IDA Pro and the timeout was exceeded. Args: task_id: The task ID returned by execute_idapython instance_id: Target IDA instance ID (optional, uses default if not specified) port: Target IDA instance port (optional, uses default if not specified) Returns: str: JSON-formatted task status with result if completed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct purpose: checking connection, listing instances, getting database info, executing scripts, and checking task status. No overlap or ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (e.g., check_ida_connection, execute_idapython), making them predictable and easy to understand.
Five tools is an ideal size for this server's purpose—covering connection management, instance listing, database info, script execution, and status checking without being over or underscoped.
The tool set covers all essential operations for executing scripts in IDA Pro: checking connectivity, listing instances, retrieving database info, executing code, and monitoring long-running tasks. No obvious gaps.