Streamable HTTP Transport

Streamable HTTP transport mode for bidirectional MCP communication over standard HTTP.

The Streamable HTTP transport is the newer MCP transport protocol that provides full bidirectional communication over standard HTTP methods. It supports GET, POST, and DELETE operations on a single /mcp endpoint.

Server Endpoint

EndpointMethodsPurpose
/mcpGET, POST, DELETEStreamable HTTP transport for MCP clients

Server Configuration

Set Streamable HTTP as the primary advertised transport in your config:

server:
  host: "127.0.0.1"
  port: 9000
  transport: streamable-http

Note:

Both SSE and Streamable HTTP transports are always available regardless of the transport setting. The setting only controls which is advertised as primary.

Streamable HTTP Backend Connections

Argus can connect to remote MCP servers using the Streamable HTTP transport as a backend. This transport supports advanced authentication methods including OAuth2 and PKCE.

Basic Configuration

backends:
  remote-http:
    type: streamable-http
    url: "http://remote-host:8080/mcp"
    headers:
      X-Custom: "value"
    group: remote

With OAuth2 Authentication

backends:
  remote-http:
    type: streamable-http
    url: "http://remote-host:8080/mcp"
    auth:
      type: oauth2
      token_url: "https://auth.example.com/token"
      client_id: "argus"
      client_secret: "${OAUTH_SECRET}"
      scopes: ["mcp:read", "mcp:write"]

With PKCE (Browser-Based Login)

backends:
  remote-http:
    type: streamable-http
    url: "https://mcp.example.com/mcp"
    auth:
      type: pkce
      authorization_endpoint: "https://auth.example.com/authorize"
      token_endpoint: "https://auth.example.com/token"
      client_id: "my-client"
      scopes: ["openid"]

Backend Configuration Fields

FieldTypeDefaultDescription
type"streamable-http"--Required
urlstring--Required. HTTP endpoint URL
headersmapnullExtra HTTP headers
authobjectnullOutgoing auth config
groupstring"default"Logical server group
timeoutsobjectdefaultsConnection timeouts
filtersobjectdefaultsCapability filters
tool_overridesmap{}Per-tool name/description overrides

Starting the Server

# Start with streamable-http as primary transport
argus-mcp server --config config.yaml

# With auto-reauth for OAuth backends
argus-mcp server --auto-reauth

The --auto-reauth flag is particularly useful with Streamable HTTP backends that use OAuth2 or PKCE authentication, as it automatically opens the browser for re-authentication when a refresh token expires or is revoked.