Skip to main content

🎨 Strands Fun Tools

Awesome Strands Agents

Creative and utility tools for Strands AI agents - Bluetooth, vision, cursor control, audio, and more!

License Python

🔌 Use as an MCP server

Use strands-fun-tools from Claude Code, Claude Desktop, Cursor, Kiro, or any MCP client — every available tool (cursor, clipboard, chess, bluetooth, screen_reader, yolo_vision, take_photo, listen, dialog, and more) becomes an MCP tool.

claude mcp add fun -- uvx strands-fun-tools

Claude Desktop config:

{
  "mcpServers": {
    "fun": {
      "command": "uvx",
      "args": ["strands-fun-tools"]
    }
  }
}

Options:

strands-fun-tools --tools cursor,clipboard,take_photo   # expose a subset
strands-fun-tools --skip bluetooth,chess                # drop groups
strands-fun-tools --http --port 8000                    # HTTP mode, multi-client

Tool groups import lazily — groups whose optional deps aren't installed are skipped automatically. Install extras for more tools: uvx --with 'strands-fun-tools[all]' strands-fun-tools


📦 Installation

# Base installation (human_typer only)
pip install strands-fun-tools

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

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

🛠️ Available Tools

🎮 Interaction

  • human_typer - Human-like typing with emotions and typos
  • cursor - Mouse & keyboard automation (pyautogui)
  • clipboard - Clipboard monitoring & history
  • dialog - Interactive terminal prompts

👁️ Vision

  • screen_reader - OCR-based screen monitoring
  • yolo_vision - Real-time object detection (YOLOv8)
  • face_recognition - Face detection via AWS Rekognition
  • take_photo - Camera capture & burst mode

🎤 Audio

  • listen - Background audio transcription (Whisper)

📡 Connectivity

  • bluetooth - BLE device monitoring & GATT operations

♟️ Games

  • chess - Stockfish chess engine integration

🎨 Display

  • spinner_generator - Custom loading animations
  • template - Jinja2 template rendering
  • asciimatics_ui - Terminal UI framework

🔧 Utilities

  • utility - Crypto, encoding, hashing, JSON/YAML
  • dynamic_package - Execute any Python package function
  • npm - Run npm packages from Python

🚀 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 then copy it to clipboard")

📋 Tool Reference

Tool Install Extra Key Actions
human_typer (base) Type with emotions: calm, excited, thoughtful, rushed, nervous
cursor [cursor] move, click, drag, type_text, hotkey
clipboard [clipboard] start, read, write, get_history
screen_reader [vision] start, capture_once, find_element
yolo_vision [vision] start, detect_once, query_objects
face_recognition [face] detect_faces, compare_faces
take_photo [vision] capture, burst, list_cameras
listen [audio] start, stop, get_transcripts
bluetooth [bluetooth] start, scan_once, list_devices, read_characteristic
chess [chess] new_game, get_best_move, make_move, analyze
spinner_generator [display] Display 50+ spinner types
template [template] create, render Jinja2 templates
utility [utility] encode, decode, hash, encrypt
dynamic_package (base) execute any Python function
npm (base) execute npm packages
dialog [dialog] Interactive terminal prompts
asciimatics_ui [ui] Terminal UI framework

🎯 Examples

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
""")

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
)

📚 Documentation

Full documentation at github.com/cagataycali/strands-fun-tools

🤝 Contributing

Issues and PRs welcome!

git clone https://github.com/cagataycali/strands-fun-tools.git
cd strands-fun-tools
pip install -e ".[all,dev]"

📄 License

Apache-2.0 - see LICENSE


Built with ❤️ for the Strands community

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strands_fun_tools-0.5.0.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strands_fun_tools-0.5.0-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

Details for the file strands_fun_tools-0.5.0.tar.gz.

File metadata

  • Download URL: strands_fun_tools-0.5.0.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for strands_fun_tools-0.5.0.tar.gz
Algorithm Hash digest
SHA256 a5082e6b296ed2b1fe7926efce5cad526b2afe4a78b50c6e96d9191827d7d389
MD5 8dcf783d2fea4bbe24bc6b54e1c4e979
BLAKE2b-256 2fa8c6ba43a30147fd2e84046234962264b755bf3eae6e387dfa61a33df75822

See more details on using hashes here.

File details

Details for the file strands_fun_tools-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for strands_fun_tools-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c344584a0a8c1be96efaddaacff018b32e6d26bb4d1e50e35f1d4ed6df996f78
MD5 7d1d20146f62715e26d2235d7c98bae0
BLAKE2b-256 d1852ee743bde76032e9e0dd73b6bfa4840a3a35ad731bcbf16f0797ee989727

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page