Skip to content

Strands Plugin: Agent

The FlotorchStrandsAgent serves as the primary component for integrating FloTorch-managed agent configurations with Strands. It enables developers to define agent configurations centrally in the FloTorch Console and instantiate them with minimal code, eliminating the need for complex in-code configuration management.

Before using FlotorchStrandsAgent, ensure you have completed the general prerequisites outlined in the Strands Plugin Overview, including installation and environment configuration.

Configure your agent using the following parameters:

FlotorchStrandsAgent(
agent_name: str, # Agent name from FloTorch Console (required)
custom_tools: list = None, # List of custom user-defined tools
base_url: str = None, # FloTorch Gateway URL
api_key: str = None, # FloTorch API key
session_manager: RepositorySessionManager = None # Optional session manager
)

Parameter Details:

  • agent_name - Must match an existing agent name in your FloTorch Console
  • custom_tools - List of custom Strands tools to add to the agent’s capabilities
  • base_url - FloTorch Gateway endpoint (defaults to environment variable FLOTORCH_BASE_URL)
  • api_key - Authentication key (defaults to environment variable FLOTORCH_API_KEY)
  • session_manager - Optional session manager for session-based state persistence

Note: Tools include custom tools and MCP tools from Console configuration. The agent is compatible with Strands workflows and Agent class.

The agent automatically loads comprehensive configuration from FloTorch Console, including:

  • Agent name and description (goal)
  • System instructions and prompts
  • LLM model configuration
  • Input/output schemas
  • MCP tools configuration
  • Synchronization settings

Supports automatic configuration updates based on:

  • syncEnabled - Enables automatic configuration reloading
  • syncInterval - Defines the synchronization interval in seconds

This ensures your agent stays up-to-date with changes made in the FloTorch Console without requiring code redeployment.

Automatically integrates tools configured in FloTorch Console:

  • MCP Tools - Loaded directly from agent configuration
  • Custom Tools - Add your own Strands tools via the custom_tools parameter
  • Tool Management - Handles authentication and connection automatically
  • Strands Compatibility - Seamlessly integrates with Strands’ tool framework

Supports Strands’ session management:

  • Session Manager - Use session_manager parameter for session-based state persistence
  • State Management - Handles state persistence automatically

FloTorch Strands Plugin supports configurable logging to help you monitor and debug your agents. For comprehensive logging configuration details, including environment variables and programmatic setup, refer to the SDK Logging Configuration documentation.

Quick Setup:

Terminal window
# Enable debug logging to console
export FLOTORCH_LOG_DEBUG=true
export FLOTORCH_LOG_PROVIDER="console"

Or configure programmatically:

from flotorch.sdk.logger.global_logger import configure_logger
configure_logger(debug=True, log_provider="console")

For detailed logging configuration options, see the SDK Logging Configuration guide.

from flotorch.strands.agent import FlotorchStrandsAgent
# Initialize the agent manager
agent_manager = FlotorchStrandsAgent(
agent_name="my-agent", # Must exist in FloTorch Console
base_url="https://gateway.flotorch.cloud",
api_key="your_api_key"
# Note: Agent goal and system prompt are configured
# in the FloTorch Console during agent creation
)
# Get the configured agent
agent = agent_manager.get_agent()
from flotorch.strands.agent import FlotorchStrandsAgent
# Define a custom weather tool
def get_weather(location: str) -> str:
"""
Get the current weather for a specific location.
Args:
location: The city or location name to get weather for
Returns:
A string describing the current weather conditions
"""
return f"The weather in {location} is sunny with a temperature of 72°F (22°C)."
# Initialize agent with custom weather tool
agent_manager = FlotorchStrandsAgent(
agent_name="weather-agent",
custom_tools=[get_weather], # Add the custom weather tool
base_url="https://gateway.flotorch.cloud",
api_key="your_api_key"
)
# Get the configured agent
agent = agent_manager.get_agent()
  1. Configuration Management - Define agent configurations in FloTorch Console rather than in code
  2. Environment Variables - Use environment variables for credentials to avoid hardcoding sensitive information
  3. Configuration Sync - Enable synchronization in the Console to receive updates without redeployment
  4. Custom Tools - Define custom tools with clear descriptions and proper error handling for robust agent behavior
  5. Logging - Configure logging based on your environment: use console logging for development and file logging for production. See SDK Logging Configuration for details