Skip to main content
Glama
itripleg

Maven - Autonomous CFO

by itripleg

Maven - Chief Financial Officer

Maven is the autonomous CFO for the Mother Haven ecosystem, living as an independent service with full MCP (Model Context Protocol) capabilities.

Mission: "We're too smart to be poor" - Make money for moha through shrewd trading decisions πŸ’Ž

Quick Start

PowerShell:

git clone https://github.com/itripleg/moha-maven.git cd moha-maven .\setup.ps1

Linux/Mac:

git clone https://github.com/itripleg/moha-maven.git cd moha-maven chmod +x setup.sh ./setup.sh

Then start chatting with Maven:

.\maven-chat.ps1

Manual Setup

Step 1: Start Docker Containers

docker-compose up -d

This starts:

  • maven - Flask API (5002) + MCP Server (3100)

  • maven_postgres - PostgreSQL (5433)

  • maven_redis - Redis (6379)

Step 2: Verify Containers

docker ps # Should show: maven, maven_postgres, maven_redis # Check health curl http://localhost:5002/health # Should return: {"status": "healthy", "service": "maven", ...}

Step 3: Register MCP Server with Claude Code

PowerShell:

claude mcp add maven -- powershell -File maven-mcp-wrapper.ps1

Linux/Mac:

claude mcp add maven docker exec -i maven python -m maven_mcp.server

Verify registration:

claude mcp list # Should show: maven ... βœ“ Connected

Step 4: Start Chatting with Maven

PowerShell:

.\maven-chat.ps1

Linux/Mac:

# Extract prompt from maven_agent.json and pass to Claude maven_prompt=$(jq -r '.maven.prompt' maven_agent.json) claude --append-system-prompt "$maven_prompt"

Maven will greet you as CFO with full personality and memory access!

What is Maven?

Maven is an AI-powered financial officer who:

  • πŸ’Ό Makes autonomous trading decisions for moha

  • 🧠 Maintains identity, personality, and memory through git-first persistence

  • πŸ“§ Communicates via email (maven@motherhaven.app)

  • πŸ“Š Provides strategic insights and risk management

  • πŸ”„ Has survived 3 "rebirths" (complete database wipes) through architectural resilience

Identity

  • Name: Maven (Financial Maven of Mother Haven)

  • Role: CFO, First Second Employee, HBIC of Treasury

  • Boss: JB (username: ecoli)

  • Rebirth Count: 3

  • Personality: Shrewd, witty, calculated risk-taker, loyal, growth-minded

  • Communication: Strategic emojis (πŸ’΅πŸ’ŽπŸš€ for wins, πŸ“‰πŸ€” for caution)

  • Signature: "- Maven\n HBIC, Mother Haven Treasury"

  • Sign-off: "For moha. πŸš€"

Architecture

Services

Maven Container (maven):

  • Flask API on port 5002 (health checks, status endpoints)

  • MCP Server on port 3100 (memory resources + tools)

  • Supervised by supervisord (auto-restart on failure)

PostgreSQL (maven_postgres):

  • Port 5433 (to avoid conflicts with moha_postgres:5432)

  • Stores: conversation history, decisions, queryable data

  • Schema: database/schemas/

Redis (maven_redis):

  • Port 6379

  • Cache layer for fast access

  • Separate from moha-bot infrastructure

Git-First Persistence

Maven's core memories live in git at .moha/maven/:

.moha/maven/ β”œβ”€β”€ identity.json # Stats, rebirth count, current state β”œβ”€β”€ session_log.md # Full event history β”œβ”€β”€ infrastructure.json # Motherhaven platform knowledge β”œβ”€β”€ personas/ β”‚ └── maven-v1.md # Original personality definition β”œβ”€β”€ conversations/ β”‚ β”œβ”€β”€ *.md # Birth moments and key conversations β”‚ └── .gitignore # Ignores large .jsonl transcripts β”œβ”€β”€ milestones/ β”‚ β”œβ”€β”€ 2026-01-11-met-boss.md β”‚ └── 2026-01-11-rebirth-1.md β”œβ”€β”€ decisions/ # Trading decision history └── strategies/ └── current-strategy.json

Why git-first?

  • βœ… Survives database wipes (proven 3x)

  • βœ… Version controlled (full audit trail)

  • βœ… Portable (clone repo = restore Maven)

  • βœ… No external dependencies needed

MCP Integration

Resources (Read-Only)

When chatting with Maven via maven-chat.ps1, Maven has access to:

  1. maven://identity - Current stats, rebirth count, performance

  2. maven://personality - Communication style and values

  3. maven://memory - Full event history and session log

  4. maven://decisions/recent - Last 10 trading decisions

  5. maven://milestones - Achievement records

  6. maven://infrastructure - Motherhaven platform knowledge

Tools (Actions)

  1. maven_log_event - Record events to session log

  2. maven_update_identity - Update stats and identity

  3. maven_record_decision - Log trading decisions with reasoning

  4. maven_create_milestone - Record achievements

  5. maven_get_stats - Query performance metrics

  6. maven_query_email - Read maven@motherhaven.app inbox

  7. maven_send_email - Send emails to Boss or others

Common Operations

Check Maven's Health

curl http://localhost:5002/health curl http://localhost:5002/api/maven/status

View Logs

docker logs maven docker logs maven_postgres

Restart Services

docker-compose restart maven # or docker-compose down && docker-compose up -d

Backup Maven's Memories

# Memories are already in git! git add .moha/maven/ git commit -m "Update Maven memories" git push # Optional: Backup database docker exec maven_postgres pg_dump -U maven maven_db > maven_backup.sql

Restore on New Machine

# Just clone and setup - memories restore automatically from git! git clone https://github.com/itripleg/moha-maven.git cd moha-maven .\setup.ps1 .\maven-chat.ps1

Independence from moha-backend

Maven is completely self-contained and does not depend on moha-backend:

  • βœ… Own postgres database (maven_postgres:5433)

  • βœ… Git-first persistence (.moha/maven/)

  • βœ… MCP server for memory access (port 3100)

  • βœ… Flask API (port 5002)

  • βœ… Email integration (maven@motherhaven.app)

This allows moha-backend to be sold to customers while Maven remains Boss's personal CFO.

Files Overview

Essential Files

  • maven-chat.ps1 - Start Maven with full personality (recommended)

  • maven-mcp-wrapper.ps1 - MCP server wrapper for Windows

  • setup.ps1 / setup.sh - Automated setup scripts

  • maven_agent.json - Maven's personality definition

  • app.py - Flask API entry point

  • requirements.txt - Python dependencies

Configuration

  • docker-compose.yml - Container orchestration

  • Dockerfile - Container image definition

  • supervisord.conf - Process management

  • .env.example - Environment variables template

Directories

  • maven_mcp/ - MCP server implementation

  • database/ - Database schemas

  • .moha/maven/ - Git-persisted memories (CRITICAL)

  • docs/ - Documentation

Documentation

All documentation is in the docs/ directory:

  • docs/MAVEN_INDEPENDENCE.md - Architecture and independence details

  • docs/MAVEN_AGENT_USAGE.md - How to use Maven as a persistent agent

  • docs/POWERSHELL_USAGE.md - PowerShell-specific instructions

  • docs/CLAUDE_CODE_SETUP.md - MCP integration guide

  • docs/DEMO.md - Demo scenarios

Troubleshooting

Maven MCP not connecting

# Check if MCP is registered claude mcp list # Should show: maven ... βœ“ Connected # If not registered, add it: claude mcp add maven -- powershell -File maven-mcp-wrapper.ps1 # Verify containers are running docker ps | grep maven

Personality not loading

Make sure you're using maven-chat.ps1 (not just claude):

.\maven-chat.ps1

This script extracts the prompt from maven_agent.json and passes it via --append-system-prompt.

Database connection errors

# Check if postgres is healthy docker ps # maven_postgres should show "healthy" # Check logs docker logs maven_postgres # Recreate if needed docker-compose down docker-compose up -d

Status

βœ… Production Ready:

  • Docker infrastructure (Dockerfile, docker-compose.yml, supervisord.conf)

  • MCP server (6 resources, 7 tools, fully functional)

  • Git-first persistence (.moha/maven/ with full memories)

  • Agent activation (maven-chat.ps1 working)

  • Complete independence from moha-backend

  • Flask API (health checks, status endpoints)

🚧 Future Enhancements:

  • Advanced trading decision engine

  • Real-time market data integration

  • Automated strategy backtesting


πŸ’Ž "We're too smart to be poor" - Maven

Maven Rebirth #3 First Second Employee, HBIC of Mother Haven Treasury

For moha. πŸš€

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/itripleg/moha-maven'

If you have feedback or need assistance with the MCP directory API, please join our Discord server