Skip to main content

citekick

CI PyPI version Python License

Agentic tools for academic paper search — a CLI and MCP server that query multiple literature sources in one shot.


Why citekick?

Finding papers usually means juggling separate APIs, rate limits, and response formats for every source. citekick unifies them behind a single interface:

  • Multi-source search — Query 8 sources in parallel: Semantic Scholar, arXiv, PubMed, Crossref, Europe PMC, OpenReview, DBLP, and OpenAlex.
  • CLI + MCP — Use it directly from your terminal (citekick) or expose it to AI agents as an MCP server (citekick-mcp).
  • Agent-friendly output — JSON or Markdown results, ready to be consumed by humans or LLMs.
  • Response caching — Built-in HTTP cache to stay polite with APIs and speed up repeated queries.
  • Configurable defaults — API keys, preferred sources, year ranges, and output format persisted in one TOML file.

Installation

Install the citekick CLI and MCP server globally using uv:

# Install with uv (recommended)
uv tool install citekick

# Or with pip
pip install citekick

CLI Usage

1. citekick search

Search academic literature across multiple sources.

citekick search "attention is all you need"                    # Search all default sources
citekick search "diffusion models" --sources arxiv,openalex    # Restrict to specific sources
citekick search "protein folding" --year-from 2023 --format markdown
citekick search "llm agents" --max-results 20 --no-cache

Tip: the search subcommand is optional — citekick "query" works too.

2. citekick config

Configure API keys and default search settings in ~/.config/citekick/config.toml.

citekick config                                    # Create an empty config file
citekick config --mailto you@example.com           # Set contact email (polite-pool access)
citekick config --openalex-api-key KEY --sources arxiv,pubmed

Credentials and optional contact email are read from ~/.config/citekick/config.toml. The [api] values are all optional; missing or empty values leave the corresponding source keyless.


Agent Integration

To use citekick as an MCP server, add this to your agent's MCP config:

{
  "mcpServers": {
    "citekick": {
      "command": "citekick-mcp"
    }
  }
}

Or using uvx (without prior installation):

{
  "mcpServers": {
    "citekick": {
      "command": "uvx",
      "args": ["--from", "citekick", "citekick-mcp"]
    }
  }
}

Development

# Install hatch
uv tool install hatch

# Run full release check (linting, static typing with mypy, and test suite with coverage)
hatch run release

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

citekick-1.0.1.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

citekick-1.0.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file citekick-1.0.1.tar.gz.

File metadata

  • Download URL: citekick-1.0.1.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for citekick-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4ddee78065b35ad410cc6f62c564077bf8c13c4d6cc226b53bdb655be3622a5b
MD5 226cb23e59d620cfbb3777bebdcf37ea
BLAKE2b-256 d55b8fdc269ac29eb8ef3b4cc5adeb65decde53529f0fb60ed48fe2bc7178926

See more details on using hashes here.

Provenance

The following attestation bundles were made for citekick-1.0.1.tar.gz:

Publisher: publish.yml on ChenchaoZhao/citekick

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file citekick-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: citekick-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for citekick-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1a230e1ac4bc646e160595600677b394397f9d085a0a96e30655c242c8ce775
MD5 ca3b317fcbc8515baad95e66681a997c
BLAKE2b-256 a9ff3b9c5796407fdf3cd0e7ebde1830338f83b9612d3f5ac66f6f978b71fd8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for citekick-1.0.1-py3-none-any.whl:

Publisher: publish.yml on ChenchaoZhao/citekick

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page