
onecite
io.github.HzaCode/onecite
Generate academic citations from DOI, arXiv, titles, or URLs in BibTeX, APA, MLA formats.
Documentation
OneCite
The Universal Citation & Academic Reference Toolkit
β¨ Features β’ π Quick Start β’ π Advanced Usage β’ π€ AI Integration β’ π€ Contributing
OneCite is a powerful command-line tool and Python library designed to automate the tedious process of citation management. Feed it anythingβDOIs, paper titles, arXiv IDs, or even a mixβand get clean, accurate bibliographic entries in return.
π OneCite for Web is coming soon at hezhiang.com/onecite
β¨ Features
Feature | Description |
---|---|
π Smart Recognition | Fuzzy matching against multiple academic databases to find references from incomplete or inaccurate info. |
π Universal Formats | Input .txt /.bib β Output BibTeX, APA, or MLA formats with ease. |
π― High-Accuracy Pipeline | A 4-stage process (clean β query β validate β format) ensures the highest quality output. |
π€ Auto-Completion | Automatically enriches entries by filling in missing data like journal, volume, pages, and authors. |
π 7+ Citation Types | Handles journal articles, conference papers, books, software, datasets, theses, and preprints. |
π§ Intelligent Routing | Auto-detects content type and domain (Medical/CS/General) for optimal data retrieval. |
π Universal Identifiers | Accepts DOI, PMID, arXiv ID, ISBN, GitHub URL, Zenodo DOI, or even plain text queries. |
ποΈ Interactive Mode | Manually select the correct entry when multiple potential matches are found. |
βοΈ Custom Templates | A YAML-based template system provides complete control over the final output format. |
π Data Sources
π Quick Start
Get up and running with OneCite in under a minute.
1. Installation
# Recommended: Install from PyPI
pip install onecite
2. Create an Input File
Create a file named references.txt
with your mixed-format references:
# references.txt
# β οΈ Important: Add blank lines between entries to avoid misidentification
10.1038/nature14539
Attention is all you need, Vaswani et al., NIPS 2017
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
https://github.com/tensorflow/tensorflow
10.5281/zenodo.3233118
arXiv:2103.00020
Smith, J. (2020). Neural Architecture Search. PhD Thesis. Stanford University.
3. Run OneCite
Execute the command to process your file and generate a clean .bib
output.
onecite process references.txt -o results.bib --quiet
4. Get Perfectly Formatted Output
Your results.bib
file now contains 7 perfectly formatted entries of different types.
π View Complete Output (results.bib)
@article{LeCun2015Deep,
doi = "10.1038/nature14539",
title = "Deep learning",
author = "LeCun, Yann and Bengio, Yoshua and Hinton, Geoffrey",
journal = "Nature",
year = 2015,
volume = 521,
number = 7553,
pages = "436-444",
publisher = "Springer Science and Business Media LLC",
url = "https://doi.org/10.1038/nature14539",
type = "journal-article",
}
@inproceedings{Vaswani2017Attention,
arxiv = "1706.03762",
title = "Attention Is All You Need",
author = "Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N. and Kaiser, Lukasz and Polosukhin, Illia",
year = 2017,
journal = "arXiv preprint",
url = "https://arxiv.org/abs/1706.03762",
}
# ... and 5 more entries ...
π Advanced Usage
π¨ Multiple Output Formats (APA, MLA)
# Generate APA formatted citations
onecite process refs.txt --output-format apa
# β LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444.
# Generate MLA formatted citations
onecite process refs.txt --output-format mla
# β LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep Learning." Nature 521.7553 (2015): 436-444.
π€ Interactive Disambiguation
For ambiguous entries, use the --interactive
flag to manually select the correct match and ensure accuracy.
Command:
onecite process ambiguous.txt --interactive
Example Interaction:
Found multiple possible matches for "Deep learning Hinton":
1. Deep learning
Authors: LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey
Journal: Nature, 2015
DOI: 10.1038/nature14539
2. Deep belief networks
Authors: Hinton, Geoffrey E.
Journal: Scholarpedia, 2009
DOI: 10.4249/scholarpedia.5947
Please select (1-2, 0=skip): 1
β
Selected: Deep learning
π Use as a Python Library
Integrate OneCite's processing power directly into your Python scripts.
from onecite import process_references
# A callback can be used for non-interactive selection (e.g., always choose the best match)
def auto_select_callback(candidates):
return 0 # Index of the best candidate
result = process_references(
input_content="Deep learning review\nLeCun, Bengio, Hinton\nNature 2015",
input_type="txt",
output_format="bibtex",
interactive_callback=auto_select_callback
)
print(result['output_content'])
π€ AI Assistant Integration (MCP)
OneCite provides complete Model Context Protocol (MCP) support, enabling AI assistants to directly use its functionality for literature search, processing, and formatting.
π Setup & Usage
1. Installation & Testing
# Install OneCite (includes MCP server)
pip install onecite
# Test the MCP server
onecite-mcp
2. Configure Your AI Assistant
For Claude Desktop
Add the following to claude_desktop_config.json
:
{
"mcpServers": { "onecite": { "command": "onecite-mcp" } }
}
For Cursor
Add the following to .cursor/settings.json
:
{
"mcpServers": { "onecite": { "command": "onecite-mcp" } }
}
Restart your editor to enable the integration.
3. Available Functions & Examples
cite
: Generate a single citation (e.g., "Generate an APA citation for DOI: 10.1038/nature14539").batch_cite
: Process a list of references (e.g., "Batch process these references in BibTeX format").search
: Search academic literature by keywords (e.g., "Search for papers on machine learning").
π€ Contributing
Contributions are always welcome! Please see CONTRIBUTING.md for development guidelines and instructions on how to submit a pull request.
π License
This project is licensed under the MIT License. See the LICENSE file for details.
OneCite: The all-in-one toolkit for every academic reference.
β Star on GitHub β’ π Try the Web App β’ π Report an Issue β’ π¬ Start a Discussion
onecite
pip install onecite