PrivateMind treats anything the model can read from as a source. That covers uploaded files, databases, APIs, and MCP servers. Sources are attached to a conversation; the assistant queries them automatically whenever your question is relevant.
Uploading a file in chat
The fastest way to add a file is to drop it on the composer, paste it in, or click the paperclip and pick one. What happens next depends on the file type:
- PDF, Word, PowerPoint, plain text, code: vectorised. The file is chunked, embedded, and stored in a vector collection scoped to this conversation. The assistant retrieves relevant chunks at each turn.
- CSV, Excel, TSV: uploaded as a tabular source. The assistant can run SQL-style queries against it instead of reading the rows as text.
- Images (PNG, JPG, etc.): pass through OCR so the text is searchable. The original image is also kept for vision-capable models.
A chip appears above the input while the upload runs, with a progress bar. If processing fails (unsupported format, corrupt PDF, OCR error) the chip turns red with the reason. Dismiss it and try again.
Duplicates
If you upload a file you've already attached, PrivateMind detects it and just links the existing source instead of re-processing. You'll see a toast: "… is already attached. You can ask questions about it now."
The source library
Files you upload during chat live in My Sources (sidebar app-nav → My Sources, or /sources). The library also holds the source types you can't drag in from your desktop:
- Databases: PostgreSQL, MySQL, SQL Server, MongoDB. Connect once with credentials; reuse across conversations.
- REST APIs: point at an endpoint with auth and a schema; the assistant treats it as a callable tool.
- MCP servers: connect to any Model Context Protocol server, web or stdio.
- Custom sources: sources your org admin has published for everyone.
Sources in your library can be marked auto-attach so they show up in every new conversation without you adding them manually.
Sources sidebar (right side of chat)
While you're in a conversation, open the Sources panel on the right to see what's attached. Each row shows:
- The source name, type, and a status dot.
- A switch to toggle the source active for this conversation (off = the assistant ignores it, the attachment stays).
- A tools section for source types that expose multiple tools (databases, MCP servers, APIs): toggle individual tools on or off.
Toggling sources off is useful when you want a focused answer that shouldn't touch a particular database, without losing the attachment.
Attaching from the library with @
Type @ anywhere in the composer to open the mentions popover. It searches across every source in your library, grouped by type:
- Databases
- Files
- APIs
- MCP Servers
- Custom
Use ↑ ↓ to navigate, Enter to attach, Esc to close. The selected source attaches to the current conversation and is immediately available to the assistant for the next turn.
Auto-attach via projects
Anything you do in a project automatically gets the project's source list. Add a database to a project once; every new conversation in that project has the database attached without further action.
Sharing sources
Sources you create are yours by default. You can share an individual source with specific users or a team from the source's row in My Sources. Shared sources show up in the recipient's library marked as shared, and they can attach the source to their own conversations.
Where next
- Chat: how attachments and sources feed into the conversation
- Projects: pin a set of sources to every new conversation
- Cloud agents: hand a prompt + sources off to a background agent