- Local MCP server for AI assistants (read-only) — full reference `docs/MCP.md`. Turned on **per profile** in *My profile › AI assistants* (off by default; the server runs only while the signed-in account opted in, stops on sign-out or a switch to a profile that did not): a toggle with an ⓘ bubble, then three tiles with the apps' logos (Simple Icons SVGs in `assets/svg/brands/`) — **Claude** (Studio builds a `.mcpb` bundle, MCPB manifest 0.3, URL + token baked in, and opens it → Claude Desktop's install dialog), **Cursor** / **VS Code** (their MCP install links) — plus a *Renew the key* button (new `icon-key`; hold 1.5 s to confirm, hover bubble saying what it breaks — `setupHoldToConfirm` hint extended with an optional `data-hold-tip` lead sentence; once renewed the key turns into a green tick and the button pops for 1.8 s — no message, nothing moves); the tiles and the button stay visible but greyed and inert while the toggle is off (Claude Code, a developer tool, is documented in `docs/MCP.md`, not offered in the UI). 14 tools: `data_guide` (the notice: every field — data1-data7, id_*, tiers — and collection), `account_overview`, `search_inventory`, `get_spool` (own temps, else the material's recommendation), `inventory_summary`, `list_racks`, `list_printers` (model names, online state), `list_friends`, `friend_inventory`, `list_wishlists`, `data_history`, `list_devices`, and raw `firestore_get` / `firestore_query` over the account's own tree + what friends share + public profiles. Every document is returned DECODED next to its raw fields (labels resolved by ID; the seven chip data slots read per product type — filament temps / diameter, resin mixing / work / curing / washing, unused for accessories and spare parts; info1-3 as refill / recycled / filled flags); counts per physical spool (twins de-duplicated). Security: 127.0.0.1:5795 only, bearer token, Host check against DNS rebinding, browser Origins refused, `secrets` / `apiKeys` refused, credentials (passwords, access / check codes, tokens, keys, certs, cloud logins) and the e-mail / Google real name masked — `services/mcpServer.js`, `services/mcpStdioBridge.js`, `main.js`, `preload.js`, `renderer/inventory.{js,html}`, `docs/MCP.md`, `CLAUDE.md`, `renderer/CODEMAP.md`, `CODEMAP-main.md`, `ROADMAP.md`
0 commit comments