Skip to content

Strands Fun Tools: Creative Agent Capabilities 🎨

PyPI

Creative and utility tools for building unique AI agents with Bluetooth, vision, cursor control, audio, and more!

Installation

# Base installation
pip install strands-fun-tools

# With specific features
pip install "strands-fun-tools[cursor,clipboard,vision]"

# Everything
pip install "strands-fun-tools[all]"

Quick Start

from strands import Agent
from strands_fun_tools import human_typer, cursor, clipboard

agent = Agent(
    tools=[human_typer, cursor, clipboard],
    system_prompt="You can type like a human and control the cursor!"
)

agent("Type 'Hello World!' with excited emotion and copy it to clipboard")

Available Tools

🎮 Interaction

Tool Install Description
human_typer base Human-like typing with emotions and typos
cursor [cursor] Mouse & keyboard automation
clipboard [clipboard] Clipboard monitoring & history
dialog [dialog] Interactive terminal prompts

👁️ Vision

Tool Install Description
screen_reader [vision] OCR-based screen monitoring
yolo_vision [vision] Real-time object detection (YOLOv8)
face_recognition [face] Face detection via AWS Rekognition
take_photo [vision] Camera capture & burst mode

🎤 Audio

Tool Install Description
listen [audio] Background audio transcription (Whisper)

📡 Connectivity

Tool Install Description
bluetooth [bluetooth] BLE device monitoring & GATT operations

♟️ Games

Tool Install Description
chess [chess] Stockfish chess engine integration

🎨 Display

Tool Install Description
spinner_generator [display] Custom loading animations (50+ types)
template [template] Jinja2 template rendering
asciimatics_ui [ui] Terminal UI framework

🔧 Utilities

Tool Install Description
utility [utility] Crypto, encoding, hashing, JSON/YAML
dynamic_package base Execute any Python package function
npm base Run npm packages from Python

Examples

Human-Like Typing

agent.tool.human_typer(
    text="Hello World!",
    emotion="excited",      # calm, excited, thoughtful, rushed, nervous
    typo_rate=2,           # 0-10 percentage
    thinking_pauses=True   # Pause at punctuation
)

Background Monitoring

from strands import Agent
from strands_fun_tools import bluetooth, clipboard, yolo_vision

agent = Agent(tools=[bluetooth, clipboard, yolo_vision])

agent("""
Start monitoring:
1. Bluetooth devices nearby
2. Clipboard content changes  
3. Objects visible on camera
""")

Autonomous Screen Control

from strands import Agent
from strands_fun_tools import screen_reader, cursor

agent = Agent(tools=[screen_reader, cursor])

agent("""
1. Find the 'Submit' button on screen
2. Click it
""")

Chess Analysis

agent.tool.chess(action="new_game")
agent.tool.chess(action="make_move", move="e2e4")
agent.tool.chess(action="get_best_move")
agent.tool.chess(action="analyze", depth=20)

Tool Actions Reference

cursor

Action Description
move Move cursor to position
click Click at position
drag Drag from A to B
type_text Type text
hotkey Press key combination

clipboard

Action Description
start Start monitoring
read Get current content
write Write to clipboard
get_history Get clipboard history

screen_reader

Action Description
start Start OCR monitoring
capture_once Single capture
find_element Find text/button on screen

yolo_vision

Action Description
start Start detection
detect_once Single detection
query_objects Query specific objects

bluetooth

Action Description
start Start scanning
scan_once Single scan
list_devices List discovered devices
read_characteristic Read BLE characteristic

Give your agent superpowers. 🎨