Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Generate academic citations from DOI, arXiv, titles, or URLs in BibTeX, APA, MLA formats.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"onecite": {
"command": "uvx",
"args": [
"onecite"
]
}
}
}Run this in your terminal
claude mcp add onecite -- uvx onecitePaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"onecite": {
"command": "uvx",
"args": [
"onecite"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"onecite": {
"type": "stdio",
"command": "uvx",
"args": [
"onecite"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account HzaCode, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.0.11) reached the registry 13 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Tools MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
OneCite Auditable citation normalization for research workflows
Features • Quick Start • Privacy & External Services • 📖 Advanced Usage • 🗺️ Roadmap • 🤝 Contributing
OneCite is a command-line and Python toolkit that turns messy, mixed-format references — DOIs, PMIDs, arXiv IDs, ISBNs, URLs, and BibTeX fragments — into auditable BibTeX or CSL-JSON records. Strong identifiers follow documented metadata-service routes; ordinary ambiguous plain-text references are returned as candidates for review and are not auto-promoted by process .
AI-assisted writing, automated literature pipelines, and copy-paste research habits produce ever more reference objects in ever more formats — and ever more chances for wrong, fabricated, or mismatched bibliographic data. Reference *managers* (Zotero), *parsers* (AnyStyle, GROBID), *format converters* (Citation.js), and *identifier-to-BibTeX* helpers (doi2bib, Manubot) each solve one slice of the problem. OneCite targets the under-served step before references enter a manuscript, systematic review, or manager: an auditable normalization layer that routes strong identifiers (DOI, PMID, arXiv, ISBN, URL, data/software DOIs) to the applicable metadata services, completes available metadata, reports unresolved entries, and produces BibTeX or CSL-JSON.
OneCite is not another reference manager, and process does not auto-accept fuzzy title matches. Strong identifiers are resolved through documented source routes; explicitly labelled thesis/dissertation citations have a separate OpenAIRE/BASE route and can fall back to fields parsed from the input. Ordinary ambiguous text is returned as ranked candidates through onecite suggest for human review rather than silently emitted as source-resolved output. That process/suggest separation, together with machine-readable JSON/NDJSON, exit codes, and deterministic offline checks, makes OneCite a scriptable building block for agents, batch jobs, and reproducible reviews rather than a GUI library. Source resolution does not establish that a work is authentic, unretracted, or correctly described by upstream metadata.
| Feature | Description |
|---|---|
| Candidate Suggestions | Search incomplete plain-text references with onecite suggest without promoting them to resolved bibliography output. |
| Multiple Formats | Input .txt/.bib → Output BibTeX or CSL-JSON. |
| 4-stage Pipeline | A 4-stage process (parse → identify → enrich → format) with explicit unresolved entries. |
| Field Completion | Fill available fields returned by metadata sources, such as journal, volume, pages, authors, and abstract. |
| 🎓 7+ Citation Types | Handles journal articles, conference papers, books, software, datasets, theses, and preprints. |
| Input-Routed Lookup | Uses source-specific routes for Crossref, arXiv, PubMed, Semantic Scholar, Google Books, and others. Not every source is queried for every input. |
| Many Identifier Types | Resolves DOI, PMID, arXiv ID, ISBN, GitHub URL, Zenodo DOI, and DataCite DOI inputs. |
| Custom Templates | YAML-based presets that provide a fallback BibTeX entry type when auto-detection is inconclusive. |
Normal process and suggest runs can make input-dependent outbound requests. For example, DOI resolution sends the DOI to Crossref (and sometimes a fallback registry); suggest sends citation queries to Crossref, Semantic Scholar, and arXiv; arbitrary URL input is fetched from the supplied host; and thesis queries can be sent to OpenAIRE and BASE. Google Scholar is an optional, scraping-based suggest fallback that is off by default and may be blocked or challenged by a CAPTCHA.
OneCite does not provide a privacy-compliance guarantee or a persistent cache of ordinary live responses. Providers, proxies, output files, and logs may retain data. Review and redact confidential input before use. See Privacy and external services for the exact process/suggest routes, transmitted fields, source-health limits, and the offline benchmark/doctor boundary.
Install and try OneCite in a few steps.
The current public PyPI release is 0.1.1. This working tree documents the unreleased 0.2.0 candidate, so install from the checkout when verifying candidate-only behavior:
# Current stable public release
pip install onecite
python -m pip install -e .
Create a file named references.txt with your mixed-format references:
# references.txt
10.1038/nature14539
arXiv:1706.03762
ISBN:9780262035613
https://github.com/tensorflow/tensorflow
10.5281/zenodo.3233118
arXiv:2103.00020
Smith, J. (2020). Neural Architecture Search. PhD Thesis. Stanford University.
Execute the command to process your file and generate a clean .bib output.
onecite process references.txt -o results.bib --quiet
Your results.bib file now contains 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", abstract = "Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction...", } @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, booktitle = "Advances in Neural Information Processing Systems (NeurIPS)", url = "https://arxiv.org/abs/1706.03762", }
Direct String and Stdin Input
onecite process "10.1038/nature14539"
onecite suggest "Attention is all you need, Vaswani et al., NIPS 2017" echo "10.1038/nature14539" | onecite process -
</details>
🐍 Use as a Python Library
Use OneCite directly in your Python scripts.
from onecite import process_references
result = process_references( input_content="10.1038/nature14539", input_type="txt", template_name="journal_article_full", output_format="bibtex", )
print('\n\n'.join(result['results']))
</details>
💻 CLI Commands & Options
OneCite provides a command-line interface with the following commands and options:
onecite processThe main command for processing references through the OneCite pipeline.
Usage:
onecite process <input_file> [OPTIONS]
Arguments:
input_file - Input file path, - for stdin, or a strong identifier/reference stringOptions:
| Option | Short | Description | Default |
|---|---|---|---|
--input-type | Input format: txt or bib | txt | |
--template | Fallback BibTeX entry-type preset when auto-detection is inconclusive | journal_article_full | |
--output-format | Output format: bibtex or csl-json for downstream tools that consume CSL-JSON | bibtex | |
--output | -o | Output file path (default: stdout) | - |
--quiet | -q | Suppress verbose logging output | False |
--json | Print a stable JSON envelope instead of BibTeX text | False | |
--ndjson | Print newline-delimited JSON events for streaming automation workflows | False | |
--fail-on-unresolved | Return exit code 2 when any entry cannot be resolved | False |
Examples:
# Process a text file
onecite process references.txt -o results.bib
onecite process references.bib
echo "10.1038/nature14539" | onecite process -
onecite process "10.1038/nature14539"
onecite process references.txt --template conference_paper
onecite process references.txt -o results.bib --quiet
onecite process references.txt --json --fail-on-unresolved
onecite process references.txt --ndjson
Only the beginning is shown; read the rest in the repo