Skip to main content
The cors policy handles CORS preflight requests and appends configured CORS headers to applicable responses. This is required when MCP clients running in browsers (such as web-based AI agents) need to call Agentgateway from a different origin. cors is configured under binds[].listeners[].routes[].policies:
binds:
- port: 3000
  listeners:
  - routes:
    - policies:
        cors:
          allowOrigins:
          - '*'
          allowHeaders:
          - mcp-protocol-version
          - content-type
          exposeHeaders:
          - Mcp-Session-Id

Fields

cors
object
CORS policy configuration.

Examples

Suitable for development or public MCP endpoints:
policies:
  cors:
    allowOrigins:
    - '*'
    allowHeaders:
    - mcp-protocol-version
    - content-type
    allowMethods:
    - GET
    - POST
    - OPTIONS
    exposeHeaders:
    - Mcp-Session-Id
Suitable for production when specific origins are known:
policies:
  cors:
    allowOrigins:
    - https://app.example.com
    - https://dashboard.example.com
    allowHeaders:
    - mcp-protocol-version
    - content-type
    - authorization
    allowMethods:
    - GET
    - POST
    allowCredentials: true
    exposeHeaders:
    - Mcp-Session-Id
    maxAge: "3600"
This is the exact CORS configuration from the MCP authentication example:
policies:
  cors:
    allowHeaders:
    - mcp-protocol-version
    - content-type
    allowOrigins:
    - '*'
    exposeHeaders:
    - "Mcp-Session-Id"
Agentgateway automatically handles CORS preflight (OPTIONS) requests and appends the configured headers to all applicable responses. You do not need to configure a separate route for OPTIONS requests.