Get the FREE Ultimate OpenClaw Setup Guide →

OneCite

📚 An intelligent toolkit to automatically parse, complete, and format academic references.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio hzacode-onecite python -m onecite \
  --env ONECITE_API_KEY="your-api-key-if-required-or-placeholder"

How to use

OneCite is a command-line tool and Python library for managing and formatting academic citations. It accepts a variety of input identifiers (DOIs, arXiv IDs, paper titles, URLs, ISBNs, etc.) and outputs bibliographic entries in formats like BibTeX, APA, or MLA. As an MCP server, you can run OneCite as a service to process references via its CLI or Python API, enabling automated reference enrichment, template-based field completion, and multi-format output. The server exposes the tool’s core capabilities: fuzzy matching against major data sources, a multi-stage pipeline (clean, query, validate, format), and interactive disambiguation when multiple matches are found. You can also load and apply YAML-based templates to control which fields are collected or how entries are typed, making it suitable for integration into larger workflows.

To use the server, run the process command through the module entry point (for example, python -m onecite) and provide input via a file or standard input. The CLI supports options to specify output format, input sources, and whether to run in quiet or interactive modes. In addition to the CLI, the Python API exposes functions like process_references that can be used from scripts to perform batch processing, enabling you to automate citation management within your own pipelines.

Typical use cases include converting mixed-reference inputs to BibTeX for LaTeX documents, generating APA/MLA citations for manuscripts, enriching incomplete entries with missing fields (journal, volume, pages, authors), and handling multiple identifier types with a single workflow.

How to install

Prerequisites:

  • Python 3.10+ (recommended)
  • pip (comes with Python)

Step 1: Create a virtual environment (optional but recommended)

python -m venv venv
source venv/bin/activate  # on Unix/macOS
venv\Scripts\activate     # on Windows

Step 2: Install OneCite from PyPI

pip install onecite

Step 3: Run OneCite as an MCP server

# Start the MCP server (example entrypoint)
p python -m onecite

Step 4: Verify installation

onecite --help

Prerequisites and notes:

  • Ensure Python 3.10+ is available in PATH.
  • If you need to use API-based features, set your API keys or credentials as environment variables described in the mcp_config env section.
  • Depending on your environment, you might want to pin the version of onecite in a requirements.txt for reproducible deployments.

Additional notes

Tips and considerations:

  • The server can process mixed input (DOIs, titles, URLs, and IDs) and output in multiple formats. Use interactive mode for ambiguous matches to improve accuracy.
  • If you store templates for field control, place them in a known location and reference them via the API to apply consistent formatting across runs.
  • For production deployments, consider exposing the MCP server with authentication if integrating into shared pipelines.
  • If you run into network-related data-source limits, you may need to configure retries or rate-limiting in your environment. Monitoring the server logs helps identify which data source requests are failing.
  • The npm_package field is null since OneCite is a Python package, not a Node.js package.

Related MCP Servers

Sponsor this space

Reach thousands of developers ↗