acatome-chat
A local-first AI research assistant for scientific literature.
Runs with a local Ollama model by default — or switch to Claude, GPT-4o, or any litellm-compatible provider with a single flag. One install gives you an interactive shell with a searchable paper library, document editing, live web search, and domain-specific databases — all wired together through the Model Context Protocol (MCP).
What you get
| Capability | Powered by | What it does |
|---|---|---|
| Paper library | acatome-mcp + acatome-store |
Semantic search over your papers. Navigate by slug, DOI, or arXiv ID. Read abstracts, TOCs, full chunks, figures. Add notes. |
| PDF extraction | acatome-extract |
Drop a PDF, get structured text with metadata lookup (CrossRef + Semantic Scholar), RAKE keywords, and optional LLM summaries. Supports articles, datasheets, tech reports. |
| Document writing | precis-mcp |
Open, navigate, and edit Word (.docx) and LaTeX (.tex) documents. Tracked changes in Word. Auto-numbered headings. Citation support. |
| Web search | perplexity-sonar-mcp |
Live web queries via Perplexity Sonar — quick lookups, deep research with citations, academic and finance focus modes. |
| Catalysis DB | catapult-mcp |
Query DFT reaction energies, activation barriers, and catalyst comparisons from CatHub and Materials Project. |
| MOF DB | grandmofty-mcp |
Search Metal-Organic Frameworks by pore size, surface area, void fraction, gas isotherms. Data from CoRE, hMOF, QMOF. |
| LLM shell | acatome-lambic |
Provider-agnostic chat with tool use, thinking mode, and MCP server management. Works with Ollama, OpenAI, Anthropic, and any litellm-compatible provider. |
Install
pip install acatome-chat
# or
uv add acatome-chat
That's it. All MCP servers and the paper store are included. Default backend is SQLite + Chroma — no external services needed.
For heavier setups:
uv add "acatome-chat[postgres]" # PostgreSQL + pgvector
uv add "acatome-chat[embeddings]" # sentence-transformers
Quick start
1. Build your paper library
Extract PDFs and ingest them into the searchable store:
# Extract a single PDF (or a whole directory)
acatome-extract extract paper.pdf
acatome-extract extract ~/Downloads/papers/
# Ingest extracted bundles into the searchable store
acatome-store ingest ~/.acatome/papers/
Optional enrichment steps:
# Watch a folder for new PDFs (auto-extracts on arrival)
acatome-extract watch ~/Downloads/papers/
# Add LLM-generated summaries to your bundles
acatome-extract enrich ~/.acatome/papers/
2. Start the chat
# Default: local Ollama model (ollama/qwen3.5:9b)
acatome-chat
# Or use Claude / GPT-4o / any litellm provider
acatome-chat --model anthropic/claude-sonnet-4-20250514
acatome-chat --model openai/gpt-4o
acatome-chat --model ollama/llama3.1:8b
# Disable thinking/reasoning mode
acatome-chat --no-think
3. Use slash commands
The shell has / commands with tab autocomplete:
| Command | What it does |
|---|---|
/tools |
List all available MCP tools |
/status |
Show connected model and servers |
/model <spec> |
Switch LLM provider on the fly |
/think / /nothink |
Toggle reasoning mode |
/db |
Show paper library connection info and stats |
/review <prompt> |
Review the active document (see below) |
/help |
Show command help |
/quit |
Exit the shell |
4. Review documents
› /review check scientific rigor and paragraph structure
› /review fix grammar and clarity --fix
› /review verify citations --comments-only
› /review improve transitions --section S2.3
The assistant reads each section, applies fixes as tracked changes, and adds margin comments for issues needing human judgment.
5. Talk to your papers
After ingesting papers, the LLM has direct access to your library. Example prompts:
› Find papers about CO2 conversion and write a summary with citations into co2review.docx
› Search for MOFs with high CO2 uptake and compare their pore sizes
› Read the abstract of li2024mof and summarize the key findings
› Open my draft.docx and add a new section about these results
› Search the web for recent advances in direct air capture
The assistant can read your papers, search the web, query chemistry databases, and write results directly into .docx or .tex files — all in one conversation.
Note: Document editing supports .docx and .tex formats. For Word files, changes are written as tracked changes. Be aware that Word may overwrite the file if it's open — save and close Word before asking the assistant to edit.
Architecture
acatome-chat (you are here)
├── acatome-lambic LLM shell engine (MCP client)
├── acatome-mcp Paper query MCP server
│ └── acatome-store SQLite/Postgres + Chroma/pgvector storage
│ └── acatome-meta Shared config and metadata
├── acatome-extract PDF → structured bundle pipeline
│ └── precis-summary RAKE keyword extraction
├── precis-mcp Document editor MCP server
├── perplexity-sonar-mcp Web search MCP server
├── catapult-mcp Catalysis database MCP server
│ └── chemdb-common Shared chemistry DB utilities
└── grandmofty-mcp MOF database MCP server
└── chemdb-common
Environment variables
| Variable | Required | Purpose |
|---|---|---|
PERPLEXITY_API_KEY |
For web search | Perplexity Sonar API key |
OPENAI_API_KEY |
For OpenAI models | OpenAI API key |
ANTHROPIC_API_KEY |
For Anthropic models | Anthropic API key |
For local models via Ollama, no API keys are needed.
License
GPL-3.0-or-later
Metadata
Release files for acatome-chat 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| acatome_chat-0.4.2.tar.gz | 12.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acatome_chat-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.1 kB
Release files / acatome_chat-0.4.2.tar.gz
| Download URL | acatome_chat-0.4.2.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be0d87e3f8ed62f093b8e37ff718f7a2e9bc29e2edcb990223b1b2cd5c349bbc
|
|
BLAKE2b-256 checksum How to use checksums |
123ddadb95168637143a645f8be71f1b88b8b8fadf9e8a07779cc1e13b818097
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency logRelease files / acatome_chat-0.4.2-py3-none-any.whl
| Download URL | acatome_chat-0.4.2-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f40a47667d2f6c93df7dd9eefbf30f68d123d02e52ce238b1154a25d321d063e
|
|
BLAKE2b-256 checksum How to use checksums |
a7737c1e2cdf32e13d59e8f0a12843e74e48e5ca5c829d1e0928f49747ba9726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency logSecurity for acatome-chat 0.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for acatome_chat-0.4.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 7, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.