research-stack

Provides free local MCP tools for web search, SPA fetching, arXiv, and Scholar lookups.

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/TylerSimons1127/vibe --skill research-stack-tylersimons1127
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: research-stack
Source: https://github.com/TylerSimons1127/vibe/tree/main/skills/devops/research-stack
Command: npx skills add https://github.com/TylerSimons1127/vibe --skill research-stack-tylersimons1127

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ddgs, playwright, mcp, trafilatura.

What problem does it solve? Paid web research tools like Firecrawl stop working without credits, and scattered single-purpose search scripts are hard to maintain. This Skill consolidates web search, JavaScript-rendered page fetching, arXiv search, and Semantic Scholar citation lookups into one local MCP server that requires no API keys, no Docker, and no paid credits. ## Core Features & Use Cases - Keyless Web Search & Fetch: Search via DuckDuckGo (ddgs) and render JavaScript-heavy SPA pages with Playwright where curl or trafilatura return empty shells. - Academic Research: Query the arXiv Atom API for papers with titles, authors, and abstracts, then look up citation statistics through Semantic Scholar. - Use Case: You need to research a topic for a technical blog post. Use web_search to find sources, web_fetch to read JS-rendered documentation pages, and arxiv_search plus scholar_lookup to gather and rank relevant academic papers by citation count. ## Quick Start Register the research MCP server with hermes mcp add using the Hermes venv Python and the research_mcp_server.py path, then restart Hermes and ask the agent to search the web for a topic.

Frequently Asked Questions about research-stack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a free web search MCP server without API keys?▼

Register the research MCP server with hermes mcp add, pointing the command at the Hermes venv Python and passing research_mcp_server.py as the argument. Enable it with hermes config set, then restart Hermes since MCP servers load only at startup.

How to fetch JavaScript-rendered SPA pages when curl returns empty content?▼

Use the web_fetch tool, which renders pages with Playwright and Chromium to execute JavaScript before returning content. Static extractors like curl or trafilatura only see the empty HTML shell of single-page applications.

What tools does the research MCP server expose?▼

It exposes five tools: web_search via DuckDuckGo, web_fetch via Playwright, arxiv_search via the arXiv Atom API, scholar_lookup via Semantic Scholar, and extract via trafilatura as a static-HTML fallback. None require API keys.

Why does scholar_lookup return a 429 error?▼

A 429 from Semantic Scholar means rate limiting, not breakage, since the API allows roughly one request per second without a key. Back off and retry the request after a short delay.

Why does hermes config set fail when adding MCP server args?▼

hermes config set stores args as a string, which triggers a pydantic list_type error. Always use hermes mcp add so the args value is stored as a real list.

Can I use this on Windows with MSYS or Git Bash?▼

Yes, but use native Windows paths like C:/Users/... when registering, because MSYS $HOME paths break into invalid C:\c\... paths. The Hermes venv Python under Scripts/python.exe must be the command.