5 Commits

Author SHA1 Message Date
6846774b41 Add rebuild_host and update_section tools
rebuild_host: wipe-and-replace for full host re-profiles. Deletes
all chunks for a hostname then bulk-ingests fresh sections. Supports
confirm: false for dry-run preview.

update_section: surgical in-place update with fuzzy section matching
(case-insensitive substring, then vector similarity fallback).
Preserves metadata, replaces text, re-embeds. Returns existing
section list on no match.

Addresses duplicate chunk problem caused by inconsistent section
naming across profiling runs.
2026-03-01 19:41:30 +00:00
518cef51bc Improve tool descriptions for cross-model compatibility
Add concrete parameter examples, negative routing guidance, and
format conventions to tool descriptions. Helps Gemini with literal
tool selection and GPT with over-calling prevention.
2026-03-01 18:49:46 +00:00
d58fa405a2 Handle project points in search result formatters
search-context.ts and search-issues.ts now check payload.type and
branch formatting for project points (slug, name, status, summary)
vs chunk points (source, section, text). Casts to Record<string,
unknown> first instead of blindly casting to ChunkPayload.
2026-03-01 18:29:10 +00:00
94198d3897 Add structured project tools with rich relationships
Replace chunk-based project tools with dedicated structured project
tools that store projects as single Qdrant points with rich JSON
payloads. Adds list_projects, get_project, upsert_project,
update_project, and delete_project tools with Zod discriminated
union validation for per-category relationship operations.
2026-03-01 18:14:37 +00:00
8353280bbf Add CUD operations to homelab-mcp server
Add upsert_context, update_context, and delete_context tools to
complete CRUD functionality. Upserts use deterministic IDs based on
source+section+host for idempotency. Updates support metadata-only
patches or full re-embedding when text changes.
2026-03-01 17:34:53 +00:00