Patrick Plate 79f1e6d65f feat(mcp-image-gen): add name and count params to generate_image
- Add name (str) param: filename prefix saved as {name}_{timestamp}_{seed}.png
- Add count (int, 1-10) param: generate N images in one call
- Extract _sanitize_name() helper: strips special chars, collapses underscores, caps at 64 chars
- Extract _build_filename() helper: pure function for testable filename construction
- Extract _generate_single() coroutine: clean loop body for batch generation
- Fixed seed batches increment seed per image (seed+i-1) for deterministic variation
- random seed (-1) batches give independent random seeds per image
- Partial batch failures continue (error TextContent in slot, remaining images proceed)
- Returns flat interleaved [Text1, Image1, Text2, Image2, ...] list
- 34/34 tests passing (was 19, added 15 new tests)
2026-04-06 07:45:37 +02:00

Workshop — Patrick's Homelab Monorepo

A polyglot monorepo for personal engineering projects: MCP servers, Java web apps, and whatever comes next. Hosted on Gitea @ TrueNAS.local.

See plans/REPO_STRATEGY.md for the full structure rationale and conventions.


📂 Structure

workshop/
├── mcp/          Python MCP servers (FastMCP + uv)
├── java/         Java web projects (Maven + Jakarta EE)
├── plans/        Architecture & strategy docs
└── .roo/         IDE config (Roo Code, MCP wiring)

📖 Wiki

Full documentation lives in the Gitea wiki.

Wiki source: docs/wiki/pages/ — edit here, deploy with:

./docs/wiki/deploy_wiki.sh

MCP Servers (mcp/)

Server Description Stack
mcp/bigmind/ Persistent AI memory — sessions, facts, hypotheses, profile UI Python, FastMCP, SQLite, Flask
mcp/webscraper/ Web scraping, search — fetch, links, tables, Brave Search Python, FastMCP, httpx, BeautifulSoup
mcp/mcp-image-gen/ AI image generation — text-to-image via ComfyUI + FLUX.1-schnell Python, FastMCP, httpx, ComfyUI

Run a server:

cd mcp/bigmind   # or mcp/webscraper
./run.sh

Each server is an independent Python package. uv sync handles dependencies, no shared virtualenv.


Java Projects (java/)

Project Description Stack
java/mss-failsafe/ MSS Failsafe — multi-module Java EE web application Java EE, Maven, WildFly
java/wellmann-shop/ Wellmann online shop — JSF/PrimeFaces e-commerce Java 8, JSF, PrimeFaces, EclipseLink, MySQL

Build a project:

cd java/wellmann-shop
mvn clean package

📐 Plans & Architecture (plans/)

Document Description
plans/REPO_STRATEGY.md Monorepo strategy, taxonomy, naming conventions, migration log

🔧 IDE Wiring

MCP servers are wired into VS Code via .roo/mcp.json.

BigMind memory DB lives at ~/.mcp/bigmind/memory.db (outside the repo — not committed).


License

MIT — personal homelab use.

S
Description
Homelab MCP servers monorepo
Readme 98 MiB
Languages
Java 33%
HTML 32.7%
Python 24.7%
TypeScript 3.8%
CSS 3.8%
Other 2%