friendly_web_fetchLABSCO SUMMARY
Research that survives modern websites.
A plain HTTP fetch returns an empty shell on much of the web now. Driving a real browser and running Readability over the result is the difference between a page you can read and a page of script tags.
What it is
A Node MCP server that drives Playwright Chromium to fetch pages, so JS-heavy sites render properly. Content comes back as markdown with links preserved, pulled out with Readability so navigation and ads are stripped, and it keeps a local stash of documents you can list, extract from and search.
What you get
- A web page fetched through a real browser, including JavaScript-heavy ones
- Content returned as markdown with links preserved, or as plain text or HTML
- Main content extracted with Readability, navigation and ads stripped out
- PDFs fetched and their text extracted
- Web search through DuckDuckGo or Google
- A local stash of documents to store, list, extract from and search across
- An extra wait after page load, for pages that fill themselves in late
Requirements
A recent Node.js, npm install, then npx playwright install chromium — Playwright downloads its own Chromium, separate from any browser already on the machine. Some features want a client that supports prompts and sampling.
Setup effort
Build from source — git clone https://github.com/permacommons/mcp-research-friend.git
USE CASES
Reading a page that renders nothing without JavaScript
Fetch it through a real browser so the content exists by the time it is read.
Looking something up without signing up for a search API
Search DuckDuckGo or Google directly and work from the results.
Pulling text out of a long PDF you found
Extract the content with pagination, or search inside it, rather than dumping the whole document.
Catching a page that fills itself in a second late
Add a wait after load so the part you actually want is there before it is captured.
Keeping a research library the agent can search
Stash the documents you collect, then list, extract from and search across them in a later session.
11 tools
Listed in project docs. Your client may show a different list.
friendly_searchfriendly_web_extractfriendly_web_askstash_open_inboxstash_process_inboxreindex_stashstash_liststash_searchstash_extractstash_askBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation. friendly_web_ask and stash_ask need a client that supports MCP sampling, so ordinary clients get 9 usable tools.
Requires
Node.js 20+
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
Get the source
git clone https://github.com/permacommons/mcp-research-friend.git
cd mcp-research-friendInstall dependencies
npm installInstall browser support
npx playwright install chromiumStart the server
node src/index.jsThe README gives only a general TOML example for adding it to a client ([[mcp_servers]] with command = "node" and args = ["/path/to/mcp-research-friend/src"]) and names no client. Add it in your own client's format, pointing node at the src folder of your clone.