2026-04-18 22:02:25 -07:00
|
|
|
{
|
|
|
|
|
"mcpServers": {
|
2026-04-20 04:36:12 -07:00
|
|
|
"experts": {
|
|
|
|
|
"command": "node",
|
2026-05-12 16:49:09 -07:00
|
|
|
"args": [
|
|
|
|
|
"/var/home/lilith/Code/@projects/@lilith/lilith-platform.live/node_modules/@lilith/mcp-experts/dist/index.js"
|
|
|
|
|
],
|
2026-04-20 04:36:12 -07:00
|
|
|
"env": {}
|
|
|
|
|
},
|
2026-04-20 02:51:34 -07:00
|
|
|
"quinn-my": {
|
2026-06-28 13:58:11 -04:00
|
|
|
"command": "bun",
|
|
|
|
|
"args": [
|
|
|
|
|
"run",
|
|
|
|
|
"/Users/natalie/Code/@projects/@lilith/lilith-platform.live/codebase/@features/my/mcp-server/src/index.ts"
|
|
|
|
|
],
|
|
|
|
|
"env": {
|
|
|
|
|
"QUINN_MY_BASE_URL": "http://localhost:13024",
|
|
|
|
|
"QUINN_MY_TOKEN": "607add2497b7a4105fa7f978f824e73a9aa82c0281ad204e8724112de56563c3",
|
|
|
|
|
"QUINN_API_BASE_URL": "http://localhost:13030",
|
|
|
|
|
"QUINN_API_TOKEN": "020dda852178ad8e3a6739eb476e64a93a9104b928a0ffbd8c841378fd0a5e01",
|
|
|
|
|
"QUINN_ADMIN_BASE_URL": "http://localhost:13023",
|
|
|
|
|
"QUINN_ADMIN_SERVICE_TOKEN": "284e2ae93af75d2d08f7b2f347588f2f60305b91f7721f1a0412386596018acc"
|
2026-04-20 02:51:34 -07:00
|
|
|
}
|
2026-04-24 20:04:59 -07:00
|
|
|
},
|
2026-06-28 13:20:04 -04:00
|
|
|
"quinn-admin-do-internal": {
|
2026-06-10 14:58:14 -07:00
|
|
|
"type": "http",
|
2026-06-28 12:44:41 -04:00
|
|
|
"url": "http://10.9.0.5:3911/mcp",
|
2026-06-10 14:58:14 -07:00
|
|
|
"headers": {
|
|
|
|
|
"Authorization": "Bearer 3a341b950fbb0ff4058f6c5fc2a7c8939c123e2fb16d4190b22ecf4c7831111d"
|
2026-04-24 20:04:59 -07:00
|
|
|
}
|
2026-05-12 16:49:09 -07:00
|
|
|
},
|
2026-06-28 13:20:04 -04:00
|
|
|
"quinn-admin": {
|
|
|
|
|
"command": "bun",
|
|
|
|
|
"args": [
|
|
|
|
|
"run",
|
|
|
|
|
"/Users/natalie/Code/@projects/@lilith/lilith-platform.live/codebase/@features/admin/mcp-server/src/index.ts"
|
|
|
|
|
],
|
|
|
|
|
"env": {
|
|
|
|
|
"QUINN_API_URL": "http://localhost:13030",
|
|
|
|
|
"QUINN_API_SERVICE_TOKEN": "020dda852178ad8e3a6739eb476e64a93a9104b928a0ffbd8c841378fd0a5e01",
|
|
|
|
|
"QUINN_MY_BASE_URL": "https://my.transquinnftw.com"
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-12 20:34:44 -07:00
|
|
|
"quinn-prospector": {
|
2026-06-10 14:58:14 -07:00
|
|
|
"type": "http",
|
|
|
|
|
"url": "http://black.lan:3912/mcp",
|
|
|
|
|
"headers": {
|
|
|
|
|
"Authorization": "Bearer fadd19f0bef37226ca6b1573eca695ee0a7f856bf701cf06a156a55849033209"
|
2026-05-12 16:49:09 -07:00
|
|
|
}
|
2026-05-14 21:46:24 -07:00
|
|
|
},
|
|
|
|
|
"quinn-messenger": {
|
2026-06-10 14:58:14 -07:00
|
|
|
"type": "http",
|
|
|
|
|
"url": "http://black.lan:3913/mcp",
|
|
|
|
|
"headers": {
|
|
|
|
|
"Authorization": "Bearer 714d4c7665434cfdf74e9a45f6ff5b2db8c25e0f80489418d21e7f36ec6398ff"
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-06-21 15:07:05 -05:00
|
|
|
"quinn-analytics": {
|
2026-06-10 14:58:14 -07:00
|
|
|
"type": "http",
|
|
|
|
|
"url": "http://black.lan:3914/mcp",
|
|
|
|
|
"headers": {
|
|
|
|
|
"Authorization": "Bearer be883c472343c990beb38a00111abc21a8f40a374b518eaf816c715c10a90d21"
|
2026-05-14 21:46:24 -07:00
|
|
|
}
|
feat(ad-watch): plum stdio MCP — scrape ad-platform listings, diff vs canonical
quinn-adwatch: a stateless, plum-local stdio MCP that scrapes Quinn's live
listings on her 11 ad platforms (Eros/Tryst/TS4Rent/MegaPersonals/TSEscorts/
AdultLook/AdultSearch/SkipTheGames + OnlyFans/Fansly/ManyVids) and surfaces
discrepancies vs the canonical provider-config profile.
- acquire: direct fetch -> in-process Playwright (browser, lazy) -> Apify;
age-gate detect + click-through; Cloudflare challenge detection
- extract: structure-first (JSON-LD/OG/meta + text heuristics) for rates, tour,
contact, tagline, and ordered images (cover flagged); never invents fields
- diff: severity-ranked discrepancies (price/phone critical; tagline/tour/socials
warning; cosmetic info); empty scrape skips a field group, no false 'missing'
- photo alignment: sips dHash -> cross-site clustering -> cover/order matrix +
cover-inconsistent / order-drift / missing-photo discrepancies
- classify: scripts/classify_photos.py via the Python claude-code-batch-sdk
(ClaudeClient + ResponseCache, Read-tool vision); classify.ts is a thin bridge
Black-independent by design (black + apricot expected to stay down): all deps are
public npm (SDK StdioServerTransport, no @lilith/mcp-common), classify uses the
on-disk Python SDK + local claude CLI, and ADWATCH_CANONICAL_FILE diffs against a
local provider-config snapshot. 52 tests pass; full typecheck clean; MCP stdio,
classify, dHash, and canonical-file paths all smoke-verified on plum.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 19:11:33 -04:00
|
|
|
},
|
|
|
|
|
"quinn-adwatch": {
|
|
|
|
|
"command": "bun",
|
|
|
|
|
"args": [
|
|
|
|
|
"run",
|
|
|
|
|
"/Users/natalie/Code/@projects/@lilith/lilith-platform.live/codebase/@features/ad-watch/src/index.ts"
|
|
|
|
|
],
|
|
|
|
|
"env": {
|
|
|
|
|
"QUINN_API_BASE_URL": "https://api.transquinnftw.com"
|
|
|
|
|
}
|
2026-06-28 08:59:49 -04:00
|
|
|
},
|
|
|
|
|
"quinn-mr-number": {
|
|
|
|
|
"command": "bun",
|
|
|
|
|
"args": [
|
|
|
|
|
"run",
|
|
|
|
|
"/Users/natalie/Code/@projects/@lilith/lilith-platform.live/users/transquinnftw/tools/mr-number-lookup/mcp/index.ts"
|
2026-06-28 10:12:40 -04:00
|
|
|
],
|
|
|
|
|
"env": {
|
|
|
|
|
"MR_NUMBER_DEVICE": "localhost:5555"
|
|
|
|
|
}
|
2026-06-28 09:58:03 -04:00
|
|
|
},
|
|
|
|
|
"quinn-whatsapp": {
|
|
|
|
|
"command": "bun",
|
|
|
|
|
"args": [
|
|
|
|
|
"run",
|
|
|
|
|
"/Users/natalie/Code/@projects/@lilith/lilith-platform.live/users/transquinnftw/tools/whatsapp-lookup/mcp/index.ts"
|
2026-06-28 12:07:07 -04:00
|
|
|
],
|
|
|
|
|
"env": {
|
2026-06-28 13:58:11 -04:00
|
|
|
"WHATSAPP_DEVICE": "localhost:5556"
|
2026-06-28 12:07:07 -04:00
|
|
|
}
|
2026-04-18 22:02:25 -07:00
|
|
|
}
|
|
|
|
|
}
|
2026-06-28 08:59:49 -04:00
|
|
|
}
|