Skip to main content

A fast framework for building Docker-wrapped AI Agents

Project description

AgentSteam

A fast framework for building Docker-wrapped AI Agents that can connect to go-backend's MCP system.

Features

  • 🤖 Multi-LLM Support: Easy adapter system for different LLM providers (Claude, GPT, Gemini, etc.)
  • 🔧 Local Tools: Simple decorator-based tool system for custom functionality
  • 🌐 MCP Client: Connect to go-backend and other MCP servers seamlessly
  • 📦 Docker Ready: One-command Docker packaging for scenarios
  • 📝 Rich Logging: Comprehensive logs and outputs for debugging
  • Fast Setup: Get an agent running in minutes

Quick Start

Installation

pip install agent-steam

Basic Usage

  1. Create an agent:
from agent_steam import AgentSteam, LocalTool

# Define custom tools
@AgentSteam.Tool
class FileReaderTool(LocalTool):
    name = "read_file"
    description = "Read contents of a file"
    
    def execute(self, file_path: str) -> str:
        with open(file_path, 'r') as f:
            return f.read()

# Create agent with system prompt
agent = AgentSteam(
    system_prompt="You are a helpful file processing assistant.",
    llm_provider="claude"  # Set via env: AGENT_STEAM_LLM_PROVIDER
)

# Run the agent
result = agent.run()
  1. Package as Docker:
agent-steam package
  1. Connect to go-backend MCP:

Set environment variables:

export MCP_SERVER_URL=http://localhost:8080
export MCP_AUTH_TOKEN=your_token
export AGENT_STEAM_LLM_PROVIDER=claude
export ANTHROPIC_API_KEY=your_key

Architecture

LLM Adapters

Each LLM has an adapter that handles:

  • Message format conversion
  • Tool call parsing
  • MCP call parsing
  • Response formatting

Tool System

  • Local Tools: Python functions with @AgentSteam.Tool decorator
  • Predefined Tools: Built-in tools (Read, Write, Edit, etc.)
  • MCP Tools: Remote tools from MCP servers

Input/Output Management

  • Input: Read from mounted Docker volumes and environment variables
  • Output: Write to /logs and /outputs directories
  • Automatic JSON parsing and file handling

Development

git clone <repo>
cd agent-steam
pip install -e ".[dev]"
pytest

License

MIT

Project details


Download files

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

Source Distribution

agent_steam-0.1.0.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

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

agent_steam-0.1.0-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file agent_steam-0.1.0.tar.gz.

File metadata

  • Download URL: agent_steam-0.1.0.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for agent_steam-0.1.0.tar.gz
Algorithm Hash digest
SHA256 53c094469f9a64fb54eee228085f63f2d017f1b364a4077516c12cfa82b9e587
MD5 2bae7451ffb4602c61655eb5da9427fc
BLAKE2b-256 a26924020e4508df4e0bf1fa41f6173b90912cc554809a8ce175129f58611a8a

See more details on using hashes here.

File details

Details for the file agent_steam-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agent_steam-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 42.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for agent_steam-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2df32323d86d30695483c5ce47ed221e05ee6472506cb1f62cdffde4ff73a5d8
MD5 b5b97534a4d1801e938c5924673715ac
BLAKE2b-256 8b1f389645b2a0f534ba8e84c582ec4a1a4f60e47a385ccbc5c276d20a9adc27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page