Mastra.addGateway()
Dynamically adds a gateway to the Mastra instance. Can be used during or after initialization.
Usage example
import { Mastra } from '@mastra/core';
const mastra = new Mastra();
// Add with explicit key
mastra.addGateway(new MyCustomGateway(), 'myGateway');
// Add using gateway's ID as the key
mastra.addGateway(new MyCustomGateway());
// Stored with key 'my-custom-gateway' (the gateway's id)
Parameters
gateway:
MastraModelGateway
The gateway instance to add
key?:
string
Optional registration key. If not provided, uses gateway.getId()
Returns
Void. The gateway is added to the internal registry.
Behavior
- If a gateway with the same key already exists, the addition is skipped
- In development mode (
MASTRA_DEV=true), automatically triggers type generation for custom gateways - The gateway becomes available immediately for model resolution
Related
- Mastra.getGateway() - Get gateway by registration key
- Mastra.getGatewayById() - Get gateway by ID
- Mastra.listGateways() - List all gateways
- MastraModelGateway - Gateway base class
- Custom Gateways Guide - Creating custom gateways