Nexarag: Democratizing Reproducible Knowledge Graph Contexts for LLM Research
Nexarag: Democratizing Reproducible Knowledge Graph Contexts for LLM Research - Published in JOSS (2026)
Science Score: 87.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
Graph-powered context engineering and visualization for researchers.
Basic Info
Statistics
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 11
- Releases: 2
Metadata Files
README.md
Overview
Nexarag is an open-source platform for building knowledge graphs from research papers and querying them with AI, enabling transparent and reproducible literature analysis without the hallucinations of traditional RAG systems. Deploy locally with full privacy control or integrate with any LLM via the standardized Model Context Protocol (MCP).
See also: * Usage and Development Guides * Contribution Guidelines
Feedback
We’d love your feedback on Nexarag, including bug reports, feature requests, documentation fixes, and tutorial or training-material ideas.
Bugs and feature requests: open an issue on GitHub: https://github.com/KevinMoonLab/Nexarag/issues
Please include:- what you expected vs. what happened
- steps to reproduce (or a minimal example)
- OS + Docker version (and GPU details if relevant)
- relevant logs or screenshots
Private or security-sensitive reports: email us at
nexarag.ai@gmail.com
If possible, include the same details as above and note why it should not be posted publicly.
Test Coverage
Pre-Requisites
- Docker
- (Windows Only) WSL2
- (MacOS Only) Ollama Desktop
- (Optional) Claude Desktop (for MCP)
Quick Start
Follow the instructions below or visit our YouTube channel for detailed tutorials:
1. Download Docker compose file
Choose a Dockerfile compatible with your OS and hardware:
[Optional]: Move the Docker compose file to a location on your drive, e.g. ~/Nexarag.
2. Run Nexarag
From the same directory as the downloaded docker-compose.yml, run:
bash
docker compose up -d
Visit Nexarag in your browser at http://localhost:5000 (or 5100 on MacOS).
3. Pull Ollama Models
To support all internal features, Nexarag requires:
- An embedding model, such as
nomic-embed-text:v1.5 - A language model, such as
gemma3:1b - An MCP-capable model, such as
qwen3:8b
Browse the full library of Ollama models here and choose any model from these families that your hardware supports. Defaults that run on most hardware are provided below.
Linux/WSL
Models can be pulled through the command line in the ollama Docker container.
bash
docker exec -it nexarag.ollama /bin/bash
ollama pull nomic-embed-text:v1.5
ollama pull gemma3:1b
ollama pull qwen3:8b
MacOS
Pull models directly from your command line.
bash
ollama pull nomic-embed-text:v1.5
ollama pull gemma3:1b
ollama pull qwen3:8b
4. (Optional) MCP Integration
Claude Desktop
Add the following to your Claude Desktop Config:
json
{
"mcpServers": {
"nexarag": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:9000/mcp"
],
"env": {
"MCP_TRANSPORT_STRATEGY": "http-only"
}
}
}
}
Ollama
First install pipx, then run:
bash
pipx install ollmcp
To start the MCP client:
bash
ollmcp -u http://localhost:9000/mcp -m qwen3:8b
Semantic Scholar
Please note that we are rate-limited by the Semantic Scholar API, so enriching BibTex uploads with data and updating the graph after adding papers from a Semantic Scholar search may take several minutes to complete.
Owner
- Name: Kevin Moon Research Lab
- Login: KevinMoonLab
- Kind: organization
- Location: United States of America
- Website: https://sites.google.com/a/umich.edu/kevin-r-moon/
- Repositories: 1
- Profile: https://github.com/KevinMoonLab
Code for the methods developed in our lab
JOSS Publication
Nexarag: Democratizing Reproducible Knowledge Graph Contexts for LLM Research
Authors
Brigham Young University, Provo, UT
Independent Researcher
Utah State University, Logan, UT
Tags
knowledge-graphs RAG LLM Neo4j MCPGitHub Events
Total
- Delete event: 13
- Pull request event: 14
- Fork event: 1
- Issues event: 18
- Watch event: 1
- Issue comment event: 5
- Public event: 1
- Push event: 79
- Create event: 15
Last Year
- Delete event: 13
- Pull request event: 14
- Fork event: 1
- Issues event: 18
- Watch event: 1
- Issue comment event: 5
- Public event: 1
- Push event: 79
- Create event: 15
Issues and Pull Requests
Last synced: 3 months ago
All Time
- Total issues: 12
- Total pull requests: 8
- Average time to close issues: about 1 month
- Average time to close pull requests: about 1 month
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.13
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 8
- Average time to close issues: about 1 month
- Average time to close pull requests: about 1 month
- Issue authors: 2
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.13
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ben-n-fuller (11)
- tjkerby (1)
Pull Request Authors
- ben-n-fuller (5)
- tjkerby (3)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- python 3.11-slim build
- neo4j latest
- ollama/ollama latest
- rabbitmq 3.11-management
- python 3.11-slim build
- python 3.11-slim build
- python 3.11-slim build
- neo4j latest
- nexarag.api latest
- nexarag.db latest
- nexarag.frontend latest
- nexarag.kg latest
- rabbitmq 3.11-management
- neo4j latest
- nexarag.api latest
- nexarag.db latest
- nexarag.frontend latest
- nexarag.kg latest
- ollama/ollama latest
- rabbitmq 3.11-management
- nginx alpine build
- node 18-alpine build
- 1633 dependencies
- @angular-devkit/build-angular ~19.0.0 development
- @angular-devkit/core ~19.0.0 development
- @angular-devkit/schematics ~19.0.0 development
- @angular/cli ~19.0.0 development
- @angular/compiler-cli ~19.0.0 development
- @angular/language-service ~19.0.0 development
- @eslint/js ^9.8.0 development
- @nx/angular 20.3.3 development
- @nx/eslint 20.3.3 development
- @nx/eslint-plugin 20.3.3 development
- @nx/jest 20.3.3 development
- @nx/js 20.3.3 development
- @nx/web 20.3.3 development
- @nx/workspace 20.3.3 development
- @schematics/angular ~19.0.0 development
- @swc-node/register ~1.9.1 development
- @swc/core ~1.5.7 development
- @swc/helpers ~0.5.11 development
- @types/cytoscape-avsdf ^1.0.3 development
- @types/cytoscape-context-menus ^4.1.4 development
- @types/cytoscape-dagre ^2.3.3 development
- @types/jest ^29.5.12 development
- @types/node 18.16.9 development
- @types/plotly.js-dist-min ^2.3.4 development
- @typescript-eslint/utils ^8.13.0 development
- angular-eslint ^19.0.2 development
- autoprefixer ^10.4.20 development
- eslint ^9.8.0 development
- eslint-config-prettier ^9.0.0 development
- jest ^29.7.0 development
- jest-environment-jsdom ^29.7.0 development
- jest-preset-angular ~14.4.0 development
- nx 20.3.3 development
- postcss ^8.5.1 development
- prettier ^2.6.2 development
- tailwindcss ^3.4.17 development
- ts-jest ^29.1.0 development
- ts-node 10.9.1 development
- tslib ^2.3.0 development
- typescript ~5.6.2 development
- typescript-eslint ^8.13.0 development
- @angular/animations ~19.0.0
- @angular/common ~19.0.0
- @angular/compiler ~19.0.0
- @angular/core ~19.0.0
- @angular/forms ~19.0.0
- @angular/platform-browser ~19.0.0
- @angular/platform-browser-dynamic ~19.0.0
- @angular/router ~19.0.0
- @microsoft/signalr ^8.0.7
- @primeng/themes ^19.0.5
- angular-plotly.js ^6.0.0
- clipboard ^2.0.11
- cytoscape ^3.31.0
- cytoscape-avsdf ^1.0.0
- cytoscape-cise ^2.0.0
- cytoscape-context-menus ^4.2.1
- cytoscape-cose-bilkent ^4.1.0
- cytoscape-dagre ^2.5.0
- cytoscape-elk ^2.3.0
- katex ^0.16.22
- marked ^15.0.11
- ngx-markdown ^19.1.1
- plotly.js-dist-min ^3.0.1
- primeicons ^7.0.0
- primeng ^19.0.5
- rxjs ~7.8.0
- zone.js ~0.15.0
- 166 dependencies
- accelerate >=1.3.0,<2.0.0
- bitsandbytes >=0.45.0,<0.46.0
- ipykernel >=6.27,<7.0
- ipywidgets >=8.1.5,<9.0.0
- jupyter >=1.1.1,<2.0.0
- langchain >=0.3.14,<0.4.0
- langchain-neo4j >=0.2.0,<0.3.0
- neo4j >=5.0
- pandas >=2.0
- pymupdf4llm >=0.0.15,<0.0.18
- python >=3.10,<4.0
- python-dotenv >=1.0.1,<2.0.0
- requests >=1.0
- sentence-transformers >=3.3.1,<4.0.0
- torch >=2.5.1,<3.0.0
- tqdm >=4.56
- transformers >=4.48.0,<5.0.0
- PyMuPDF ==1.25.2
- PyYAML ==6.0.2
- SQLAlchemy ==2.0.37
- aio-pika ==9.5.4
- aiohappyeyeballs ==2.4.4
- aiohttp ==3.11.11
- aiormq ==6.8.1
- aiosignal ==1.3.2
- annotated-types ==0.7.0
- anyio ==4.8.0
- attrs ==25.1.0
- bibtexparser *
- certifi ==2024.12.14
- charset-normalizer ==3.4.1
- click ==8.1.8
- dataclasses-json ==0.6.7
- fastapi ==0.115.7
- frozenlist ==1.5.0
- greenlet ==3.1.1
- h11 ==0.14.0
- httpcore ==1.0.7
- httpx ==0.28.1
- idna ==3.10
- jsonpatch ==1.33
- jsonpointer ==3.0.0
- langchain ==0.3.15
- langchain-community *
- langchain-core ==0.3.31
- langchain-neo4j ==0.3.0
- langchain-ollama *
- langchain-text-splitters ==0.3.5
- langsmith ==0.3.1
- matplotlib *
- multidict ==6.1.0
- neo4j ==5.26.0
- neomodel ==5.4.0
- orjson ==3.10.15
- pamqp ==3.3.0
- pandas ==2.2.0
- propcache ==0.2.1
- pydantic ==2.10.6
- pydantic_core ==2.27.2
- pymupdf4llm ==0.0.17
- python-multipart ==0.0.20
- pytz ==2024.2
- requests ==2.32.3
- requests-toolbelt ==1.0.0
- scikit-learn *
- setuptools ==75.1.0
- sniffio ==1.3.1
- starlette ==0.45.3
- tenacity ==9.0.0
- torch *
- tqdm ==4.67.1
- tzdata ==2025.1
- urllib3 ==2.3.0
- uvicorn ==0.34.0
- websockets ==15.0
- wheel ==0.44.0
- yarl ==1.18.3
- zstandard ==0.23.0

