Agentman is the first Docker-like tool for building, managing, and deploying AI agents using the Model Context Protocol (MCP). Transform your AI workflows with intuitive Agentfile
syntax that lets you define complex multi-agent systems and deploy them as production-ready containers in minutes, not hours.
[!TIP]
AI-Driven Development: This project showcases the future of software development - almost entirely coded by Claude Sonnet 4 + AI Agents, demonstrating how AI can handle complex architecture design, implementation, comprehensive testing, and documentation.
Get your first AI agent running in under 2 minutes:
# 1. Install Agentman pip install agentman-mcp # 2. Create and run your first agent mkdir my-agent && cd my-agent agentman run --from-agentfile -t my-agent .
That's it! Your agent is now running in a Docker container.
Agentman supports two powerful AI agent frameworks:
@fast.agent()
and @fast.chain()
fastagent.config.yaml
and fastagent.secrets.yaml
Agent()
and Team()
.env
fileChoose your framework:
FRAMEWORK fast-agent # Recommended for production MCP workflows FRAMEWORK agno # Great for research and multi-model experiments
Feature | FastAgent (Default) | Agno |
---|---|---|
Best For | Production MCP workflows | Research & experimentation |
API Style | Decorator-based (@fast.agent() ) | Class-based (Agent() , Team() ) |
Configuration | YAML files | Environment variables (.env) |
Model Focus | MCP-optimized models | Multi-provider support |
Tool Integration | MCP-first design | Rich ecosystem |
Learning Curve | Moderate | Easy |
Create a URL-to-social-media pipeline in 5 minutes:
1. Create a project directory:
mkdir url-to-social && cd url-to-social
2. Create an Agentfile
:
FROM yeahdongcn/agentman-base:latest MODEL anthropic/claude-3-sonnet # Add web search capability MCP_SERVER fetch COMMAND uvx ARGS mcp-server-fetch TRANSPORT stdio # Define your agents AGENT url_analyzer INSTRUCTION Given a URL, provide a comprehensive summary of the content SERVERS fetch AGENT social_writer INSTRUCTION Transform any text into a compelling 280-character social media post # Chain them together CHAIN content_pipeline SEQUENCE url_analyzer social_writer CMD ["python", "agent.py"]
3. Build and run:
agentman run --from-agentfile -t url-to-social .
4. Test it! Provide a URL when prompted and watch your agent fetch content and create a social media post.
Make your agent start automatically with a predefined task:
echo "Analyze https://github.com/yeahdongcn/agentman and create a social post about it" > prompt.txt agentman run --from-agentfile -t auto-agent .
Your agent will now execute this prompt automatically on startup! ๐
Agentman brings the simplicity of Docker to AI agent development. Just as Docker revolutionized application deployment, Agentman revolutionizes AI agent development with:
build
, run
, and deploy like any containerAgentfile
configurationThe intuitive Agentfile
syntax lets you focus on designing intelligent workflows while Agentman handles the complex orchestration, containerization, and deployment automatically.
[!IMPORTANT]
Agentman supports both FastAgent (production-focused) and Agno (research-focused) frameworks, with full support for Anthropic Claude and OpenAI GPT models.
In these demos you'll see:
Agentfile
syntaxCapability | Benefit |
---|---|
๐ณ Docker-Like Interface | Familiar build and run commands - no learning curve |
๐ Declarative Agentfile | Define complex workflows in simple, readable syntax |
๐ Multi-Agent Orchestration | Chains, routers, and parallel execution out-of-the-box |
๐ Native MCP Integration | Zero-configuration access to 50+ MCP servers |
๐ Smart Prompt Loading | Auto-detect and load prompts from prompt.txt |
๐ Production-Ready | Optimized Docker containers with dependency management |
๐ Secure Secrets | Environment-based secret handling with templates |
๐งช Battle-Tested | 91%+ test coverage ensures reliability |
Traditional AI Development:
# Multiple config files, complex setup, manual orchestration npm install langchain pip install openai anthropic # Configure tools manually... # Write orchestration code... # Handle deployment yourself...
With Agentman:
# One tool, one config file, one command pip install agentman-mcp echo "AGENT helper\nINSTRUCTION Help users" > Agentfile agentman run --from-agentfile .
Result: Production-ready containerized agents in minutes, not days.
Agentfile
with multi-agent workflowCreate agent applications from an Agentfile
using familiar Docker-like commands:
# Basic build in current directory agentman build . # Custom Agentfile and output directory agentman build -f MyAgentfile -o ./output . # Build and create Docker image agentman build --build-docker -t my-agent:v1.0 .
๐ Generated Output:
agent.py
- Main application with runtime logicfastagent.config.yaml
/ .env
- Framework configurationDockerfile
- Optimized multi-stage containerrequirements.txt
- Auto-generated dependenciesprompt.txt
- Default prompt (if exists)Deploy and execute your agents with flexible options:
# Run existing Docker image agentman run my-agent:latest # Build and run from Agentfile (recommended for development) agentman run --from-agentfile ./my-project # Interactive mode with port forwarding agentman run -it -p 8080:8080 my-agent:latest # Clean up automatically when done agentman run --rm my-agent:latest
The Agentfile
uses a Docker-like syntax to define your agent applications. Here's a comprehensive reference:
FROM yeahdongcn/agentman-base:latest # Base image FRAMEWORK fast-agent # AI framework (fast-agent or agno) MODEL anthropic/claude-3-sonnet # Default model for agents EXPOSE 8080 # Expose ports CMD ["python", "agent.py"] # Container startup command
Choose between supported AI agent frameworks:
FRAMEWORK fast-agent # Default: FastAgent framework FRAMEWORK agno # Alternative: Agno framework
Framework Differences:
Feature | FastAgent | Agno |
---|---|---|
API Style | Decorator-based (@fast.agent() ) | Class-based (Agent() ) |
Configuration | YAML files | Environment variables |
Model Support | MCP-optimized models | Multi-provider support |
Tool Integration | MCP-first | Rich ecosystem |
Use Case | Production MCP workflows | Research & experimentation |
Define external MCP servers that provide tools and capabilities:
MCP_SERVER filesystem COMMAND uvx ARGS mcp-server-filesystem TRANSPORT stdio ENV PATH_PREFIX /app/data
Create individual agents with specific roles and capabilities:
AGENT assistant INSTRUCTION You are a helpful AI assistant specialized in data analysis SERVERS filesystem brave MODEL anthropic/claude-3-sonnet USE_HISTORY true HUMAN_INPUT false
Chains (Sequential processing):
CHAIN data_pipeline SEQUENCE data_loader data_processor data_exporter CUMULATIVE true
Routers (Conditional routing):
ROUTER query_router AGENTS sql_agent api_agent file_agent INSTRUCTION Route queries based on data source type
Orchestrators (Complex coordination):
ORCHESTRATOR project_manager AGENTS developer tester deployer PLAN_TYPE iterative PLAN_ITERATIONS 5 HUMAN_INPUT true
Secure handling of API keys and sensitive configuration:
# Environment variable references SECRET OPENAI_API_KEY SECRET ANTHROPIC_API_KEY # Inline values (for development only) SECRET DATABASE_URL postgresql://localhost:5432/mydb # Grouped secrets with multiple values SECRET CUSTOM_API API_KEY your_key_here BASE_URL https://api.example.com TIMEOUT 30
Agentman automatically detects and integrates prompt.txt
files, providing zero-configuration default prompts for your agents.
prompt.txt
file in your project rootprompt.txt
await agent(prompt_content)
at startupmy-agent/
โโโ Agentfile # Agent configuration
โโโ prompt.txt # โ Your default prompt (auto-loaded)
โโโ agent/ # โ Generated output directory
โโโ agent.py # Generated agent with prompt loading logic
โโโ prompt.txt # โ Copied during build process
โโโ Dockerfile # Contains COPY prompt.txt instruction
โโโ requirements.txt # Python dependencies
Task-Specific Prompt:
Analyze the latest GitHub releases for security vulnerabilities and generate a summary report.
User-Specific Prompt:
I am a GitHub user with the username "yeahdongcn" and I need help updating my GitHub profile information.
Complex Workflow Prompt:
Process the following workflow: 1. Clone the repository https://github.com/ollama/ollama 2. Checkout the latest release tag 3. Analyze the changelog for breaking changes 4. Generate a migration guide
When prompt.txt
exists, Agentman automatically generates this logic in your agent.py
:
import os # Check for default prompt file prompt_file = "prompt.txt" if os.path.exists(prompt_file): with open(prompt_file, 'r', encoding='utf-8') as f: prompt_content = f.read().strip() if prompt_content: await agent(prompt_content)
This ensures your agent automatically executes the default prompt when the container starts.
A comprehensive GitHub profile management agent that automatically loads a default prompt.
Project Structure:
github-profile-manager/
โโโ Agentfile
โโโ prompt.txt # Default prompt automatically loaded
โโโ agent/ # Generated files
โโโ agent.py
โโโ prompt.txt # Copied during build
โโโ ...
prompt.txt:
I am a GitHub user with the username "yeahdongcn" and I need help updating my GitHub profile information.
Key Features:
prompt.txt
A specialized agent for maintaining GitHub repositories with automated release management.
Project Structure:
github-maintainer/
โโโ Agentfile
โโโ prompt.txt # Default task: "Clone https://github.com/ollama/ollama and checkout the latest release tag."
โโโ agent/ # Generated files
Key Features:
A simple yet powerful content processing chain for social media.
Project Structure:
chain-ollama/
โโโ Agentfile
โโโ agent/ # Generated files
Key Features:
Example of a more complex multi-agent system with routers and orchestrators:
FROM yeahdongcn/agentman-base:latest MODEL anthropic/claude-3-sonnet MCP_SERVER database COMMAND uvx ARGS mcp-server-postgres AGENT classifier INSTRUCTION Classify customer inquiries by type and urgency SERVERS database AGENT support_agent INSTRUCTION Provide helpful customer support responses SERVERS database AGENT escalation_agent INSTRUCTION Handle complex issues requiring human intervention HUMAN_INPUT true ROUTER support_router AGENTS support_agent escalation_agent INSTRUCTION Route based on inquiry complexity and urgency
FROM python:3.11-slim MODEL openai/gpt-4 # Your custom setup... RUN apt-get update && apt-get install -y curl AGENT custom_agent INSTRUCTION Specialized agent with custom environment
MCP_SERVER api_server COMMAND python ARGS -m my_custom_server ENV API_TIMEOUT 30 ENV RETRY_COUNT 3 ENV DEBUG_MODE false
AGENT fast_responder MODEL anthropic/claude-3-haiku INSTRUCTION Handle quick queries AGENT deep_thinker MODEL anthropic/claude-3-opus INSTRUCTION Handle complex analysis tasks
agentman/
โโโ src/agentman/ # Core source code
โ โโโ __init__.py
โ โโโ cli.py # Command-line interface
โ โโโ agent_builder.py # Agent building logic
โ โโโ agentfile_parser.py # Agentfile parsing
โ โโโ common.py # Shared utilities
โโโ examples/ # Example projects
โ โโโ github-profile-manager/
โ โโโ github-maintainer/
โ โโโ chain-ollama/
โ โโโ chain-aliyun/
โโโ tests/ # Comprehensive test suite
โโโ docker/ # Docker base images
โโโ README.md # This file
git clone https://github.com/yeahdongcn/agentman.git cd agentman # Install make install
Agentman includes comprehensive test suites with high coverage:
# Run all tests make test # Run tests with coverage make test-cov
We welcome contributions! This project serves as a showcase of AI-driven development, being almost entirely coded by Claude Sonnet 4 + AI Agents. This demonstrates how AI can handle complex software development tasks including architecture design, implementation, testing, and documentation.
main
make test
make format
MIT License - see LICENSE for details.
Transform your ideas into production-ready AI agents in minutes
โก Quick Start โข ๐ฏ Examples โข ๐ค Contribute โข ๐ Docs
Join the AI agent revolution - build smarter, deploy faster โจ
Community & Stats: