lilith-platform.live/codebase/@features/api/src/mcp-prospector
Natalie 2d5ae395dc feat(mcp): add classify_message tool to mcp-prospector (prospector copilot) + architecture docs for desktop coworker composition
mcp-prospector is the prospector copilot MCP for Claude desktop coworker (Executor) to use central intelligence.

- New tool `classify_message(text, handle?, phone?, has_call?, local_is_known_contact?)`: runs fast efficient rules classifier (our distilled model from training data) + full central stack (LLM via GPU model-boss if deployed, mrnumber, macsync/quinn-messenger context via thread/classify, qualification). Supports passing local desktop context for Contacts gate.
- Local fastClassify/fastTemplate inlined for the MCP (pure, no extra dep issues).
- Updated README with full architecture:
  - Composition: quinn-messenger (messaging), mrnumber (screening), classifier (fast + GPU LLM), macsync (data), quinn-desktop (local MCP for addressbook/Contacts gate, other sensors).
  - Desktop coworker loads multiple MCPs (this central + quinn-messenger MCP + quinn-desktop local MCP).
  - SKILL instructs workflow: desktop local lookup first, then central classify_message for combined result using optimized model + all sources.
  - Replaces pure local stopgap rules with central quality while keeping desktop facts.
- This lets the desktop coworker classify messages using the full prospector copilot feature (central brain on GPU + local).

Follows project: prospector central in api, macsync network, MCP as tool interface for agents, hybrid fast rules + LLM.

Part of making prospector copilot the way for coworker + replace claude deps (GPU for LLM part).
2026-06-28 11:59:10 -04:00
..
src feat(mcp): add classify_message tool to mcp-prospector (prospector copilot) + architecture docs for desktop coworker composition 2026-06-28 11:59:10 -04:00
bun.lock breaking(api): 💥 Update client entity schema, prospector classification, and admin photo export routes with breaking changes 2026-06-10 14:58:14 -07:00
package.json refactor(mcp-prospector): delegate to @lilith/agent-prospector 2026-06-21 17:35:08 -05:00
README.md feat(mcp): add classify_message tool to mcp-prospector (prospector copilot) + architecture docs for desktop coworker composition 2026-06-28 11:59:10 -04:00
tsconfig.json

quinn-prospector MCP

Black quinn.api corpus + /my/prospects cockpit API (same as quinn.my Prospector).

Setup

quinn-prospectorhttp://black.lan:3912/mcp (.mcp.json)

Redeploy: deployments/@domains/quinn.mcp/deploy.sh prospector

Cockpit workflow

cockpit_stream
cockpit_tour_cohort(city="New York (Manhattan)")
cockpit_announce(city="New York (Manhattan)")
cockpit_thread(handle="+1…")
cockpit_draft(handle="+1…")
cockpit_send(handle="+1…", message="…", draft_id=…)

Tools

Cockpit (UI parity): cockpit_stream, cockpit_tour_board, cockpit_tour_cohort, cockpit_announce, cockpit_announce_status, cockpit_backfill_status, cockpit_backfill_start, cockpit_classify, cockpit_thread, cockpit_draft, cockpit_list_drafts, cockpit_send, cockpit_correction, cockpit_correction_patterns, cockpit_corrections_recent, cockpit_mark_worked

Corpus: get_prospect, list_prospects, list_by_archetype, get_metro_demand, tag_prospect

New for desktop coworker / copilot composition: classify_message (see below), plus existing mr_number_* for screening.

Architecture for prospector copilot (Claude desktop coworker + quinn-desktop + quinn-messenger + macsync + classifier + mrnumber)

The mcp-prospector is the prospector copilot MCP — the composition point for prospect intelligence.

  • quinn-messenger / macsync: threads, sends, calls, notes (Pastebin) via the cockpit/thread tools and backend.
  • mrnumber: screening via mr_number_check / history tools (record app lookups; auto reputation).
  • classifier: full via cockpit_classify (central, uses fast rules + LLM on GPU via model-boss when deployed) + classify_message for raw/single message.
  • quinn-desktop: separate local MCP (desktop-side osascript/Contacts for hard addressbook gate, local files, TTS, etc.). Desktop coworker loads both this central MCP and the quinn-desktop MCP. Agent reasoning composes: call desktop MCP for local_is_known_contact / addressbook on phone, then pass to central classify_message or use in SKILL before central classify.
  • Classifier fast path: the efficient rules model (distilled from training set) runs locally in this MCP for instant classification; central LLM (GPU) for full/ambiguous via the prospect backend.

For Claude desktop coworker (Executor sessions):

  • Load mcp-prospector (central prospector copilot) + quinn-messenger MCP + quinn-desktop MCP (local).
  • In the SKILL/prompt for inbound: "To classify a message: 1. If phone, call quinn-desktop MCP for local addressbook/contacts lookup (for the hard Contacts gate). 2. Optionally call quinn-messenger MCP for extra context. 3. Call mcp-prospector classify_message (or cockpit_classify/cockpit_thread for handle) with text + local_is_known_contact + phone. This gives combined fast + full (GPU model, mrnumber, macsync, qualification). Prefer central for quality over pure local rules."
  • This replaces or augments the pure local stopgap rules, giving the desktop coworker the optimized central model + all data sources while keeping local desktop facts.

classify_message(text, handle?, phone?, has_call?, local_is_known_contact?):

  • Runs fast efficient rules (from past-week training data + PROSPECTOR_TRAINING).
  • If handle: full central classify (LLM/GPU + full stack).
  • Includes mrnumber signals if you called mr tools or provide phone.
  • Pass local_is_known_contact from desktop MCP for the identity gate.
  • Returns fast_cat + template + full result + guidance.

This is the proper loose-coupled composition via MCP tools + agent orchestration. Central brain (prospector in api + mcp-prospector), local actuators/sensors via desktop MCP. No tight coupling, follows macsync-as-source, prospector as feature.

Redeploy after changes: deployments/@domains/quinn.mcp/deploy.sh prospector (or equivalent).