CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Research Hub

wenyuchiou/research-hub
25STDIOregistry active
Summary

If you run Zotero, Obsidian, and NotebookLM together and want Claude to handle the repetitive pipeline work, this is the glue layer. It exposes MCP tools for searching arXiv and Semantic Scholar, ingesting papers into all three systems, syncing notes, generating AI briefs, and caching canonical answers as structured Markdown crystals. The package includes a live dashboard, a REST API, and per-cluster Obsidian Bases views. It's built for literature workflow automation: the kind where you're tracking seven research clusters and need an agent to run the ingest, verify, and sync steps without copy-pasting between tools. Ships with stdio transport and works without OpenAI keys if you're using NotebookLM for generation.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

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.

research-hub dashboard demo, real screen recording

PyPI Python License: MIT Mentioned in Awesome MCP Servers

Zotero Obsidian NotebookLM

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.


Quick start

pip install research-hub-pipeline
research-hub dashboard --sample   # preview with sample data, no accounts needed

For a real research-hub vault with Zotero / Obsidian / NotebookLM integration, pick the install path matching your stack in § Start Here.


Contents

  1. Quick start
  2. Real Screenshots
  3. Is this for me?
  4. Start Here
  5. First-Run Checklist
  6. Credential Reference
  7. Connect your AI host
  8. Why this exists
  9. What it does
  10. Operator Modes
  11. Dashboard tour
  12. Inside Zotero
  13. Feature matrix
  14. Troubleshooting
  15. Known limitations
  16. Docs + Status + Dev
  17. License

Real Screenshots

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.

Single paper note rendered with Properties view

Obsidian Bases dashboard: generated .base file with sortable paper metadata and reading status.

Obsidian Bases dashboard for a cluster

Obsidian graph view: managed topic folders and labels can be colored with research-hub vault graph-colors --refresh.

Obsidian graph view with research-hub color groups

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.


Is this for me? — vs alternatives

research-hub does not replace Zotero, Obsidian, or NotebookLM. It connects them so an AI agent can operate the workflow.

What you can doZotero aloneNotebookLM aloneGeneric RAGObsidian-Zotero pluginresearch-hub
Search arXiv + Semantic Scholar in one commandNoNoDIYNoYes
Ingest into Zotero and Obsidian and NotebookLMNoNoDIYPartialYes
AI brief from your collectionNoManualDIYNoYes
Cached canonical answersNoNoRe-fetchesNoYes
Structured memory layerNoNoUsually chunksNoYes
Direct AI-agent control via MCPNoNoDIYNoYes
Live dashboard with action buttonsNoNoNoNoYes
Per-cluster Obsidian Bases dashboardNoNoNoNoYes
No OpenAI/Anthropic API key requiredn/aYesUsually non/aYes
Local-first vault you ownPartialNoDependsYesYes

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.


Start Here

Pick the path with the fewest moving parts. You can add Zotero, NotebookLM, MCP, or AI-host skills later.

GoalAccounts neededCommands
Preview the dashboard onlyNonepip install research-hub-pipeline then research-hub dashboard --sample
Try a demo vaultNonepip install research-hub-pipeline then research-hub init --sample
Work from local PDFs/DOCX/MarkdownObsidian optionalpip install "research-hub-pipeline[import,secrets]" then research-hub setup --persona analyst
Zotero + Obsidian, no browser automationZoteropip install "research-hub-pipeline[secrets]" then research-hub setup --skip-login
Full Zotero + Obsidian + NotebookLM loopZotero + Googlepip install "research-hub-pipeline[playwright,secrets]" then research-hub setup
Autonomous agent bootstrapExisting vault or target folderpython -m research_hub setup --autonomous --vault ./vault --persona agent

After setup, run:

research-hub doctor
research-hub serve --dashboard

For the first real ingestion, keep NotebookLM out of the path until Zotero and Obsidian are healthy:

research-hub auto "agent-based modeling" --max-papers 3 --no-nlm

Then enable NotebookLM after the browser login works:

research-hub notebooklm login --auto-detect
research-hub notebooklm bundle --cluster <slug>
research-hub notebooklm upload --cluster <slug>
research-hub notebooklm generate --cluster <slug> --type brief
research-hub notebooklm download --cluster <slug>

research-hub setup also prints these next steps when it finishes.

First-Run Checklist

ItemNeeded whenHow to handle it
Python 3.10+AlwaysUse the same Python that runs pip install research-hub-pipeline
Zotero API key + library IDZotero-backed paper ingestionSet ZOTERO_API_KEY and ZOTERO_LIBRARY_ID, then run research-hub doctor
Obsidian vaultMarkdown note workflowPoint setup at a folder you can open in Obsidian; it is still plain Markdown
NotebookLM browser loginNotebookLM upload/generate/downloadRun research-hub notebooklm login --auto-detect; Google OAuth still requires a visible human sign-in
LLM CLI for relevance judgingresearch-hub auto default pathInstall claude, codex, gemini, opencode, aichat, cursor, configure a custom adapter, or pass --no-fit-check
AI-host integrationClaude/Codex/Cursor/Gemini/OpenClaw/etc.Use MCP/REST for tool-calling hosts; use research-hub install --platform ... only for verified skill installer targets

Credential Reference

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.

NameRequiredPurpose
ZOTERO_API_KEYyesZotero web API auth, required for paper ingestion
ZOTERO_LIBRARY_IDyesZotero library identifier
SEMANTIC_SCHOLAR_API_KEYnoUses an S2 API key and defaults to a conservative ~1 request/sec throttle
SEMANTIC_SCHOLAR_RPSnoOptional S2 request-rate override; leave unset unless your key has a different quota
TAVILY_API_KEYnoWeb search backend (alternative to DDG)
BRAVE_API_KEYnoWeb 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.

Connect your AI host

research-hub has two AI-facing integration layers:

LayerBest forCurrent status
MCP / RESTClaude Desktop, Claude Code, Cursor, Continue.dev, Cline, Roo Code, VS Code Copilot, OpenClaw, and other tool-calling hostsHost-agnostic; configure the MCP server or call the REST API
Installed SKILL.md filesClaude Code, Codex, Cursor, GeminiBuilt-in installer targets via research-hub install --platform ...
Manual SKILL.md loadingHermes, OpenClaw, other agents with skill/rules directoriesCopy 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:

{ "mcpServers": { "research-hub": { "command": "research-hub", "args": ["serve"] } } }

Restart the host. Then ask naturally:

Find me 5 papers on agent-based modeling and put them in a notebook.

The AI can call auto_research_topic(topic="agent-based modeling", max_papers=5) and ingest papers, generate a NotebookLM brief, and update the vault.

Install host-specific skill files for the platforms with known default skill directories:

research-hub install --platform claude-code
research-hub install --platform cursor
research-hub install --platform codex
research-hub install --platform gemini

OpenClaw, Hermes, and other agents can still use research-hub through MCP/REST. If the host supports SKILL.md-style directories or rules files, copy the bundled directories from skills/ or inline the relevant SKILL.md into the host's instructions. research-hub install --platform does not currently verify those hosts.

Browser-only or HTTP-capable AIs can use the REST API after starting the local server with research-hub serve --dashboard:

curl -X POST http://127.0.0.1:8765/api/v1/plan \
     -H "Content-Type: application/json" \
     -d "{\"intent\":\"research harness engineering\"}"

Full reference: MCP tools, AI integrations, AI host support matrix, and live smoke checklist.


Why this exists

Most research tools are good at one part of the workflow:

  • Zotero stores citations, metadata, and PDFs.
  • Obsidian stores notes, links, and synthesis.
  • NotebookLM turns source bundles into AI-readable briefs.

The painful part is the handoff. research-hub connects those handoffs so an AI agent can search, ingest, tag, summarize, repair, brief, and inspect your workspace without turning your library into an opaque RAG box.

You do not need all three tools on day one.

Your current stackWhat research-hub gives you first
Zotero + ObsidianPaper search, Zotero metadata, Markdown notes, tags, Obsidian Bases dashboards
Obsidian + NotebookLMLocal PDF/DOCX/MD/TXT ingest, cluster dashboards, NotebookLM bundles and briefs
Zotero + NotebookLMZotero-backed paper selection, namespaced tags, NotebookLM upload/generate/download
Zotero + Obsidian + NotebookLMFull loop: discover -> ingest -> organize -> brief -> answer -> maintain
No accounts yetSample dashboard and local smoke tests before connecting anything

What it does

research-hub is a local-first orchestration layer for research workflows:

  • CLI: research-hub auto, import-folder, ask, doctor, tidy, clusters, zotero, notebooklm, crystal, and more.
  • MCP server: lets Claude Desktop, Claude Code, Cursor, Continue.dev, Cline, Roo Code, OpenClaw, and other MCP hosts operate the same workflow.
  • REST API: exposes /api/v1/* for browser-only or HTTP-capable assistants.
  • Portable skill pack: SKILL.md workflow instructions can be installed directly for Claude Code, Codex, Cursor, and Gemini, or copied manually into hosts that support skill/rules directories.
  • Dashboard: gives humans a live view of clusters, papers, diagnostics, briefs, writing support, and management actions.
  • Vault format: writes normal Markdown, frontmatter, .base dashboards, cache files, and logs that you can inspect directly.
  • Authenticity gate (v0.95+): every discovered paper must resolve to a real identifier (DOI / arXiv / PMID), pass integrity and relevance checks, or it is quarantined with a recorded reason and never written to the vault. No fabricated references — inspect rejects with research-hub quarantine list.

The core loop:

topic or source folder
  -> discover or import sources
  -> verify authenticity (resolve + integrity + relevance) or quarantine
  -> enrich metadata
  -> write Zotero tags/notes when enabled
  -> write Obsidian Markdown notes and cluster dashboards
  -> bundle/upload/generate with NotebookLM when enabled
  -> cache answers as crystals and structured memory

Operator Modes

research-hub supports both human-first and agent-first setup.

For a human researcher, research-hub setup runs the onboarding wizard, installs host-specific skills when it can detect the host, optionally launches NotebookLM login, and offers a small sample run.

For an autonomous agent or Cowork-style host:

pip install research-hub-pipeline
python -m research_hub describe > capabilities.json
python -m research_hub setup --autonomous --vault ./vault --persona agent
# emits BootstrapReport JSON; exit code 0 if ready, 1 otherwise

Then drive operations via CLI --json mode or the bundled MCP server (research-hub-mcp). All report-shaped commands accept --json; capability introspection lives in research-hub describe.

NotebookLM boundary. NotebookLM upload still requires one-time human-driven browser-based Google OAuth. Headless agents can prepare bundles and read downloaded briefs, but they cannot complete Google's first sign-in or phone challenge by themselves.

Relevance judge boundary. auto_research_topic and research-hub auto run a fail-closed relevance check by default. With no supported LLM CLI and no --no-fit-check, auto stops before search and prints the fix instead of silently producing an empty vault.

PersonaBest forInstall extra
ResearcherSTEM papers, DOI/arXiv, Zotero-first workflows[playwright,secrets]
Humanitiesbooks, quotes, URL-only sources, Zotero + Obsidian[playwright,secrets]
Analystindustry research, local PDFs/reports, no Zotero required[import,secrets]
Internal KMlab/company knowledge bases, mixed file types[import,secrets]

Field presets for discover new, search, and related planning flows are cs, bio, med, physics, math, social, econ, chem, astro, edu, and general. There is no hydrology preset; use general intentionally.


Dashboard tour

research-hub serve --dashboard opens http://127.0.0.1:8765/.

Overview: treemap over clusters, storage map, and health summary.

Overview

Library: per-cluster drill-down with papers, sub-topics, and per-paper actions.

Library

Diagnostics: grouped drift alerts and readiness checks.

Diagnostics

Manage: CLI actions as buttons, inline result drawer, confirmation modal, and per-paper row actions.

Manage

Briefings and Writing tabs are also available. See the dashboard walkthrough and persona variants.


Inside Zotero

Every ingested paper gets a namespaced tag set so you can filter your library by research-hub context:

TagMeaning
research-hubIngested through this pipeline
cluster/<slug>Which research cluster the paper belongs to
category/<arxiv-code>arXiv category like cs.AI or econ.GN
type/<publication-type>Review, JournalArticle, etc. from Semantic Scholar
src/<backend>Search backend that discovered it: arxiv, semantic_scholar, crossref, zotero

Every paper can also get a child note with Summary / Key Findings / Methodology / Relevance, derived from the Obsidian frontmatter. Papers that were in Zotero before research-hub existed can be backfilled with:

research-hub zotero backfill --tags --notes --apply

Feature matrix

CapabilityCommand or MCP toolNotes
One-shot setupresearch-hub setupinit + install + optional NotebookLM login + guided sample run
Lazy research pipelineresearch-hub auto "topic" / auto_research_topicSearch, ingest, bundle, upload, generate, download
Authenticity quarantine reviewresearch-hub quarantine list / show <id> / restore <id>Inspect and optionally restore papers the authenticity gate rejected (with the failing layer + reason)
Plan before runningresearch-hub plan "intent" / plan_research_workflowSuggests field, cluster slug, and max papers
Zotero hygieneresearch-hub zotero backfill --tags --notes [--apply]Fills missing tags and notes on legacy items
Cluster cascade deleteresearch-hub clusters delete <slug> [--apply --force]Preview impact on Obsidian, Zotero, dedup, memory, and crystals
No-NotebookLM smoke testresearch-hub auto "topic" --no-nlmValidates search and vault ingest without browser automation
Local file ingestresearch-hub import-folder <folder> --cluster <slug>PDF, DOCX, MD, TXT, URL
Ad-hoc cluster Q&Aresearch-hub ask <cluster> "question" / ask_cluster_notebooklmTop-level CLI takes cluster first, then question
NotebookLM operationsresearch-hub notebooklm upload --cluster <slug>Browser automation with persistent Chrome
Pre-computed crystalsresearch-hub crystal emit --cluster <slug>Canonical answers cached as Markdown
Structured memoryresearch-hub memory emit --cluster <slug>Entities, claims, methods
Live dashboardresearch-hub serve --dashboardHTTP dashboard with action buttons
Sample previewresearch-hub dashboard --sampleTemporary bundled vault, no accounts
Lazy maintenanceresearch-hub tidyDoctor, dedup, bases refresh, cleanup preview
Garbage collectionresearch-hub cleanup --all --applyBundles, debug logs, stale artifacts
Cluster repairresearch-hub clusters rebind --emit then --applyRebinds orphaned notes
Obsidian Basesresearch-hub bases emit --cluster <slug>Generated .base dashboard
Web searchresearch-hub websearch "query" / web_searchTavily, Brave, Google CSE, DDG fallback

Troubleshooting

SymptomCauseFix
research-hub init reports Chrome warningsChrome is missing or patchright cannot find itInstall Chrome, then run research-hub doctor
research-hub notebooklm login opens a browser but Google blocks loginNew-device or bot challengeComplete the visible browser sign-in and phone challenge
research-hub auto finds 0 papers / empty vaultTopic too narrow OR papers were quarantined by the authenticity gate (unresolved DOI, failed integrity, or relevance-unjudged)Re-run with --max-papers 20 / rephrase; run research-hub quarantine list to see rejected papers + reasons
research-hub auto stops before searching: "no relevance judge on PATH"Fail-closed relevance check and no supported LLM CLI foundInstall a judge CLI, or re-run with --no-fit-check to skip relevance judging
NotebookLM upload or generate failsNotebookLM UI changed or login expiredRun research-hub notebooklm login --auto-detect; then resume with research-hub notebooklm bundle/upload/generate/download --cluster <slug>
notebooklm upload worked yesterday and now fails on authGoogle's __Secure-1PSIDTS / PSIDRTS cookies expire roughly every 3.5h; notebooklm keepalive cannot refresh them server-sideRe-run research-hub notebooklm login --auto-detect — the browser opens, the cookies refresh on sign-in, the session saves automatically (no terminal interaction). Takes < 1 minute
auto --with-crystals cannot find an LLM CLINo supported LLM CLI is on PATHInstall one, configure a custom adapter, or use crystal emit and crystal apply manually
Claude Desktop cannot see the MCP serverMCP config is in the wrong file or host was not restartedCheck the host config path and restart Claude Desktop
init reports Zotero warnings but you do not use ZoteroPersona expects ZoteroRe-run research-hub setup --persona analyst or --persona internal
research-hub clusters delete refuses to deleteCluster has papers, notes, or Zotero itemsRe-run with --apply --force after reviewing the cascade preview
research-hub auto errors "cluster already has N papers"Cluster is non-empty and you ran auto --cluster <slug> without a flagAdd --append to add more, or --force to overwrite
Zotero items miss research-hub tags or notesItems were created before v0.61 or pipeline failed mid-runresearch-hub zotero backfill --tags --notes --apply

For broader checks, run:

research-hub doctor --autofix

Known limitations

These are platform or design boundaries, not bugs — please do not file them as issues. They are documented here so you know what to expect and which workaround to reach for.

LimitationWhat's actually happeningWhat to do
IEEE Xplore PDFs / URLs are blocked by anti-botIEEE returns an "Unable to Load Page" HTML stub to direct fetches. paper attach-pdfs can now route configured publisher PDF URLs through your institution's EZproxy and fall back to the direct URL if the proxy fails.Configure ezproxy_host_suffix (hostname-rewrite mode, recommended for most institutions) or ezproxy_url_template (legacy), run research-hub ezproxy login once, then re-run paper attach-pdfs. See EZproxy PDF access. Without EZproxy, manually attach the PDF through institutional access or skip the source.
NotebookLM session expires ~every 3.5hGoogle's short-lived __Secure-1PSIDTS / PSIDRTS cookies are not refreshable by background polling. notebooklm keepalive exists but cannot rotate them server-side.Re-run research-hub notebooklm login --auto-detect when a run reports an auth failure — < 1 minute, no terminal interaction.
--no-llm-fit-check can't filter "wrong sub-topic, right field"The no-LLM BM25 gate is designed to catch blatant cross-field contamination (e.g. pure hydrology with zero AI in an LLM cluster). It cannot tell "AI-agents-in-general" from "AI-agents-in-water-resources" — both score similarly on a lexical-only metric, so the gate is recall-biased and keeps both.For topic-specific subset filtering, use the default LLM-judge path (drop --no-llm-fit-check). The LLM-judge layer is what's designed to make semantic relevance calls.
Cluster-overview LLM auto-fill writes English headings even when the scaffold is Chinesetopic.py writes Chinese section headings (## 核心問題, ## 範圍定義, …) for the empty scaffold, but apply_overview re-renders the file with English headings (## Core Question, ## Scope, …) when the LLM fills it in.Cosmetic — content is correct. If you prefer Chinese headings on the filled overview, hand-curate the section names after the first auto-fill (the markers ensure subsequent runs preserve your edits).
auto_pipeline() Python API stays opt-in for PDFs (CLI is opt-out)Programmatic callers — tests, library users — get with_pdfs=False by default so the PDF-attach network round-trips don't fire silently. The CLI hands in True from BooleanOptionalAction.If you call auto_pipeline() directly and want PDFs attached, pass with_pdfs=True explicitly. CLI users get the default-on behaviour automatically; use --no-with-pdfs to opt out.
Slow / blocked publisher URLs sometimes poison the NotebookLM bundleSome publishers (Wiley paywalls, Frontiers oddly-routed PDFs, IEEE) return either a thin stub or an HTML error page that the bundle ladder admits because the URL pre-check passed. Downstream NotebookLM grounds on the stub instead of the paper.Run auto and inspect the [warn] N source(s) look like they did not ingest content block. Replace the listed URLs with PDFs uploaded to the NotebookLM web UI for those papers.

Docs + Status + Dev

Docs: First 10 minutes, lazy mode, dashboard walkthrough, MCP tools, AI host support matrix, live smoke checklist, personas, NotebookLM setup, EZproxy PDF access, import folder, CLI reference, CHANGELOG.

Status:

  • Current docs target: v0.95.0; see CHANGELOG for package history, docs/stable-api.md for the supported API surface, and docs/file-formats.md for parseable state-file schemas.
  • MCP tools: inspect the live list with python -m research_hub describe --filter mcp_tools.
  • REST endpoints: 12 at /api/v1/*.
  • Bundled skills: inspect the live list with python -m research_hub describe --filter skills.

Developer setup:

git clone https://github.com/WenyuChiou/research-hub.git
cd research-hub
pip install -e ".[dev,playwright]"
python -m pytest -q

Contributing: CONTRIBUTING.md. Package on PyPI: research-hub-pipeline. CLI entry point: research-hub.

License

MIT. See LICENSE.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Documents & KnowledgeSearch & Web Crawling
Registryactive
Packageresearch-hub-pipeline
TransportSTDIO
UpdatedMay 26, 2026
View on GitHub

Related Documents & Knowledge MCP Servers

View all →
Pdf Document Mcp

csoai-org/pdf-document-mcp

pdf-document-mcp MCP server by MEOK AI Labs
Mcp Document Converter

xt765/mcp-document-converter

Convert PDF, DOCX, HTML, Markdown, and Text for AI assistant context injection.
10
Markdown Formatter

io.github.xjtlumedia/markdown-formatter

AI Answer Copier — Convert Markdown to PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG
3
Better Notion

io.github.ai-aviate/better-notion

Operate Notion with a single Markdown document — read, create, and update pages in one call.
2
Notion

suekou/mcp-notion-server

Notion MCP Server enables LLMs to access Notion workspaces with optional Markdown conversion to save tokens.
892
Docx

meterlong/mcp-doc

A powerful Word document processing service based on FastMCP, enabling AI assistants to create, edit, and manage docx files with full formatting support. Preserves original styles when editing content. 基于FastMCP的强大Word文档处理服务,使AI助手能够创建、编辑和管理docx文件,支持完整的格式设置功能。在编辑内容时能够保留原始样式和格式,实现精确的文档操作。
185