Package burp.mcp.util

Class McpConfig

java.lang.Object
burp.mcp.util.McpConfig

public class McpConfig extends Object
Configuration manager backed by Montoya Preferences API. Thread-safe singleton that handles null defaults.
  • Method Details

    • initialize

      public static McpConfig initialize(McpConfig.Preferences preferences)
    • getInstance

      public static McpConfig getInstance()
    • getPort

      public int getPort()
    • getMaxResponseBodyBytes

      public int getMaxResponseBodyBytes()
    • getMaxSitemapEntries

      public int getMaxSitemapEntries()
    • getBindAddress

      public String getBindAddress()
    • getThreadPoolSize

      public int getThreadPoolSize()
    • getRequestTimeoutMs

      public int getRequestTimeoutMs()
    • getCacheTtlSeconds

      public int getCacheTtlSeconds()
    • getRateLimitPerMinute

      public int getRateLimitPerMinute()
    • isIncludeRequestBody

      public boolean isIncludeRequestBody()
    • isIncludeResponseBody

      public boolean isIncludeResponseBody()
    • setPort

      public void setPort(int port)
    • setMaxResponseBodyBytes

      public void setMaxResponseBodyBytes(int bytes)
    • setBindAddress

      public void setBindAddress(String address)
    • setMaxSitemapEntries

      public void setMaxSitemapEntries(int entries)
    • setRequestTimeoutMs

      public void setRequestTimeoutMs(int ms)
    • setCacheTtlSeconds

      public void setCacheTtlSeconds(int seconds)
    • setRateLimitPerMinute

      public void setRateLimitPerMinute(int limit)
    • setThreadPoolSize

      public void setThreadPoolSize(int size)
    • setIncludeRequestBody

      public void setIncludeRequestBody(boolean include)
    • setIncludeResponseBody

      public void setIncludeResponseBody(boolean include)
    • getLogLevel

      public String getLogLevel()
    • setLogLevel

      public void setLogLevel(String level)
    • getLoggingFilePath

      public String getLoggingFilePath()
    • setLoggingFilePath

      public void setLoggingFilePath(String path)
    • getMaxQueueSize

      public int getMaxQueueSize()
    • setMaxQueueSize

      public void setMaxQueueSize(int size)
    • getMaxConnectionsPerIp

      public int getMaxConnectionsPerIp()
    • setMaxConnectionsPerIp

      public void setMaxConnectionsPerIp(int n)
    • isMetricsEnabled

      public boolean isMetricsEnabled()
    • setMetricsEnabled

      public void setMetricsEnabled(boolean enabled)
    • isCacheEnabled

      public boolean isCacheEnabled()
    • setCacheEnabled

      public void setCacheEnabled(boolean enabled)
    • isAuditLogEnabled

      public boolean isAuditLogEnabled()
    • setAuditLogEnabled

      public void setAuditLogEnabled(boolean enabled)
    • getScopeEnforcement

      public String getScopeEnforcement()
      Scope policy: "off", "prompt" or "deny".
    • setScopeEnforcement

      public void setScopeEnforcement(String mode)
    • getApprovalWaitSeconds

      public int getApprovalWaitSeconds()
      Seconds a gated tool call waits for an operator decision before returning pending.
    • setApprovalWaitSeconds

      public void setApprovalWaitSeconds(int seconds)
    • getApprovalTtlSeconds

      public int getApprovalTtlSeconds()
      Seconds an undecided approval stays queued for a retry before expiring.
    • setApprovalTtlSeconds

      public void setApprovalTtlSeconds(int seconds)
    • isApprovalPopupEnabled

      public boolean isApprovalPopupEnabled()
      Whether new approval requests pop a dialog in addition to the Approvals tab.
    • setApprovalPopupEnabled

      public void setApprovalPopupEnabled(boolean enabled)
    • isAuthEnabled

      public boolean isAuthEnabled()
    • getAuthToken

      public String getAuthToken()
    • setAuthEnabled

      public void setAuthEnabled(boolean enabled)
    • setAuthToken

      public void setAuthToken(String token)
    • generateToken

      public static String generateToken()
      Generate a cryptographically random 32-character hex API token.
    • isTlsEnabled

      public boolean isTlsEnabled()
    • getTlsMode

      public String getTlsMode()
      "self_signed" or "custom"
    • getTlsKeystorePath

      public String getTlsKeystorePath()
    • getTlsKeystorePassword

      public String getTlsKeystorePassword()
    • setTlsEnabled

      public void setTlsEnabled(boolean enabled)
    • setTlsMode

      public void setTlsMode(String mode)
    • setTlsKeystorePath

      public void setTlsKeystorePath(String path)
    • setTlsKeystorePassword

      public void setTlsKeystorePassword(String password)
    • isSocketEnabled

      public boolean isSocketEnabled()
    • getSocketPath

      public String getSocketPath()
      Explicit socket path, or "" for automatic per-project path. BURP_MCP_SOCKET_PATH env var wins over stored prefs.
    • setSocketEnabled

      public void setSocketEnabled(boolean enabled)
    • setSocketPath

      public void setSocketPath(String path)
    • defaultSocketPath

      public static Path defaultSocketPath(String tag)
      Automatic socket path for a project tag (project id or similar). Short hashed name keeps well under OS socket-path limits.
    • resolveSocketPath

      public Path resolveSocketPath(String projectName, String projectId)
      Resolve the effective socket path: an explicit config wins, otherwise a socket next to the current project file, otherwise a stable temporary per-project path.
    • setActiveSocketPath

      public static void setActiveSocketPath(String path)
    • getActiveSocketPath

      public static String getActiveSocketPath()
    • setApprovalManager

      public static void setApprovalManager(ApprovalManager manager)
    • getApprovalManager

      public static ApprovalManager getApprovalManager()
    • getRequestCache

      public static RequestCache getRequestCache()
    • setRequestCache

      public static void setRequestCache(RequestCache cache)
    • validate

      public List<String> validate()
      Validate all configuration values. Returns a list of error messages. Empty list means valid.