Installation¶
snowcite ships as a Python package and runs as an MCP server inside Claude Code. You need:
- uv (ships
uvx) — runs the server on demand. - Claude Code — the client.
- At least one compile backend — Typst (recommended) or tectonic (LaTeX).
Register with Claude Code¶
With optional API keys (higher rate limits, faster searches):
claude mcp add snowcite \
-e SNOWCITE_SEMANTIC_SCHOLAR_API_KEY=xxx \
-e SNOWCITE_OPENALEX_EMAIL=you@example.com \
-- uvx snowcite
Install a compile backend¶
Typst is recommended — native Unicode, single static binary, fast incremental compilation.
Verify the environment¶
After connecting the server in Claude Code, run:
Claude calls the check_environment MCP tool; the report lists which binaries
and API endpoints are reachable. Anything flagged error is a blocker; warn
entries degrade a specific feature (e.g., missing pandoc → no .docx export).
API keys¶
Semantic Scholar¶
Unauthenticated: 100 req / 5 min. With an API key (request one), 100 req / sec. Pass via SNOWCITE_SEMANTIC_SCHOLAR_API_KEY.
OpenAlex¶
OpenAlex's polite pool gives stable rate limits in exchange for an email in the mailto= query param. Pass via SNOWCITE_OPENALEX_EMAIL.
Crossref¶
Uses the same email as OpenAlex. No separate key.
PubMed¶
No key required; NCBI asks for ≤3 requests per second, which the built-in semaphore enforces.