Quickstart

This guide covers the basic usage of CrossRef Local.

Python API

Get by DOI

from crossref_local import get

work = get("10.1038/nature12373")

if work:
    print(f"Title: {work.title}")
    print(f"Authors: {', '.join(work.authors)}")
    print(f"Year: {work.year}")
    print(f"Citations: {work.citation_count}")

HTTP Mode

from crossref_local import configure_http, search

# Configure to use HTTP API
configure_http("http://localhost:31291")

# Same API works transparently
results = search("CRISPR")

Command Line Interface

Get by DOI

crossref-local search-by-doi 10.1038/nature12373

# As citation format
crossref-local search-by-doi 10.1038/nature12373 --citation

HTTP Relay Server

# Start relay server
crossref-local relay

# Custom port
crossref-local relay --port 8080

# Then connect from another machine
crossref-local --http search "query"

MCP Server

# Start MCP server
crossref-local mcp start

# With specific transport
crossref-local mcp start -t sse --port 8082

Environment Variables

  • CROSSREF_LOCAL_DB: Path to SQLite database

  • CROSSREF_LOCAL_API_URL: HTTP API URL for remote access

  • CROSSREF_LOCAL_MODE: Force mode (db or http)

  • CROSSREF_LOCAL_HOST: Host for relay server (default: 0.0.0.0)

  • CROSSREF_LOCAL_PORT: Port for relay server (default: 31291)