IDA MCP
OfficialServer 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 | {} |
| logging | {} |
| prompts | {} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| referenceA | Look up the active ida-domain API and return a plain-text IDA reference. |
| open_databaseB | Attach to a GUI database or shared managed idalib worker through IDA Nexus. |
| execute_pythonA | Execute Python and return its result plus captured stdout and stderr. |
| list_databasesA | Discover registered GUI and idalib databases in IDA Nexus. |
| save_databaseA | Explicitly save an active GUI or idalib database. |
| close_databaseA | Release this MCP's IDA Nexus database handle without disrupting other clients. If this is the final lease on a managed idalib worker, orphaned execution is cancelled and this call waits for the IDB to finish closing. GUI databases are never closed here. |
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 6 tools
Each tool has a clearly distinct purpose: reference for API lookup, open_database for attaching, execute_python for running code, list_databases for discovery, save_database for persistence, and close_database for cleanup. No two tools overlap in functionality, making misselection unlikely.
Most tools follow a consistent verb_noun pattern (open_database, list_databases, save_database, close_database, execute_python). The exception is 'reference', which is a noun and deviates from the verb-first convention, but it remains clear and unambiguous, so the minor inconsistency is acceptable.
Six tools is well within the ideal range for a focused server. Each tool covers a distinct operation necessary for IDA database interaction and Python execution, with no redundancy or bloat.
The surface covers the core lifecycle (open, list, save, close) and execution (execute_python) along with reference lookup. While there is no explicit 'create database' or 'get database info' tool, execute_python can handle arbitrary operations, mitigating any gaps. Minor missing features like status checks are workable.