Skip to main content
Glama
README.md
# brettapps MCP Agent Workforce

BrettApps — MCP Server Agents, one per agent, integrated with local Ollama models.

## Architecture

```
brettapps/
├── agents/                  # One folder per agent
│   ├── manuscript_author/   # Manuscript author agent
│   │   ├── agent.py        # Agent logic (BaseAgent subclass)
│   │   └── server.py       # FastAPI MCP server exposing tools
│   ├── ebook_production/    # Ebook production agent
│   ├── market_research/     # Market research agent
│   ├── cover_creative_director/
│   ├── editorial/
│   ├── fact_check_compliance/
│   ├── cloud_archivist/
│   ├── analytics_optimisation/
│   ├── positioning_offer/
│   ├── sales_copy/
│   ├── funnel_fulfillment/
│   ├── launch_strategist/
│   ├── product_director/
│   ├── outline_architect/
│   ├── credentials_manager/
│   ├── obsidian_knowledge_manager/
│   └── google_drive_agent/
├── models/                  # Shared Ollama client
│   └── ollama_client.py
├── shared/                  # Shared utilities
│   ├── base.py             # BaseAgent class
│   └── config.py           # Config loader
├── pyproject.toml
├── README.md
├── Makefile
└── AGENTS.md
```

## Running

```bash
# Start a single agent MCP server
uvicorn agents.manuscript_author.server:app --host 127.0.0.1 --port 8001

# Start all agents (one port each, 8001+)
make run-all
```

## Ollama Models

- `brettanthonysjoberg179/brettapps:latest` (Llama 3.2 3.2B Q4_K_M) — default agent model
- `gemma3:4b` — fallback small model
- `gemma4:31b-cloud` — large model for complex tasks

## Agent Conventions

- Each agent has `execute()` returning `dict` with `status`, `message`, and agent-specific data
- MCP tools map 1:1 to agent capabilities
- All agents use the shared Ollama client for LLM calls