MCP server integrating Zotero, Obsidian, and NotebookLM for AI-assisted research workflows and literature management.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window โ this can mean a slow first-time install rather than a real problem.
uvx research-hub-pipelineNo response to initialize.
This is an experimental automated check and can have false negatives โ missing environment variables, a slow cold install, etc. It doesnโt necessarily mean somethingโs wrong. Last checked 1mo ago.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Research Hub.
Turn your research stack into an AI-operable workspace. Use Zotero, Obsidian, and NotebookLM together, or start with any two. research-hub gives your AI assistant a real CLI, MCP server, REST API, and dashboard for repeatable literature workflows.

Traditional Chinese: README.zh-TW.md | Watch the full-res mp4
๐ Part of the agentic AI learning roadmap โ a 7-stage curated path for building agentic AI, multilingual (zh-TW ยท zh-Hans ยท English). This workspace is referenced in ยง13 (research workflow skills).
๐งช Real-use signal: in daily use by 1 PhD researcher (Lehigh CEE) tracking 7+ research clusters across Zotero + Obsidian + NotebookLM. Shipping since Apr 2026, docs updated for v0.95.0.
For a real research-hub vault with Zotero / Obsidian / NotebookLM integration, pick the install path matching your stack in ยง Start Here.
These are generated by a real research-hub vault, not mockups.
Obsidian paper note: Markdown note with title, authors, DOI, Zotero key, tags, cluster, status, and verification metadata.
Obsidian Bases dashboard: generated .base file with sortable paper
metadata and reading status.
Obsidian graph view: managed topic folders and labels can be colored with
research-hub vault graph-colors --refresh.
Generated crystals are also plain Markdown notes under
hub/<cluster>/crystals/*.md, so they can be linked, searched, and read
by MCP tools at low token cost.
research-hub does not replace Zotero, Obsidian, or NotebookLM. It connects them so an AI agent can operate the workflow.
| What you can do | Zotero alone | NotebookLM alone | Generic RAG | Obsidian-Zotero plugin | research-hub |
|---|---|---|---|---|---|
| Search arXiv + Semantic Scholar in one command | No | No | DIY | No | Yes |
| Ingest into Zotero and Obsidian and NotebookLM | No | No | DIY | Partial | Yes |
| AI brief from your collection | No | Manual | DIY | No | Yes |
| Cached canonical answers | No | No | Re-fetches | No | Yes |
| Structured memory layer | No | No | Usually chunks | No | Yes |
| Direct AI-agent control via MCP | No | No | DIY | No | Yes |
| Live dashboard with action buttons | No | No | No | No | Yes |
| Per-cluster Obsidian Bases dashboard | No | No | No | No | Yes |
| No OpenAI/Anthropic API key required | n/a | Yes | Usually no | n/a | Yes |
| Local-first vault you own | Partial | No | Depends | Yes | Yes |
The practical fit: research-hub is most useful if you already use at least two of Zotero, Obsidian, and NotebookLM and want your AI assistant to run the repetitive steps.
Pick the path with the fewest moving parts. You can add Zotero, NotebookLM, MCP, or AI-host skills later.
| Goal | Accounts needed | Commands |
|---|---|---|
| Preview the dashboard only | None | pip install research-hub-pipeline then research-hub dashboard --sample |
| Try a demo vault | None | pip install research-hub-pipeline then research-hub init --sample |
| Work from local PDFs/DOCX/Markdown | Obsidian optional | pip install "research-hub-pipeline[import,secrets]" then research-hub setup --persona analyst |
| Zotero + Obsidian, no browser automation | Zotero | pip install "research-hub-pipeline[secrets]" then research-hub setup --skip-login |
| Full Zotero + Obsidian + NotebookLM loop | Zotero + Google | pip install "research-hub-pipeline[playwright,secrets]" then research-hub setup |
| Autonomous agent bootstrap | Existing vault or target folder | python -m research_hub setup --autonomous --vault ./vault --persona agent |
After setup, run:
For the first real ingestion, keep NotebookLM out of the path until Zotero and Obsidian are healthy:
Then enable NotebookLM after the browser login works:
research-hub setup also prints these next steps when it finishes.
| Item | Needed when | How to handle it |
|---|---|---|
| Python 3.10+ | Always | Use the same Python that runs pip install research-hub-pipeline |
| Zotero API key + library ID | Zotero-backed paper ingestion | Set ZOTERO_API_KEY and ZOTERO_LIBRARY_ID, then run research-hub doctor |
| Obsidian vault | Markdown note workflow | Point setup at a folder you can open in Obsidian; it is still plain Markdown |
| NotebookLM browser login | NotebookLM upload/generate/download | Run research-hub notebooklm login --auto-detect; Google OAuth still requires a visible human sign-in |
| LLM CLI for relevance judging | research-hub auto default path | Install claude, codex, gemini, opencode, aichat, cursor, configure a custom adapter, or pass --no-fit-check |
| AI-host integration | Claude/Codex/Cursor/Gemini/OpenClaw/etc. | Use MCP/REST for tool-calling hosts; use research-hub install --platform ... only for verified skill installer targets |
These variables are required only for Zotero-backed workflows. Local file import, sample dashboards, MCP server startup, and REST API inspection can run without them.
| Name | Required | Purpose |
|---|---|---|
ZOTERO_API_KEY | yes | Zotero web API auth, required for paper ingestion |
ZOTERO_LIBRARY_ID | yes | Zotero library identifier |
SEMANTIC_SCHOLAR_API_KEY | no | Uses an S2 API key and defaults to a conservative ~1 request/sec throttle |
SEMANTIC_SCHOLAR_RPS | no | Optional S2 request-rate override; leave unset unless your key has a different quota |
TAVILY_API_KEY | no | Web search backend (alternative to DDG) |
BRAVE_API_KEY | no | Web search backend (alternative to DDG) |
Semantic Scholar searches are deliberately paced. Without
SEMANTIC_SCHOLAR_API_KEY, research-hub uses a slower anonymous delay
because public traffic shares capacity. With a key, the default is
approximately one request per second and 429 responses are retried with
Retry-After / exponential backoff. If Semantic Scholar grants your key
a different quota, set SEMANTIC_SCHOLAR_RPS instead of editing code.
research-hub has two AI-facing integration layers:
| Layer | Best for | Current status |
|---|---|---|
| MCP / REST | Claude Desktop, Claude Code, Cursor, Continue.dev, Cline, Roo Code, VS Code Copilot, OpenClaw, and other tool-calling hosts | Host-agnostic; configure the MCP server or call the REST API |
Installed SKILL.md files | Claude Code, Codex, Cursor, Gemini | Built-in installer targets via research-hub install --platform ... |
Manual SKILL.md loading | Hermes, OpenClaw, other agents with skill/rules directories | Copy or reference the bundled skill directories manually; not release-verified as installer targets |
For Claude Desktop, Cursor, Continue.dev, Cline, VS Code Copilot, OpenClaw, or another MCP host, configure the MCP server:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/wenyuchiou-research-hub)<a href="https://allmcps.com/mcp/wenyuchiou-research-hub"><img src="https://allmcps.com/api/badge/wenyuchiou-research-hub?style=directory" alt="Research Hub on AllMCPs" /></a>