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
- 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()
- Package as Docker:
agent-steam package
- 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.Tooldecorator - 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
/logsand/outputsdirectories - Automatic JSON parsing and file handling
Development
git clone <repo>
cd agent-steam
pip install -e ".[dev]"
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53c094469f9a64fb54eee228085f63f2d017f1b364a4077516c12cfa82b9e587
|
|
| MD5 |
2bae7451ffb4602c61655eb5da9427fc
|
|
| BLAKE2b-256 |
a26924020e4508df4e0bf1fa41f6173b90912cc554809a8ce175129f58611a8a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2df32323d86d30695483c5ce47ed221e05ee6472506cb1f62cdffde4ff73a5d8
|
|
| MD5 |
b5b97534a4d1801e938c5924673715ac
|
|
| BLAKE2b-256 |
8b1f389645b2a0f534ba8e84c582ec4a1a4f60e47a385ccbc5c276d20a9adc27
|