Absorb
Integration

Absorb behind Kong

Kong authenticates the caller and shapes traffic. Absorb decides which operations exist for the agent behind it. The release ships a declarative, DB-less Kong configuration that routes agent traffic to Absorb with the methods, timeouts and headers MCP depends on.

What the configuration contains

Shipped as deploy/gateways/kong.yml: one service and three routes. Each route strips the /agent prefix and preserves the host.

RoutePathsMethodsWhy
absorb-mcp/agent/mcpPOST, DELETEDELETE is how MCP clients end a session, and most gateway configurations leave it out
absorb-sse/agent/sse, /agent/messagesGET, POSTThe legacy transport is a pair: one stream and one post-back
absorb-admin/agent/admin, /agent/integrationsAllThe dashboard and the Slack approval callback

Timeouts, plugins and load balancing

  • The service sets a 5 second connect timeout and 900 second read and write timeouts, which keeps held approvals and SSE streams open.
  • A request size limit of 4 MB.
  • Local rate limiting at 600 requests per minute.
  • A correlation ID on X-Request-Id.
  • An upstream block with two Absorb targets for load balancing.

Where Kong stops and Absorb starts

 KongAbsorb
CallerAuthenticates the caller at the edgeEstablishes which agent is calling, through its own tokens or OIDC
TrafficRate limits and request sizeA response size cap per tool
OperationsRoutes agent traffic to AbsorbDecides which operations exist for the agent, from the policy
ResponsesReturns what Absorb sendsReturns only the fields the policy lists

Requirements every gateway must meet

These are what actually break integrations. The shipped configurations for Kong, Apigee and MuleSoft meet all six.

RequirementConsequence if missed
Pass Authorization through unchangedAgents cannot authenticate
Pass Mcp-Session-Id both waysSessions break after initialize
No buffering on /sseThe agent hangs waiting for the stream
Read timeout above the approval waitHeld calls time out at the gateway
Allow DELETE on the MCP pathClients cannot end sessions
Preserve the path after the stripped prefixRequests hit the wrong route, unless --path is set to match

Other integrations

Absorb behind Apigee

A proxy bundle with response streaming enabled, so server-sent events are not buffered.

Absorb behind MuleSoft

A Mule 4 flow that passes Absorb error bodies through instead of converting them to exceptions.

Absorb vs API gateways

Forwarding the requests you receive, against determining which operations exist for an agent.

Compile your own API and assess the result

Send a specification. We will show the tools it produces, the operations it withholds, and the document your security function would review.