Class McpServerManager

java.lang.Object
burp.mcp.server.McpServerManager

public class McpServerManager extends Object
Owns the MCP listeners' lifecycle so they can be started, stopped, and restarted from the UI without reloading the extension.

TCP and the Unix socket are bound independently: a busy TCP port (another Burp instance still holding 4444) records a clear error and lets the socket serve this project instead of aborting the whole startup. A restart builds a fresh McPServer — the worker pool is shut down on stop — and re-reads saved preferences, so port, bind address, TLS, socket, and pool changes apply live.

  • Constructor Details

  • Method Details

    • start

      public void start()
    • stop

      public void stop()
    • restart

      public void restart()
    • getServer

      public McPServer getServer()
    • getMetrics

      public MetricsCollector getMetrics()
    • getApprovalManager

      public ApprovalManager getApprovalManager()
    • getAccessGate

      public AccessGate getAccessGate()
    • isTcpRunning

      public boolean isTcpRunning()
      TCP serving, i.e. the port was bound successfully.
    • isSocketRunning

      public boolean isSocketRunning()
      Unix socket serving this project.
    • isRunning

      public boolean isRunning()
    • getTcpError

      public String getTcpError()
    • getSocketError

      public String getSocketError()
    • getSocketPath

      public Path getSocketPath()
    • getEndpoint

      public String getEndpoint()
    • setLogListener

      public void setLogListener(Consumer<String> listener)
      Forwarded to every server this manager creates.
    • addStateListener

      public void addStateListener(Runnable listener)