Skip to main content

Mother - AI Agent OS with extensible plugin system for orchestrating CLI tools via natural language

Project description

Mother AI OS

The AI agent operating system built by a lawyer, for organizations that need control.

CI Coverage PyPI version Python 3.11+ License: MIT


Mother is an extensible AI agent system that orchestrates CLI tools via natural language. Unlike other AI frameworks, Mother was designed from day one for auditability, permission control, and compliance — because that's what enterprises actually need.

You: "Find all contracts expiring this quarter and email a summary to the legal team"

Mother: [filesystem.search] → [filter by date] → [generate summary] → [email.send]
        ↓
        Every action logged. Every permission checked. Every step auditable.

Why Mother?

Most AI agent frameworks are built by developers for developers. Mother was built by a practicing lawyer and legal engineer who understands that organizations need:

Requirement How Mother Delivers
Audit Trails Every action logged with timestamp, user, parameters, and result
Permission Model Capability-based security — agents only do what they're allowed to
Explainability Execution plans shown before destructive actions
Compliance-Ready Integrates with UAPK governance layer

Who Is This For?

  • Legal & Compliance Teams — Automate document workflows with full audit trails
  • Regulated Industries — Finance, healthcare, legal tech requiring governance
  • Enterprise IT — Deploy AI agents you can actually control
  • Developers — Build AI automation without reinventing security

Quick Start

# Install
pip install mother-ai-os

# First-time setup (interactive wizard)
mother setup

# Check configuration status
mother status

# Run the server
mother serve

The setup wizard will guide you through:

  • Configuring your Anthropic API key
  • Setting up email accounts (optional)
  • Enabling optional features

Then send natural language commands:

curl -X POST http://localhost:8080/command \
  -H "X-API-Key: your-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"command": "List all PDF files modified this week"}'

Response:

{
  "text": "Found 3 PDF files modified this week: contract_v2.pdf, invoice_dec.pdf, memo.pdf",
  "tools_used": ["filesystem.list_directory", "filesystem.file_info"],
  "audit_id": "exec_7f3a9c2b"
}

Core Features

Natural Language → Controlled Execution

┌─────────────────────────────────────────────────────────────┐
│                     Natural Language                         │
│              "Send the quarterly report to finance"          │
└─────────────────────────┬───────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────────┐
│                    Mother Agent (Claude)                     │
│     Understands intent → Plans execution → Checks perms      │
└─────────────────────────┬───────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
    ┌──────────┐    ┌──────────┐    ┌──────────┐
    │filesystem│    │  email   │    │  audit   │
    │  plugin  │    │  plugin  │    │   log    │
    └──────────┘    └──────────┘    └──────────┘

Built-in Plugins

Plugin Capabilities
filesystem read, write, copy, move, delete, list, search
shell run commands, scripts, environment info
web HTTP requests, fetch, download, parse URLs
email send, list, read, search emails (IMAP/SMTP)
pdf merge, split, extract, rotate, compress PDFs
datacraft parse documents, search, extract tables
tasks add, list, complete, prioritize tasks
transmit send documents via email, fax, post, beA
taxlord German tax & document management (optional)
leads German tender discovery (optional)
google-docs Google Docs templates (optional)

Permission & Confirmation System

Destructive actions require explicit confirmation:

Mother: I'll delete 47 files matching "*.tmp". Proceed? [y/N]

Plan:
  1. filesystem.list_directory → find *.tmp files
  2. filesystem.delete → remove each file (REQUIRES CONFIRMATION)

Installation

From PyPI

pip install mother-ai-os

From Source

git clone https://github.com/Mother-AI-OS/mother.git
cd mother
pip install -e .

Configuration

The recommended way to configure Mother is via the setup wizard:

mother setup    # Interactive first-time configuration

This creates ~/.config/mother/credentials.env with your API keys.

Manual Configuration

You can also set environment variables directly:

# Required
export ANTHROPIC_API_KEY="sk-ant-..."    # Claude API access
export MOTHER_API_KEY="your-secret-key"  # API authentication

# Optional
export CLAUDE_MODEL="claude-sonnet-4-20250514"
export MOTHER_HOST="127.0.0.1"
export MOTHER_PORT="8080"
export OPENAI_API_KEY="..."              # For memory/embeddings

Email Configuration

Add email accounts for the email plugin:

mother email add       # Interactive account setup
mother email list      # Show configured accounts
mother email test      # Verify connection

Credentials are stored securely using your system keyring.


CLI Reference

# Setup & Configuration
mother setup                    # First-time setup wizard
mother status                   # System health & config check
mother credentials list         # Show credential status
mother credentials set KEY VAL  # Set a credential

# Email Management
mother email add                # Add email account (interactive)
mother email list               # List configured accounts
mother email remove NAME        # Remove an account
mother email test [NAME]        # Test account connection

# Server
mother serve                    # Start the API server
mother serve --port 9000        # Custom port

# Plugin Management
mother plugin list              # Show installed plugins
mother plugin info <name>       # Plugin details
mother plugin install <pkg>     # Install from PyPI
mother plugin uninstall <pkg>   # Remove plugin
mother plugin search <query>    # Find plugins

API Endpoints

Endpoint Method Description
/command POST Execute natural language command
/stream POST Stream execution (SSE)
/tools GET List available capabilities
/health GET Health check

Example: Execute Command

curl -X POST http://localhost:8080/command \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "Read config.yaml and summarize the settings",
    "confirm_destructive": false
  }'

Creating Plugins

Extend Mother with custom capabilities:

1. Create Manifest (mother-plugin.yaml)

schema_version: "1.0"

plugin:
  name: my-plugin
  version: 1.0.0
  description: Custom integration
  author: Your Name

capabilities:
  - name: do_something
    description: Performs a task
    confirmation_required: false
    parameters:
      - name: input
        type: string
        required: true

execution:
  type: python
  python:
    module: my_plugin
    class: MyPlugin

2. Implement Plugin

from mother.plugins import PluginBase, PluginResult

class MyPlugin(PluginBase):
    async def execute(self, capability: str, params: dict) -> PluginResult:
        if capability == "do_something":
            result = self._process(params["input"])
            return PluginResult.success_result(
                data={"result": result},
                message="Task completed"
            )
        raise ValueError(f"Unknown capability: {capability}")

3. Register Entry Point

# pyproject.toml
[project.entry-points."mother.plugins"]
my-plugin = "my_plugin:MyPlugin"

Enterprise & Governance

UAPK Integration

For organizations requiring policy enforcement and audit logging, Mother integrates with UAPK (Universal AI Processing Key):

┌─────────────────────────────────────────┐
│              UAPK Gateway               │
│   Policy Enforcement │ Audit Logging    │
└──────────────────┬──────────────────────┘
                   │
┌──────────────────▼──────────────────────┐
│              Mother Agent               │
│   Execution │ Plugins │ Memory          │
└─────────────────────────────────────────┘

UAPK provides:

  • Policy enforcement — Define what agents can/cannot do
  • Audit logging — Immutable record of all AI actions
  • Compliance reporting — Export logs for regulatory review

Enterprise Support

Need custom plugins, SLA, or on-premise deployment?

Contact: david@lawkraft.com


Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests (1,346 tests)
pytest

# Type checking
mypy mother

# Linting
ruff check mother

Roadmap

  • Plugin marketplace
  • Cloud dashboard (Pro tier)
  • UAPK deep integration
  • Multi-agent orchestration
  • Workflow templates for legal/finance

See GitHub Issues for detailed roadmap.


About

Mother AI OS was created by David Sanker, a lawyer and legal engineer who builds AI infrastructure for regulated industries.

Why "Mother"?

In the film Alien, "Mother" is the ship's AI that controls all systems. Unlike that Mother, this one asks for permission before doing anything dangerous.


License

MIT License — see LICENSE for details.

Use it, fork it, build on it. Just don't blame me if your AI agent goes rogue (that's what UAPK is for).


Built by a lawyer who codes.
WebsiteIssuesLawkraft

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

mother_ai_os-0.3.0.tar.gz (398.7 kB view details)

Uploaded Source

Built Distribution

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

mother_ai_os-0.3.0-py3-none-any.whl (191.8 kB view details)

Uploaded Python 3

File details

Details for the file mother_ai_os-0.3.0.tar.gz.

File metadata

  • Download URL: mother_ai_os-0.3.0.tar.gz
  • Upload date:
  • Size: 398.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mother_ai_os-0.3.0.tar.gz
Algorithm Hash digest
SHA256 30a33047b32e4702e8f2f9aa04913c219394362f089a5c94eebf9be15b803cf8
MD5 9499a62e7a79bc57c6458b15e1c052af
BLAKE2b-256 b48d661624ed02b5e229cba7ab2331f897ce54a37d2391f2990d2053a289f190

See more details on using hashes here.

File details

Details for the file mother_ai_os-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mother_ai_os-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 191.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mother_ai_os-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fcfb3184e5d1d37338e91c4c597bc3e4f5c64dd34d2cdc0e8a18b1eed4b3d6b
MD5 56a3e96d0cea63b8981ec0afaf834a5c
BLAKE2b-256 e83ffa5c1f3d7c8863e93d0b80c2f7635d69f1270c0d8f40761e6d9cb9160c8f

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