Skip to content

strands-agents/samples

Strands Agents Samples

A model-driven approach to building AI agents in just a few lines of code.

GitHub commit activity GitHub open issues GitHub open pull requests License

DocumentationSamplesPython SDKToolsAgent BuilderMCP Server

Welcome to the Strands Agents Samples repository!

Explore easy-to-use examples to get started with Strands Agents.

The examples in this repository are for demonstration and educational purposes only. They demonstrate concepts and techniques but are not intended for direct use in production. Always apply proper security and testing procedures before using in production environments.

📚 Table of Contents

🏁 Getting Started

Prerequisites

  • Python 3.10 or higher

  • pip package manager

    • Verify with: pip --version or pip3 --version
    • Usually comes bundled with Python 3.4+ installers from python.org
    • If pip is missing, install using one of these methods:
      # Method 1 - Use Python's built-in module
      python -m ensurepip --upgrade
      
      # Method 2 - Download and run the official installer
      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py

Step 1: Create Virtual Environment

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate

Step 2: Install Required Packages

# Install Strands core packages (required for all examples)
pip install strands-agents
pip install strands-agents-tools

Additional Dependencies: Individual examples throughout this repository may require extra packages. When working with a specific example, check for its requirements.txt file:

# Navigate to the example folder you want to run
cd [example-directory]

# Install dependencies if requirements.txt exists
pip install -r requirements.txt

Step 3: Setup Model Provider

Follow the instructions here to configure your model provider and model access.

Step 4: Build Your First Strands Agent

from strands import Agent, tool
from strands_tools import calculator, current_time, python_repl

@tool
def letter_counter(word: str, letter: str) -> int:
    """
    Count the occurrences of a specific letter in a word.
    """
    if not isinstance(word, str) or not isinstance(letter, str):
        return 0
    if len(letter) != 1:
        raise ValueError("The 'letter' parameter must be a single character")
    return word.lower().count(letter.lower())

agent = Agent(tools=[calculator, current_time, python_repl, letter_counter])

message = """
I have 4 requests:

1. What is the time right now?
2. Calculate 3111696 / 74088
3. Tell me how many letter R's are in the word "strawberry" 🍓
4. Output a script that does what we just spoke about!
   Use your python tools to confirm that the script works before outputting it
"""

agent(message)

Step 5: Getting Started with the SDK

Start with the 01-tutorials directory. Create your first agent and explore notebook-based examples covering core functionalities.

Step 6: Explore the Repository

This repository is organized to help you progress from basics to advanced implementations:

  • 01-tutorials - Step-by-step guides covering fundamentals, deployment, and best practices
  • 02-samples - Real-world use cases and industry-specific examples
  • 03-integrations - Integration examples with AWS services and third-party tools
  • 04-UX-demos - Full-stack applications with user interfaces
  • 05-agentic-rag - Advanced Agentic RAG patterns

Contributing ❤️

We welcome contributions! See our Contributing Guide for details on:

  • Reporting bugs & features
  • Development setup
  • Contributing via Pull Requests
  • Code of Conduct
  • Reporting of security issues

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Security

See CONTRIBUTING for more information.