A local-first desktop research & citation manager with AI-assisted citation suggestions.
Search your own PDF library by meaning, get ranked citation suggestions as you write, annotate documents, and cite straight into Microsoft Word — all running on your own machine.
- Semantic library search — index your local PDFs and find passages by meaning, not just keywords (hybrid vector + BM25 + reranking retrieval).
- AI citation suggestions — paste a paragraph you're writing and get ranked, relevant citations from your own library, with the supporting passages shown.
- PDF reading & annotation — highlight, ink/freehand, and tag annotations; build a tag hierarchy across your reading.
- Reference management — import from Zotero / Mendeley, organize into folders, and format citations & bibliographies (APA 7, Harvard, IEEE, Chicago, MLA, Vancouver, …).
- Cite into Word — a bundled Office add-in inserts citations into your document.
- Local-first & private — your library, embeddings, and annotations never leave your machine. The AI model is pluggable: use the managed endpoint, OpenAI, or a fully local Ollama model.
- MCP server — exposes your library as tools for AI agents (see
docs/MCP_SERVER.md).
Organize sources into research projects, code annotations into themes, and build your argument — all locally:
▶️ Watch the full-quality video · more at tarcite.com
Read & annotate — highlight, ink, and tag passages alongside your library:
Cite into Microsoft Word — insert formatted citations without leaving your document:
The Windows installer is published on the Releases page and at tarcite.com. No setup required — the app bundles everything it needs.
Requires Python 3.12. Runs from source on any OS with Python.
git clone <repo-url>
cd citation-workspace
python -m venv venv
venv\Scripts\activate # Windows (use: source venv/bin/activate elsewhere)
pip install -r requirements.txt
copy .env.example .env # then edit as needed
python launcher.pyThe app serves at https://tarcite.workspace (or http://127.0.0.1:4443 in HTTP mode).
See docs/ARCHITECTURE.md for how it fits together.
Copy .env.example to .env. Key settings:
| Variable | Purpose |
|---|---|
REFERENCES_DIR |
Folder containing your PDFs. |
AI_API_BASE_URL / AI_API_KEY / AI_MODEL |
Any OpenAI-compatible endpoint (OpenAI, the managed api.tarcite.com, or local Ollama). |
EMBEDDING_PROVIDER / EMBEDDING_MODEL |
Local embeddings (default) or remote. |
CROSSREF_MAILTO |
Optional, for polite Crossref metadata lookups. |
MCP_ENABLED |
Expose the library as MCP tools at /mcp. |
The AI model is pluggable and optional for search. Citation suggestion sends the paragraph you're drafting plus candidate passages from your library to an OpenAI-compatible model. You choose the backend:
- Managed (
api.tarcite.com) — key-optional, easiest to start with. - OpenAI — bring your own API key.
- Local — point at a local Ollama instance for fully offline use.
Embeddings and reranking run locally by default.
See docs/build-distribution.md. The Windows installer is
built with PyInstaller (citation.spec) + Inno Setup (packaging/setup.iss).
docs/ARCHITECTURE.md— system overview.docs/build-distribution.md— packaging guide.docs/CITATION_SUGGESTION_MECHANISM.md— the retrieval/ranking pipeline.docs/MCP_SERVER.md— MCP integration.
Contributions are welcome — see CONTRIBUTING.md and our
CODE_OF_CONDUCT.md. For security issues, see SECURITY.md.
TarCite Workspace is licensed under the GNU Affero General Public License v3.0 (LICENSE). This is required because it builds on PyMuPDF, which is AGPL-licensed. In short: you're free to use, study, modify, and redistribute it, and if you offer a modified version as a network service you must share your source under the same terms.


