Skip to main content
Version: 2.0

Custom tools

Custom tools extend agent capabilities. You can create tools once and reuse them across multiple agents with consistent behavior and governance.

Lambda tools​

User-defined Python functions that execute in secure, sandboxed environments:

  • Run in isolated Python 3.12 environments.
  • Automatic schema generation from type annotations.
  • No network access.
  • Resource limits: memory fixed by the execution environment, 30-second timeout (configurable up to 21600 seconds).

Use Lambda tools for custom business logic, data transformations, and calculations that don't require external connectivity.

MCP tools​

Tools from external MCP-compliant servers that enable enterprise integrations:

  • Standards-based protocol.
  • Dynamic tool discovery.
  • Register a tool server once, automatically discover all its tools.
  • Connect to CRM systems, databases, and enterprise APIs.

Register an MCP tool server to make its tools available. Learn more about MCP and Tool Servers.

Using custom tools with agents​

After creating a Lambda tool or registering an MCP server, reference the tool in your agent configuration:

LAMBDA TOOL CONFIGURATION IN AGENT

Code example with json syntax.
1

MCP TOOL CONFIGURATION IN AGENT

Code example with json syntax.
1

Argument overrides​

Control tool behavior with hardcoded values or dynamic context references:

TOOL CONFIGURATION WITH ARGUMENT OVERRIDE

Code example with json syntax.
1

Argument overrides:

  • Hardcoded values that the LLM cannot modify (e.g., "customer_tier": "enterprise").
  • Dynamic references using $ref to pull values from:
    • Session metadata: {"$ref": "session.metadata.field_name"}
    • Agent metadata: {"$ref": "agent.metadata.field_name"}
    • Agent secrets: {"$ref": "agent.secrets.secret_name"} — see Agent secrets for the encrypted, masked storage that backs this.

For complete API details, see Tools API.