Skip to main content

A tool for building and managing AI agents

Project description

๐Ÿค– Agentman: A tool for building and managing AI agents

PyPI version Python versions GitHub Issues Pepy Total Downloads License


Agentman is a powerful Docker-like tool for building, managing, and deploying AI agents using the Model Context Protocol (MCP). With its intuitive Agentfile syntax, you can define complex multi-agent workflows and deploy them as containerized applications with a single command.

[!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 Started

Install the agentman package and start building AI agents in minutes:

pip install agentman-mcp                    # Install agentman
agentman build .                            # Build agent from Agentfile
agentman run --from-agentfile -t my-agent . # Build and run agent

๐Ÿง  Framework Support

Agentman supports two powerful AI agent frameworks:

FastAgent (Default)

  • Decorator-based approach with @fast.agent() and @fast.chain()
  • MCP-first design with seamless tool integration
  • Production-ready with comprehensive logging and monitoring
  • Configuration: Uses fastagent.config.yaml and fastagent.secrets.yaml

Agno

  • Class-based approach with Agent() and Team()
  • Multi-model support for OpenAI, Anthropic, and more
  • Rich tool ecosystem with built-in integrations
  • Configuration: Uses environment variables via .env file

Switch between frameworks:

FRAMEWORK fast-agent  # Default
FRAMEWORK agno        # Alternative framework

Prerequisites

  • Python 3.10+ installed on your system
  • Docker installed and running
  • Basic understanding of AI agents and MCP concepts

Your First Agent

Create a URL-to-social-media content pipeline in under 5 minutes:

1. Create a new directory:

mkdir my-first-agent && cd my-first-agent

2. Create an Agentfile:

FROM yeahdongcn/agentman-base:latest
MODEL generic.qwen3:latest

SECRET GENERIC
API_KEY ollama
BASE_URL http://host.docker.internal:11434/v1

MCP_SERVER fetch
COMMAND uvx
ARGS mcp-server-fetch
TRANSPORT stdio

AGENT url_fetcher
INSTRUCTION Given a URL, provide a complete and comprehensive summary
SERVERS fetch

AGENT social_media
INSTRUCTION Write a 280 character social media post for any given text. Respond only with the post, never use hashtags.

CHAIN post_writer
SEQUENCE url_fetcher social_media

CMD ["python", "agent.py"]

3. Build and run:

agentman run --from-agentfile -t my-first-agent .

4. Test your agent by providing a URL when prompted!

Adding Default Prompts

Make your agent start automatically with predefined tasks:

echo "Fetch and summarize https://github.com/yeahdongcn/agentman and create a social media post about it." > prompt.txt
agentman run --from-agentfile -t my-agent-with-prompt .

Your agent will now automatically execute this prompt on startup! ๐ŸŽ‰

Overview

[!IMPORTANT] Agentman leverages the FastAgent framework as its foundation, providing robust agent infrastructure and seamless MCP integration. Both Anthropic (Claude family) and OpenAI (GPT-4 family) models are fully supported.

agentman enables you to create and deploy sophisticated AI agents and workflows in minutes. It is the first Docker-like framework with complete end-to-end MCP (Model Context Protocol) support, bringing familiar containerization concepts to AI agent development.

The simple declarative Agentfile syntax lets you concentrate on composing your prompts and MCP servers to build effective agents, while Agentman handles the complex orchestration, containerization, and deployment automatically.

Key Capabilities

  • ๐Ÿณ Docker-compatible Interface: Familiar build and run commands with container-like semantics
  • ๐Ÿ“ Declarative Configuration: Define agents, workflows, and dependencies in simple Agentfile format
  • ๐Ÿ”— Multi-Agent Orchestration: Support for chains, routers, parallel execution, and complex workflows
  • ๐Ÿ”Œ Native MCP Integration: Built-in support for Model Context Protocol servers with zero configuration
  • ๐Ÿ“„ Intelligent Prompt Loading: Automatically detect and load default prompts from prompt.txt files
  • ๐Ÿš€ Production-Ready Deployment: Generate optimized Docker containers with all dependencies
  • ๐Ÿ” Secure Secrets Management: Environment-based secret handling with templating support
  • ๐Ÿงช Comprehensive Testing: 91%+ test coverage ensuring reliability and maintainability

Agent Application Development

Prompts and configurations that define your Agent Applications are stored in simple files, with minimal boilerplate, enabling simple management and version control.

Chat with individual Agents and Components before, during and after workflow execution to tune and diagnose your application. Agents can request human input to get additional context for task completion.

Simple model selection makes testing Model <-> MCP Server interaction painless.

๐Ÿš€ Quick Demo

Want to see Agentman in action? Watch our demonstration:

Demo

What you'll see:

  • Creating an Agentfile with multi-agent workflow
  • Building and running the agent with one command
  • Real-time agent execution with URL fetching and social media post generation

๐Ÿ“– Detailed Usage

Building Agents

Build agent applications from an Agentfile using Docker-like syntax:

# Build in current directory
agentman build .

# Build with custom Agentfile and output directory
agentman build -f MyAgentfile -o my-output .

# Build and create Docker image
agentman build --build-docker -t my-agent:v1.0 .

Generated files include:

  • agent.py - Main agent application with runtime logic
  • fastagent.config.yaml - FastAgent configuration and workflow definitions
  • fastagent.secrets.yaml - Secrets template for environment variables
  • Dockerfile - Optimized container definition with multi-stage builds
  • requirements.txt - Python dependencies (auto-generated from MCP servers)
  • .dockerignore - Docker build optimization (excludes unnecessary files)
  • prompt.txt - Default prompt file (copied if exists in source directory)

Running Agents

Deploy and run agent containers with flexible options:

# Run existing image
agentman run my-agent:latest

# Build from Agentfile and run (recommended for development)
agentman run --from-agentfile --path ./my-project

# Interactive mode with port forwarding
agentman run -it -p 8080:8080 my-agent:latest

# Auto-remove container when done
agentman run --rm my-agent:latest

๐Ÿ—๏ธ Agentfile Reference

The Agentfile uses a Docker-like syntax to define your agent applications. Here's a comprehensive reference:

Base Configuration

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

Framework Configuration

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

MCP Servers

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

Agent Definitions

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

Workflow Orchestration

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

Secrets Management

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

Default Prompt Support

Agentman automatically detects and integrates prompt.txt files, providing zero-configuration default prompts for your agents.

๐ŸŒŸ Key Features

  • ๐Ÿ” Automatic Detection: Simply place a prompt.txt file in your project root
  • ๐Ÿณ Docker Integration: Automatically copied into containers during build
  • ๐Ÿ”„ Runtime Loading: Agent checks for and loads prompt content at startup
  • โšก Zero Configuration: No Agentfile modifications required

๐Ÿ“‹ How It Works

  1. Build Time: Agentman scans your project directory for prompt.txt
  2. Container Build: If found, the file is automatically copied to the Docker image
  3. Runtime: Generated agent checks for the file and loads its content
  4. Execution: Prompt content is passed to await agent(prompt_content) at startup

๐Ÿ“ Project Structure Example

my-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

๐Ÿ’ก Example Prompts

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

๐Ÿ› ๏ธ Generated Logic

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.

๐ŸŽฏ Example Projects

1. GitHub Profile Manager (with Default Prompt)

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:

  • Multi-agent chain for profile data collection, generation, and updating
  • Automatic prompt loading from prompt.txt
  • Integration with GitHub MCP server and fetch capabilities

2. GitHub Repository Maintainer

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:

  • Release checking and validation
  • Repository cloning and management
  • Automated maintenance workflows

3. URL-to-Social Content Pipeline

A simple yet powerful content processing chain for social media.

Project Structure:

chain-ollama/
โ”œโ”€โ”€ Agentfile
โ””โ”€โ”€ agent/              # Generated files

Key Features:

  • URL content fetching and summarization
  • Social media post generation (280 characters, no hashtags)
  • Sequential agent chain processing

4. Advanced Multi-Agent System

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

๐Ÿ”ง Advanced Configuration

Custom Base Images

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

Environment Variables

MCP_SERVER api_server
COMMAND python
ARGS -m my_custom_server
ENV API_TIMEOUT 30
ENV RETRY_COUNT 3
ENV DEBUG_MODE false

Multi-Model Setup

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

๐Ÿ“ Project Structure

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

๐Ÿ—๏ธ Building from Source

git clone https://github.com/yeahdongcn/agentman.git
cd agentman

# Install
make install

๐Ÿงช Testing

Agentman includes comprehensive test suites with high coverage:

# Run all tests
make test

# Run tests with coverage
make test-cov

Test Coverage

  • 91%+ overall coverage across core modules
  • Agent Builder: Comprehensive tests for agent generation and Docker integration
  • Agentfile Parser: Complete syntax parsing and validation tests
  • Prompt.txt Support: Full coverage of automatic prompt detection and loading
  • Dockerfile Generation: Tests for container build optimization

๐Ÿค Contributing

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.

Development Workflow

  1. Fork and clone the repository
  2. Create a feature branch from main
  3. Write tests for new functionality (AI-generated tests achieve 91%+ coverage)
  4. Ensure tests pass with make test
  5. Format code with make format
  6. Submit a pull request with clear description

Areas for Contribution

  • ๐Ÿ”Œ New MCP server integrations
  • ๐Ÿค– Additional agent workflow patterns
  • ๐Ÿ“š Documentation and examples
  • ๐Ÿงช Test coverage improvements
  • ๐Ÿ› Bug fixes and optimizations

๐Ÿ“‹ System Requirements

  • Python: 3.10+ (supports 3.10, 3.11, 3.12, 3.13)
  • Docker: Required for containerization and running agents
  • Operating System: Unix-like systems (Linux, macOS, WSL2)
  • Memory: 2GB+ RAM recommended for multi-agent workflows
  • Storage: 1GB+ available space for base images and dependencies

๐Ÿ“„ License

MIT License - see LICENSE for details.

๐Ÿ™ Acknowledgments

  • ๐Ÿค– AI-Powered 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
  • ๐Ÿ—๏ธ Built on FastAgent: Agentman leverages the fast-agent framework as its foundation, providing robust agent infrastructure and seamless MCP integration
  • ๐Ÿณ Inspired by Podman: Just as Podman provides a Docker-compatible interface for containers, Agentman brings familiar containerization concepts to AI agent management
  • ๐Ÿงช Test-Driven Excellence: Achieved 91%+ test coverage through AI-driven test generation, ensuring reliability and maintainability
  • ๐ŸŒŸ Community-Driven: Built with the vision of making AI agent development accessible to everyone

๐Ÿš€ Ready to revolutionize your AI workflows?

Get Started โ€ข View Examples โ€ข Contribute

Join thousands of developers building the future with AI agents โœจ

GitHub stars PyPI downloads

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

agentman_mcp-0.1.6.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

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

agentman_mcp-0.1.6-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file agentman_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: agentman_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for agentman_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4a819e70931612ff99116beb7422013d609454730d742bb9c69f79dec5caa9e8
MD5 bf16f1c9f14dab3bbbb87820cb1264ae
BLAKE2b-256 99505f2b2b04d4de1479d311afbd970391c79aae3464240b17674dd828021458

See more details on using hashes here.

File details

Details for the file agentman_mcp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: agentman_mcp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for agentman_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d5fd898af20eac4f1f3fbbeaa225495e3bbc50417af58cc201760f6201f00a6
MD5 d9e1d22b16cec629dc9945263f42cf10
BLAKE2b-256 06928b5b6f07fd3f1367866ff7c3ffaccd45438c5a985b255c9ce047678f840d

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