SSE Transport

Server-Sent Events (SSE) transport mode for connecting MCP clients to the Argus gateway.

The SSE (Server-Sent Events) transport is the default and most widely supported transport for MCP clients. It uses a persistent HTTP connection for server-to-client streaming and a separate POST endpoint for client-to-server messages.

Server Endpoints

EndpointMethodPurpose
/sseGETOpens the SSE stream for server-to-client messages
/messages/POSTAccepts client-to-server MCP messages

Server Configuration

Set SSE as the primary advertised transport in your config:

server:
  host: "127.0.0.1"
  port: 9000
  transport: sse
FieldTypeDefaultDescription
hoststring"127.0.0.1"Bind address
portinteger9000Listen port (1-65535)
transportstring"sse"Primary transport: "sse" or "streamable-http"

SSE Backend Connections

Argus can also connect to remote MCP servers over SSE as a backend. This is useful for integrating with remote or third-party MCP services.

backends:
  remote-sse:
    type: sse
    url: "http://remote-host:8080/sse"
    headers:
      X-Custom: "value"
    auth:
      type: static
      headers:
        Authorization: "Bearer ${API_TOKEN}"
    group: remote

Backend Configuration Fields

FieldTypeDefaultDescription
type"sse"--Required
urlstring--Required. SSE endpoint URL (must start with http:// or https://)
commandstringnullOptional local process to launch before connecting
argslist[]Process arguments
envmapnullProcess environment
headersmapnullExtra HTTP headers (values support ${ENV_VAR})
authobjectnullOutgoing auth config
groupstring"default"Logical server group
timeoutsobjectdefaultsConnection timeouts
filtersobjectdefaultsCapability filters
tool_overridesmap{}Per-tool name/description overrides

SSE Startup Timeout

When an SSE backend launches a local process (via the optional command field), Argus waits for it to become ready:

timeouts:
  sse_startup: 5   # seconds to wait for local SSE process

Starting the Server in SSE Mode

# Default (SSE is the default transport)
argus-mcp server

# Explicit host/port
argus-mcp server --host 0.0.0.0 --port 8080

# Verbose startup to see backend connection progress
argus-mcp server -v