IDAssist · Settings

Provider setup, defaults, and plugin configuration.

Settings Tab Reference

Screenshot

Purpose

The Settings tab manages LLM providers, MCP providers, SymGraph integration, the system prompt, and database paths. It is the central configuration hub for IDAssist.

LLM Providers

Provider Table

Lists all configured LLM providers:

ColumnDescription
NameUnique provider name (e.g., "Claude", "GPT-5.3").
ModelModel identifier (e.g., claude-sonnet-4-6, gpt-5.3-codex).
TypeProvider type (see table below).
URLAPI endpoint URL.
Max TokensMaximum tokens for requests.
TLSWhether TLS verification is enabled.

Provider Management Buttons

ButtonDescription
AddOpen a dialog to configure a new LLM provider.
EditModify the selected provider's settings.
DeleteRemove the selected provider.
TestSend a test request to verify connectivity and credentials.

Active Provider

A dropdown selector to choose which LLM provider is used for all Explain, Query, and Actions operations. Only one provider is active at a time.

Reasoning Effort

Controls the extended thinking budget for supported models:

LevelToken BudgetDescription
NoneDisabledNo extended thinking. Standard response generation.
Low~2K tokensLight reasoning for straightforward tasks.
Medium~10K tokensModerate reasoning for complex analysis.
High~25K tokensDeep reasoning for the most complex tasks.

Extended thinking is supported by Anthropic models (Claude) and OpenAI reasoning models (o1).

Provider Types

TypeAuth MethodStreamingTool CallingNotes
anthropic_platformAPI KeyYesYesDirect Anthropic API
anthropic_oauthOAuth (browser)YesYesBrowser-based auth flow
anthropic_claude_cliLocal CLIYesYesUses claude CLI binary
openai_platformAPI KeyYesYesDirect OpenAI API
openai_oauthOAuth (browser)YesYesBrowser-based auth flow
ollamaNone (local)YesModel-dependentSelf-hosted, no API key needed
litellmProxy URLYesProvider-dependentMulti-provider proxy

Provider Configuration Fields

When adding or editing a provider:

FieldDescription
NameUnique identifier for this provider.
TypeProvider type from the table above.
ModelModel ID (e.g., claude-sonnet-4-6, gpt-4o, qwen2.5-coder:32b).
URLAPI endpoint. Auto-filled for known provider types.
API KeyAuthentication credential. Encrypted in the settings database.
Max TokensMaximum tokens per request.
Disable TLSSkip TLS certificate verification (for self-signed certs or local servers).

MCP Providers

MCP Provider Table

ColumnDescription
NameUnique name for the MCP server.
TargetHTTP endpoint for network transports, or the CLI command for stdio transports.
EnabledWhether this MCP server is active.
TransportConnection type (SSE, Streamable HTTP, or Stdio).

MCP Management Buttons

ButtonDescription
AddConfigure a new MCP server connection.
EditModify the selected MCP server's settings.
DeleteRemove the selected MCP server.
TestVerify connectivity to the MCP server.

MCP Transport Modes

Use one of these transport styles when adding an MCP provider:

TransportRequired FieldsNotes
sseURLFor MCP servers exposed over SSE, such as http://localhost:8000/sse.
streamablehttpURLFor MCP servers exposed over streamable HTTP, such as http://localhost:8000/mcp.
stdioCommandStarts a local MCP server process and talks to it over stdin/stdout.

For stdio providers, the dialog also supports:

  • Arguments: Command-line arguments. Enter either shell-style arguments or a JSON string array.
  • Working Directory: Optional process working directory.
  • Environment JSON: Optional JSON object of environment variables, for example {"API_KEY":"value"}.

On Windows, stdio MCP providers also require pywin32 in the same Python environment as IDA because the MCP SDK uses Windows Job Objects for child-process management.

SymGraph

The SymGraph section configures the remote service used by the SymGraph Tab.

Fields and actions:

  • API URL: SymGraph server URL for the hosted service or a self-hosted instance
  • API Key: Required for uploading binaries, importing shared analysis, and publishing revisions
  • Show / Hide: Toggle API-key visibility
  • Test: Verify connectivity and credentials

Refresh in the SymGraph tab can check whether a binary exists without an API key, but upload, import, and publish operations require one. IDAssist can only upload the raw binary when the original input file path is still available on disk.

System Prompt

A large text area for customizing the system prompt sent to the LLM with every request. The default prompt instructs the model to behave as a binary analysis assistant. Modify this to:

  • Focus the LLM on specific domains (malware, firmware, crypto)
  • Set output formatting preferences
  • Add standing instructions (always mention CVEs, always use C pseudocode, etc.)

Database Paths

Configure where IDAssist stores its local data:

FieldDefault PathPurpose
Analysis DB~/.idapro/idassist/analysis.dbFunction summaries, security flags, graph data.
RLHF DB~/.idapro/idassist/rlhf.dbUser feedback on LLM responses.
RAG Index~/.idapro/idassist/rag_index/Whoosh search index for uploaded documents.

Each field has a Browse button to select a custom path. The settings themselves are stored in ~/.idapro/idassist/settings.db.

  • Getting Started — Initial provider setup walkthrough
  • Explain Tab — Uses the active LLM provider
  • Query Tab — Uses the active LLM provider and MCP servers
  • SymGraph Tab — Uses the SymGraph credentials configured here
  • RAG Tab — Uses the RAG index path configured here