Patrick Plate 62c3b67e66 fix(mcp-webscraper): improve search_hint quality — quote_plus, richer hint, dedup, result_count
- Use urllib.parse.quote_plus instead of str.replace(' ', '+') for correct
  URL encoding of special chars (&, %, +, #, =)
- Add search_url field to return dict so caller can verify/debug the query
- Add result_count field for quick summary without len(results)
- Deduplicate results by URL via seen_urls set
- Filter cards with both empty title AND empty snippet
- Richer hint string: 'Title (url): snippet[:120]' pipe-separated
- Max-results guard now breaks early (no over-fetching)
- 5 new tests (23→28): URL encoding, result_count, dedup, empty filter, hint format
2026-04-05 09:57:43 +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%