noapi-google-search-mcp
The noapi-google-search-mcp server provides 38 tools that transform a local LLM into a fully connected assistant — enabling real Google searches, live feed monitoring, video intelligence, vision/OCR, and more, all with zero API keys required.
Google Search & Web
Web search with time/site/language/region filters and pagination
News, Scholar (papers & citations), Images (inline results), Trends, and page fetching (extract readable text from any URL)
Travel & Commerce
Shopping (prices, stores, ratings), Flights, Hotels (images, prices, booking URLs)
Translation across 100+ languages
Maps places search and turn-by-turn directions (with map screenshots)
Finance & Info
Stock/market data, Weather (current + forecast), Book search (author, ISBN, snippets)
Vision & OCR
Reverse image search via Google Lens; object detection with OpenCV + Lens
Offline OCR with RapidOCR; list local images for use with vision tools
Video & Audio Intelligence
Transcribe YouTube/remote or local audio/video files with timestamps (Whisper)
Search within transcripts; extract video clips by topic using transcript context
Convert media between formats via FFmpeg
Live Feed Subscriptions
Subscribe to news RSS, Reddit, Hacker News, GitHub repos, arXiv, YouTube channels, podcasts, and Twitter/X profiles
Auto-fetch new content, full-text search (SQLite FTS5), browse and manage subscriptions
Documents & Data
Read PDF (with OCR fallback for scanned pages), DOCX, HTML, CSV, JSON, YAML, and 30+ formats
Fetch and filter emails via IMAP (Gmail, Outlook, Yahoo, iCloud, and any IMAP server)
Web Utilities
Post to pastebin, shorten URLs (TinyURL), generate QR codes, archive pages to the Wayback Machine, look up Wikipedia in any language
Cloud Storage
Upload files to MinIO, AWS S3, DigitalOcean Spaces, Cloudflare R2, and Backblaze B2
All Google interactions use anti-bot detection, human-like delays, cookie persistence, and a neural network CAPTCHA solver to bypass common restrictions.
Subscribe to arXiv categories (e.g., machine learning, computer vision) and search across paper abstracts.
Upload files to Cloudflare R2 (S3-compatible storage).
Pre-configured subscription to CNN RSS feed for news articles.
Upload files to DigitalOcean Spaces (S3-compatible storage).
Convert media files between formats (e.g., video to audio, video to GIF).
Subscribe to GitHub repositories for new releases.
Fetch emails from Gmail via IMAP.
Perform Google searches (web, news, scholar, images, finance, weather, books, shopping, flights, hotels, translate, maps).
Search places, get reviews, ratings, and maps screenshots; get directions with step-by-step routes.
Search Google News with article thumbnails.
Search academic papers with citation information.
Translate text across 100+ languages.
Upload files to MinIO (S3-compatible storage).
Post text to a pastebin and receive a shareable link.
Subscribe to subreddits and search across stored posts.
Subscribe to any RSS feed (news, blogs, etc.) and search stored content.
Pre-configured subscription to TechCrunch RSS feed for tech news.
Look up Wikipedia articles in any language with summary support.
Subscribe to channels, auto-transcribe videos, full-text search across transcripts, and extract clips.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@noapi-google-search-mcp Search for the latest breakthroughs in renewable energy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
noapi-google-search-mcp
vincentkaufmann@protonmail.com
If you want to support noapi-google-mcp or gpt-oss-20B/120B-Vision and other open source models in the pipeline please add to my GPU compute fund: around $3000 are needed.
If you find this useful, consider supporting continued development and new features.BTC:
16DT4AHemLyn7C6P116YepjY518gu9wUUHETH:0x7287D1F9c77832cFF246937af0443622bFdACD04
38 tools. Zero API keys. Give any local LLM real Google search, live feeds, vision, OCR, and full video understanding.
An MCP server that turns your local LLM into a fully connected assistant. Real Google results, live news and social feeds, reverse image search, offline OCR, YouTube transcription and clip extraction — all running locally through headless Chromium and open-source ML models. No API keys, no usage limits, no cloud dependency.
Works with LM Studio, Claude Desktop, OpenClaw, Ollama, and any MCP-compatible client.
What's New in v0.3.1 — Anti-Bot Detection & Neural Net CAPTCHA Solver
Google started catching headless Chromium browsers and serving CAPTCHAs instead of search results (#2). Fixed it properly and then added a neural net CAPTCHA solver just for the hell of it.
Stealth patches:
JavaScript injection before every page load patches
navigator.webdriver, fake browser plugins,chrome.runtime, and removes Playwright fingerprintsFixed User-Agent mismatch (was
aarch64, now matches the actual Chromium binary)Cookie persistence between sessions so Google sees a returning browser, not a fresh bot
Human-like random delays between page interactions
Clear error messages when rate-limited instead of cryptic timeouts
Neural net CAPTCHA solver (MobileNetV2 + OpenCV):
When Google serves a reCAPTCHA image challenge ("Select all images with traffic lights"), the server now attempts to solve it automatically
Uses MobileNetV2 (ImageNet classifier, ~13MB ONNX model, auto-downloads on first encounter)
OpenCV splits the CAPTCHA grid into cells, each cell is classified by the neural net and matched against the prompt
Covers 22 common CAPTCHA categories: traffic lights, buses, bicycles, motorcycles, cars, bridges, boats, trains, trucks, fire hydrants, parking meters, tractors, and more
Human-like mouse movement for clicking cells and the verify button
Falls back gracefully if the challenge type isn't supported
Will it solve every CAPTCHA? No. But it'll get through some of them, and honestly we mostly built it because we could.
Related MCP server: websearch-mcp
What's New in v0.3.0 — 16 New Tools
YouTube RAG — Subscribe, Transcribe, Search, Clip
A full local retrieval-augmented pipeline for YouTube. Subscribe to any channel, and when you check feeds the server automatically downloads the audio, transcribes it with Whisper, and stores the full transcript in SQLite with FTS5 full-text search. Every word from every video becomes searchable — ask your LLM a question and it pulls the answer from the right video.
Found something interesting? Ask the LLM to extract that segment as a clip. It reads the transcript, finds the exact timestamps, and cuts the video for you. This is the beginning of AI/LLM-powered video editing — your LLM understands the content and cuts clips based on what's being said, not just timestamps.
How it works:
subscribeto a YouTube channel — by handle (@3Blue1Brown), URL, or channel IDcheck_feeds— new videos are fetched and auto-transcribed locally with faster-whisper. Transcripts are written into the database for instant search. Up to 5 videos per check, cached so nothing gets re-downloaded.search_feeds— full-text search across all transcripts. Supports AND, OR, NOT, and quoted phrases. Your LLM finds the exact video and passage that answers your question.extract_video_clip— tell the LLM what you're interested in and it cuts the clip from the video. The LLM uses the transcript to find the right segment and extracts it automatically.
"Subscribe to @AndrejKarpathy on YouTube"
"Check my feeds"
"Search my feeds for backpropagation explained"
"What did Karpathy say about tokenization?"
"Extract the part where he explains gradient descent"
"Cut a clip of the hardware comparison section"No embeddings, no vector database, no API — just Whisper + SQLite FTS5 running on your machine.
Roadmap: The clip extraction is the first step toward full AI-driven video editing. Future releases will add music/audio overlay, video remixing, multi-clip compilation, vertical reformat for TikTok/Reels/Shorts, and automated highlight reels — all driven by your LLM understanding the content.
Live Feed Subscriptions
Subscribe to news, Reddit, Hacker News, YouTube channels, Twitter/X profiles, GitHub repos, arXiv papers, and podcasts. Content is fetched, stored locally in SQLite with full-text search, and available to your LLM instantly.
New Tool | What It Does |
| Add any source — news RSS, Reddit, HN, GitHub, arXiv, YouTube, podcasts, Twitter/X |
| Remove a subscription and its stored content |
| See all active feeds with item counts |
| Poll all subscriptions, fetch new content, auto-transcribe YouTube videos |
| Full-text search across everything your feeds have collected |
| Browse recent items, filtered by source or type |
Pre-configured news sources — subscribe with one word: bbc, cnn, nyt, guardian, npr, aljazeera, techcrunch, ars, verge, wired, reuters
arXiv shortcuts — ai, ml, cv, nlp, robotics, crypto, systems, hci
"Subscribe to BBC News, r/LocalLLaMA, and Hacker News"
"Follow @elonmusk on Twitter"
"Subscribe to the YouTube channel @3Blue1Brown"
"Watch anthropics/claude-code on GitHub for new releases"
"Subscribe to the machine learning arXiv category"
"Check my feeds"
"Search my feeds for transformer architecture"
"What's new in my Reddit feeds?"Local File Processing
Transcribe meetings, convert formats, read documents — all local, no cloud.
New Tool | What It Does |
| Transcribe any local audio or video file with Whisper (mp3, wav, mp4, mkv, etc.) |
| FFmpeg format conversion — video to audio, format to format, video to GIF |
| Extract text from PDF, DOCX, HTML, CSV, JSON, and 30+ text formats |
Email, Web Utilities & Cloud
Pull emails, generate QR codes, shorten URLs, archive pages, look up Wikipedia, upload to S3.
New Tool | What It Does |
| Pull emails via IMAP — Gmail, Outlook, Yahoo, any IMAP server |
| Post text to a pastebin and get a shareable link |
| Shorten any URL via TinyURL |
| Generate QR code images for URLs, Wi-Fi, contacts, any data |
| Save a webpage snapshot to the Wayback Machine |
| Look up any Wikipedia article, any language, with summary support |
| Upload files to MinIO, AWS S3, DigitalOcean Spaces, Cloudflare R2 |
"Transcribe this recording: ~/meeting.mp3"
"Convert video.mp4 to mp3"
"Read this PDF: ~/report.pdf"
"Check my email: user@gmail.com password: xxxx"
"Shorten this URL: https://very-long-url..."
"Generate a QR code for https://mysite.com"
"Archive this article: https://news.example.com/story"
"Wikipedia: quantum computing"
"Upload report.pdf to my MinIO bucket"Zero extra dependencies for feeds. Built entirely on Python stdlib — SQLite for storage, FTS5 for search, urllib for fetching, xml.etree for parsing. YouTube and Twitter use the existing Playwright browser. FFmpeg required for convert_media (commonly pre-installed).
All 38 Tools by Category
Live Feed Subscriptions
Tool | Description |
| Subscribe to news, Reddit, HN, GitHub, arXiv, YouTube, podcasts, Twitter/X |
| Remove a subscription and its stored content |
| List all active subscriptions with item counts |
| Fetch new content from all or specific sources |
| Full-text search across all stored feed content |
| Get recent items filtered by source or type |
Google Search & Web
Tool | Description |
| Web search with time filters, site filters, pagination, language/region |
| News search with article thumbnails inline |
| Academic papers with citations |
| Image search with results displayed inline in chat |
| Topic interest over time, related queries |
| Fetch any URL and extract readable text |
Travel & Commerce
Tool | Description |
| Product search with prices, stores, ratings, images |
| Flight search with prices and travel times |
| Hotel search with images, prices, ratings, booking URLs |
| Translation across 100+ languages |
| Places search with ratings, reviews, and map screenshots |
| Route directions with step-by-step and map screenshot |
Finance & Info
Tool | Description |
| Stock prices, market data, company info |
| Current conditions and multi-day forecast |
| Book search with author, ISBN, snippets |
Vision & OCR
Tool | Description |
| Reverse image search — identify objects, products, landmarks, text |
| Detect all objects in an image (OpenCV) and identify each via Lens |
| Extract text from images locally (RapidOCR, fully offline) |
| List image files in a directory for use with vision tools |
Video & Audio Intelligence — AI-Powered Video Editing
Tool | Description |
| Download and transcribe any video with timestamps (faster-whisper) |
| Transcribe local audio/video files (mp3, wav, m4a, mp4, mkv, etc.) |
| Search a transcribed video for topics by keyword |
| AI-powered clip extraction — tell the LLM what you want and it cuts the video using transcript context |
| Convert between audio/video formats via FFmpeg |
Documents & Data
Tool | Description |
| Extract text from PDF, DOCX, HTML, CSV, JSON, and 30+ formats |
Tool | Description |
| Pull emails via IMAP — Gmail, Outlook, Yahoo, iCloud, any IMAP server |
Web Utilities
Tool | Description |
| Post text to a pastebin and get a shareable URL |
| Shorten any URL via TinyURL |
| Generate QR code images (URLs, Wi-Fi, contacts, any data) |
| Archive a webpage on the Wayback Machine |
| Wikipedia article lookup in any language |
Cloud Storage
Tool | Description |
| Upload files to MinIO, AWS S3, DigitalOcean Spaces, Cloudflare R2, Backblaze B2 |
Supported File Formats
Documents (read_document)
Category | Formats |
Documents | PDF (with OCR fallback for scanned pages), DOCX |
Web | HTML, HTM |
Data | CSV, JSON, XML, YAML, YML, TOML |
Text | TXT, MD, LOG |
Config | INI, CFG, CONF, ENV |
Code | PY, JS, TS, GO, RS, C, CPP, H, JAVA, KT, RB, SQL, R, M, SWIFT |
Shell | SH, BASH, ZSH |
Audio & Video (transcribe_local, transcribe_video, convert_media)
Category | Formats |
Audio | MP3, WAV, M4A, FLAC, OGG, AAC, WMA, OPUS |
Video | MP4, MKV, WEBM, AVI, MOV |
Special | GIF (video-to-GIF output) |
Input | Any format FFmpeg can decode (hundreds of formats) |
Images (google_lens, google_lens_detect, ocr_image, list_images)
Category | Formats |
Standard | JPG, JPEG, PNG, GIF, BMP, WEBP |
Professional | TIFF, TIF, SVG |
Input methods | Local file path, public URL, base64 (drag-and-drop into chat) |
Why This Instead of API-Based Alternatives?
noapi-google-search-mcp | API-based MCP servers | OpenClaw built-in | |
API key required | No | Yes (Google CSE API) | Yes (Brave/Perplexity) |
Cost | Free | Paid after 100 queries/day | API fees |
Setup time |
| Create Cloud project, enable API, configure | Multiple API keys |
Results quality | Real Google results | Custom Search Engine | Brave index |
JavaScript pages | Renders them (Chromium) | Cannot render JS | Cannot render JS |
Tools count | 38 | 1-3 | 2 (web_search, web_fetch) |
Google Search | Built-in (with filters) | Basic only | Not available |
Google Shopping | Built-in | Not available | Not available |
Google Flights | Built-in | Not available | Not available |
Google Hotels | Built-in | Not available | Not available |
Google Translate | Built-in | Separate API needed | Not available |
Google Maps | Built-in (with screenshots) | Not available | Not available |
Google Maps Directions | Built-in (with route map) | Not available | Not available |
Google Weather | Built-in | Not available | Not available |
Google Finance | Built-in | Not available | Not available |
Google News | Built-in | Usually not available | Not available |
Google Scholar | Built-in | Not available | Not available |
Google Books | Built-in | Not available | Not available |
Google Images | Built-in (inline in chat) | Separate API needed | Not available |
Google Lens | Built-in (reverse image search) | Not available | Not available |
Object detection | Built-in (OpenCV + Lens) | Not available | Not available |
Local OCR | Built-in (offline) | Not available | Not available |
Video transcription | Built-in (local Whisper) | Not available | Not available |
Video clip extraction | Built-in (AI/LLM-powered) | Not available | Not available |
YouTube RAG pipeline | Built-in (subscribe → transcribe → search) | Not available | Not available |
Google Trends | Built-in | Separate API needed | Not available |
Feed subscriptions | Built-in (8 source types) | Not available | Not available |
Full-text feed search | Built-in (SQLite FTS5) | Not available | Not available |
Auto-transcribe feeds | Built-in (YouTube → Whisper) | Not available | Not available |
Local file transcription | Built-in (any audio/video) | Not available | Not available |
Media format conversion | Built-in (FFmpeg) | Not available | Not available |
Document reader | Built-in (PDF, DOCX, etc.) | Not available | Not available |
Email integration | Built-in (IMAP) | Not available | Not available |
Pastebin | Built-in | Not available | Not available |
URL shortener | Built-in (TinyURL) | Not available | Not available |
QR code generation | Built-in (OpenCV) | Not available | Not available |
Web archiving | Built-in (Wayback Machine) | Not available | Not available |
Wikipedia | Built-in | Not available | Not available |
S3/MinIO upload | Built-in | Not available | Not available |
Page fetching | Built-in | Usually separate | Basic |
Tool Details & Parameters
Feed Subscription Tools
subscribe — Add a Content Source
Parameter | Description | Example |
| Source type (required) |
|
| Source identifier (required) |
|
| Display name (optional) |
|
Identifier formats by type:
news: preset name (
bbc,cnn,nyt,guardian,npr,aljazeera,techcrunch,ars,verge,wired,reuters) or any RSS URLreddit: subreddit name (e.g.
LocalLLaMA,programming)hackernews:
top,new, orbestgithub:
owner/repo(e.g.anthropics/claude-code)arxiv: shortcut (
ai,ml,cv,nlp,robotics,crypto) or category likecs.AIyoutube: channel handle (
@3Blue1Brown), URL, or channel ID (UCxxxx)podcast: RSS feed URL
twitter: username with or without
@
check_feeds — Fetch New Content
Parameter | Description | Example |
| Limit to one type (optional) |
|
search_feeds — Full-Text Search
Parameter | Description | Example |
| Search query (required) — supports FTS5: AND, OR, NOT, "quoted phrases" |
|
| Limit to one type (optional) |
|
| Max results (default 20) |
|
get_feed_items — Browse Recent Items
Parameter | Description | Example |
| Filter by source name (optional) |
|
| Filter by type (optional) |
|
| Max items (default 20) |
|
Google Search Tools
google_search — Web Search
Parameter | Description | Example |
| Search query (required) |
|
| Number of results (1-10, default 5) |
|
| Filter by recency |
|
| Limit to a domain |
|
| Results page (1-10, default 1) |
|
| Language code |
|
| Country/region code |
|
google_shopping — Product Search
Parameter | Description | Example |
| Product search query (required) |
|
| Number of results (1-10, default 5) |
|
google_flights — Flight Search
Parameter | Description | Example |
| Departure city or airport (required) |
|
| Arrival city or airport (required) |
|
| Departure date (optional) |
|
| Return date (optional) |
|

google_hotels — Hotel Search
Parameter | Description | Example |
| Hotel search with location (required) |
|
| Number of results (1-10, default 5) |
|

google_translate — Translation
Parameter | Description | Example |
| Text to translate (required) |
|
| Target language (required) |
|
| Source language (optional, auto-detected) |
|
google_maps — Places Search with Map Screenshot
Parameter | Description | Example |
| Place search query (required) |
|
| Number of results (1-10, default 5) |
|

google_maps_directions — Route Directions with Map
Parameter | Description | Example |
| Starting location (required) |
|
| Ending location (required) |
|
| Travel mode (default "driving") |
|

google_weather — Weather
Parameter | Description | Example |
| City or location (required) |
|
google_finance — Stock & Market Data
Parameter | Description | Example |
| Stock ticker or company name (required) |
|

google_news — News Search
Parameter | Description | Example |
| News search query (required) |
|
| Number of results (1-10, default 5) |
|

google_scholar — Academic Search
Parameter | Description | Example |
| Academic search query (required) |
|
| Number of results (1-10, default 5) |
|
google_books — Book Search
Parameter | Description | Example |
| Book search query (required) |
|
| Number of results (1-10, default 5) |
|
google_images — Image Search (inline in chat)
Parameter | Description | Example |
| Image search query (required) |
|
| Number of results (1-10, default 5) |
|


google_trends — Trends
Parameter | Description | Example |
| Topic (required) |
|
Vision & OCR Tools
google_lens — Reverse Image Search
Identify objects, products, brands, landmarks, and text. Supports URLs, local files, and base64 drag-and-drop.
Parameter | Description | Example |
| Image URL, file path, or base64 (required) |
|

google_lens_detect — Object Detection + Identification
Detect all objects (OpenCV), crop each one, identify individually via Lens.
Parameter | Description | Example |
| Local file path or base64 (required) |
|
ocr_image — Local OCR (offline)
Extract text from images using RapidOCR. No internet needed.
Parameter | Description | Example |
| Local file path or base64 (required) |
|

list_images — Image Discovery
Parameter | Description | Example |
| Folder to scan (default |
|
Video Intelligence Tools
transcribe_video — Video Transcription
Download and transcribe any YouTube video (or video URL) with timestamps using faster-whisper.
Parameter | Description | Example |
| YouTube or video URL (required) |
|
| Whisper model size (default: tiny) |
|
| Language code (optional, auto-detected) |
|
search_transcript — Transcript Search
Parameter | Description | Example |
| Same URL used with transcribe_video (required) |
|
| Keyword or phrase (required) |
|
| Surrounding segments (default: 2) |
|
extract_video_clip — Clip Extraction by Topic
Ask "extract the part about X" and the LLM finds timestamps from the transcript and cuts the clip.
Parameter | Description | Example |
| YouTube URL or local video (required) |
|
| Start time in seconds (required) |
|
| End time in seconds (required) |
|
| Extra seconds before/after (default: 3) |
|
| Custom filename (optional) |
|
Sample Prompts
Feed Subscriptions
What you type | Tool called |
"Subscribe to BBC News and CNN" |
|
"Follow r/LocalLLaMA on Reddit" |
|
"Monitor Hacker News top stories" |
|
"Watch anthropics/claude-code for new releases" |
|
"Subscribe to @3Blue1Brown on YouTube" |
|
"Follow @elonmusk on Twitter" |
|
"Subscribe to the ML arXiv category" |
|
"Check my feeds" |
|
"What's new in my subscriptions?" |
|
"Search my feeds for transformer architecture" |
|
"Show me the latest Reddit posts" |
|
"What are my subscriptions?" |
|
"Unsubscribe from BBC News" |
|
Web Search
What you type | Tool called | Parameters used |
"Search for the best Python web frameworks" |
|
|
"Find Reddit discussions about home lab setups" |
|
|
"Search Stack Overflow for async Python examples" |
|
|
"What's new in AI this week?" |
|
|
"Search Hacker News for posts about Rust" |
|
|
"Get page 2 of results for ML tutorials" |
|
|
"Search for restaurants in Tokyo in Japanese" |
|
|
Shopping & Travel
What you type | Tool called |
"Find the cheapest MacBook Air" |
|
"Find flights from New York to London" |
|
"Find hotels in Paris for next weekend" |
|
"Translate 'hello world' to Japanese" |
|
Maps & Directions
What you type | Tool called |
"Find Italian restaurants near Times Square" |
|
"Get directions from Berlin to Munich" |
|
"Walking directions from the Eiffel Tower to the Louvre" |
|
Finance, Weather & Info
What you type | Tool called |
"What's Apple's stock price?" |
|
"What's the weather in Dubai?" |
|
"What are today's top headlines?" |
|
"Find papers on transformer attention mechanisms" |
|
"Find books about machine learning" |
|
Images & Vision
What you type | Tool called |
"Show me images of the Northern Lights" |
|
"What is this product? /path/to/photo.jpg" |
|
"Detect all objects in this photo" |
|
"Read the text in this screenshot" |
|
Drag image into chat + "What is this?" |
|
Drag image into chat + "Read the text" |
|
Tip: To enable drag-and-drop images with text-only models in LM Studio, add a
model.yamlfile in the model directory withmetadataOverrides: { vision: true }. The image will be sent as base64 and the MCP tools handle it automatically.
Video Intelligence & AI-Powered Clip Extraction
What you type | Tool called |
"Transcribe this video: https://youtube.com/watch?v=..." |
|
"What do they discuss in this video?" |
|
"Find where they talk about memory bandwidth" |
|
"Extract the part where they discuss pricing" |
|
"Cut a clip of the hardware comparison section" |
|
"Transcribe ~/meeting.mp3" |
|
"Convert video.mp4 to mp3" |
|
"Convert this video to a GIF" |
|
Documents & Email
What you type | Tool called |
"Read this PDF: ~/report.pdf" |
|
"Extract text from ~/contract.docx" |
|
"Read this article for me: https://..." |
|
"Check my email at user@gmail.com password: xxxx" |
|
"Pull my latest 10 emails from Outlook" |
|
Web Utilities & Cloud
What you type | Tool called |
"Shorten this URL: https://very-long-url..." |
|
"Generate a QR code for https://mysite.com" |
|
"Make a QR code for my Wi-Fi network" |
|
"Post this code to a pastebin" |
|
"Archive this article: https://news.example.com/story" |
|
"Wikipedia: quantum computing" |
|
"Look up the Apollo 11 mission on Wikipedia in German" |
|
"Upload report.pdf to my MinIO bucket" |
|
"Store backup.tar.gz in S3 bucket my-backups" |
|
Installation
Quick Install (pipx - recommended)
pipx install noapi-google-search-mcp
playwright install chromiumInstall in a Virtual Environment
python3 -m venv ~/.local/share/noapi-google-search-mcp
~/.local/share/noapi-google-search-mcp/bin/pip install noapi-google-search-mcp
~/.local/share/noapi-google-search-mcp/bin/playwright install chromiumPython 3.13 / OCR
The core package installs on every supported Python, including 3.13. OCR is
opt-in because rapidocr-onnxruntime does not yet ship a Python 3.13 wheel
upstream (RapidAI/RapidOCR#579).
Everything except the OCR tools (ocr_image and the scanned-PDF fallback in
read_document) works without it.
To enable OCR, add the [ocr] extra on a compatible Python (3.10–3.12):
pipx install "noapi-google-search-mcp[ocr]"If you install the core package and later call an OCR tool without the extra,
the tool returns a short message telling you to install
"noapi-google-search-mcp[ocr]" instead of crashing.
Configuration
LM Studio
Add to ~/.lmstudio/mcp.json:
{
"mcpServers": {
"google-search": {
"command": "noapi-google-search-mcp",
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}If installed in a venv, use the full path: ~/.local/share/noapi-google-search-mcp/bin/noapi-google-search-mcp
How much page text visit_page returns
visit_page truncates at 8000 characters by default. That suits a small
local model and is not enough for reading long documentation, so it is
settable from the same env block:
{
"mcpServers": {
"google-search": {
"command": "noapi-google-search-mcp",
"env": {
"PYTHONUNBUFFERED": "1",
"MAX_PAGE_CHARS": "20000"
}
}
}
}max_characters is accepted as an alias. Values are clamped to 200000 —
this text goes into a model's context window, and a tool that can return a
megabyte turns one careless page visit into a blown context. A value that
is not a positive number is ignored and the default is used, so a typo here
cannot stop the server from starting.
Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"google-search": {
"command": "noapi-google-search-mcp"
}
}
}OpenClaw
Add to your agent configuration:
mcp_servers:
google-search:
command: "noapi-google-search-mcp"
env:
PYTHONUNBUFFERED: "1"This gives your OpenClaw agent access to all 38 tools — real Google search, live feeds, vision, OCR, and video intelligence — with zero API keys.
As a CLI
noapi-google-search-mcpOr:
python -m google_search_mcpDevelopment
git clone https://github.com/VincentKaufmann/noapi-google-search-mcp.git
cd google-search-mcp
pip install -e .
playwright install chromiumLicense
MIT
Available Tools
38 toolsarchive_webpageA
Archive a webpage on archive.today (archive.is) for permanent preservation.
Creates a timestamped snapshot of any webpage. Useful for preserving: - News articles before they're edited or deleted - Social media posts - Product pages with specific prices - Any web content you want to reference later
Sample prompts that trigger this tool: - "Archive this page: https://example.com/article" - "Save this webpage to archive.is" - "Preserve this article before it gets taken down" - "Create an archive snapshot of this URL"
Args: url: The URL of the webpage to archive.
Inputs: url (required). Returns: result
check_feedsA
Check all (or specific) subscriptions for new content. Fetches and stores latest items.
Sample prompts that trigger this tool: - "Check my feeds" - "What's new in my subscriptions?" - "Fetch latest news" - "Check Reddit feeds" - "Update all my feed subscriptions"
Args: source_type: Optionally limit to one type (news, reddit, hackernews, github, arxiv, youtube, podcast, twitter). Leave empty to check all.
Inputs: source_type. Returns: result
convert_mediaA
Convert audio or video files between formats using FFmpeg.
Supports all FFmpeg formats: mp3, wav, m4a, flac, ogg, aac, opus, mp4, mkv, webm, avi, mov, gif, and more.
Common conversions: - Video to audio: mp4 -> mp3 - Audio formats: wav -> mp3, flac -> m4a - Video formats: mkv -> mp4, mp4 -> webm - Video to GIF: mp4 -> gif
Sample prompts that trigger this tool: - "Convert this video to mp3: /path/to/video.mp4" - "Convert recording.wav to mp3" - "Make a gif from /path/to/clip.mp4" - "Convert this to m4a: /path/to/song.flac" - "Convert my video to webm"
Args: input_path: Path to the input file. output_format: Target format (e.g. "mp3", "mp4", "wav", "gif"). output_path: Optional output file path. Default: same name, new extension. quality: "low", "medium", or "high". Default: medium.
Inputs: input_path (required), output_format (required), output_path, quality. Returns: result
extract_video_clipA
Extract a video clip by topic from a YouTube video or local file.
Used after transcribe_video. The LLM reads the transcript, finds the timestamps for the requested topic, and calls this tool to cut the clip. The user just asks "extract the part about X" - no manual timestamps needed.
A buffer is added before and after to avoid cutting off content. The clip is saved to ~/clips/.
Sample prompts that trigger this tool: - "Extract the part where they talk about memory bandwidth" - "Save the segment where they discuss pricing" - "Cut out the section about the hardware specs" - "Get me the intro of this video"
Args: url: YouTube URL, video URL, or local file path. start_seconds: Start time in seconds (e.g. 150 for 2:30). end_seconds: End time in seconds (e.g. 315 for 5:15). buffer_seconds: Extra seconds before/after the segment (default: 3). output_filename: Optional filename for the clip (without extension).
Inputs: url (required), start_seconds (required), end_seconds (required), buffer_seconds, +1 more. Returns: result
fetch_emailsA
Fetch emails via IMAP. Works with Gmail, Outlook, Yahoo, iCloud, and any IMAP server.
For Gmail: use an App Password (not your regular password). Generate at: https://myaccount.google.com/apppasswords
For Outlook: enable IMAP in settings, use your regular password or app password.
Sample prompts that trigger this tool: - "Check my email: user@gmail.com password: xxxx-xxxx-xxxx-xxxx" - "Fetch unread emails from my Gmail" - "Search my inbox for emails about invoice" - "Get my latest 5 emails" - "Show emails from sender@example.com"
Args: email_address: Your email address. password: Password or app password (Gmail requires app password). imap_server: IMAP server hostname. Auto-detected for Gmail/Outlook/Yahoo if empty. folder: Mailbox folder. Default: INBOX. Common: INBOX, Sent, Drafts, Trash, Spam. search: IMAP search criteria. Default: UNSEEN (unread). Examples: ALL, SEEN, UNSEEN, FROM "sender@example.com", SUBJECT "keyword", SINCE "01-Jan-2024", BEFORE "01-Feb-2024". limit: Maximum number of emails to fetch. Default: 10.
Inputs: email_address (required), password (required), imap_server, folder, +2 more. Returns: result
generate_qrA
Generate a QR code image from text, URLs, Wi-Fi credentials, or any data.
Use cases: - URLs: shareable links, payment pages - Wi-Fi: WIFI:T:WPA;S:NetworkName;P:password;; - Contact info: vCard format - Plain text: any message
Sample prompts that trigger this tool: - "Generate a QR code for https://example.com" - "Create a QR code for my Wi-Fi: SSID=MyNet, password=secret123" - "Make a QR code with this text" - "QR code for my Bitcoin address"
Args: data: The content to encode in the QR code. output_path: Optional output file path. Default: ~/qr_code.png. size: Image size in pixels (width=height). Default: 400.
Inputs: data (required), output_path, size. Returns: result
get_feed_itemsA
Get recent items from feed subscriptions, optionally filtered by source or type.
Sample prompts that trigger this tool: - "What's new in my feeds?" - "Show me the latest BBC News articles" - "Show recent Reddit posts" - "What are the latest Hacker News stories?" - "Show me recent tweets from my followed accounts" - "Get latest YouTube videos from my subscriptions"
Args: source: Filter by source name (e.g. "BBC", "LocalLLaMA"). Leave empty for all. source_type: Filter by type (news, reddit, hackernews, github, arxiv, youtube, podcast, twitter). Leave empty for all. limit: Max items to return (default 20).
Inputs: source, source_type, limit. Returns: result
google_booksA
Search Google Books for books, textbooks, and publications.
Sample prompts that trigger this tool: - "Find books about machine learning" - "Search for books by Stephen King" - "What are the best books on Python programming?" - "Find textbooks on linear algebra" - "Look up books about the history of AI"
Args: query: The book search query string. num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results. Returns: result
google_financeA
Look up stock prices, market data, and company information on Google Finance.
Sample prompts that trigger this tool: - "What's Apple's stock price?" - "How is Tesla stock doing?" - "Look up NVIDIA market cap" - "Get me the stock price for Microsoft" - "How is the S&P 500 doing today?"
Args: query: Stock ticker with exchange (e.g. "AAPL:NASDAQ", "TSLA:NASDAQ", "MSFT:NASDAQ", ".INX:INDEXSP") or company name.
Inputs: query (required). Returns: result
google_flightsA
Search Google Flights for flight options, prices, and travel times.
Sample prompts that trigger this tool: - "Find flights from New York to London" - "Search for cheap flights from LA to Tokyo" - "Flights from San Francisco to Paris on March 15" - "Find round trip flights from Chicago to Miami" - "How much are flights from Dubai to Bangkok?"
Args: origin: Departure city or airport (e.g. "New York", "LAX", "London"). destination: Arrival city or airport (e.g. "Tokyo", "SFO", "Paris"). date: Departure date (optional, e.g. "March 15", "2025-03-15"). return_date: Return date for round trips (optional).
Inputs: origin (required), destination (required), date, return_date. Returns: result
google_hotelsA
Search for hotels and accommodation with thumbnail images, prices, ratings, and booking URLs.
Sample prompts that trigger this tool: - "Find hotels in Paris for next weekend" - "Search for cheap hotels in Tokyo" - "Best hotels near Times Square New York" - "Find 5-star hotels in Dubai" - "Hotels in London under $200 per night"
Args: query: Hotel search query with location (e.g. "Paris", "Tokyo near Shibuya", "New York March 15-20"). num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results.
google_imagesA
Search Google Images and return images inline in chat.
Returns image thumbnails directly in the conversation so you can see them. Also provides source URLs for each image.
Sample prompts that trigger this tool: - "Show me images of the Northern Lights" - "Find pictures of modern kitchen designs" - "Search for diagrams of neural network architecture" - "Show me what a DGX Spark looks like"
Args: query: The image search query string. num_results: Number of image results to return (default 5, max 10).
Inputs: query (required), num_results.
google_lensA
Reverse image search using Google Lens. Identify objects, products, brands, landmarks, text in images, and find visually similar results.
This gives vision capabilities to text-only models. Supports public image URLs, local file paths, and base64-encoded image data (from drag-and-drop in LM Studio).
Sample prompts that trigger this tool: - "What is this product? https://example.com/photo.jpg" - "Identify this image: /home/user/photos/image.jpg" - "What is in this image?" (with image dragged into chat) - "What brand is this? [image URL or file path]"
Args: image_source: A public image URL, local file path, or base64-encoded image data.
Inputs: image_source (required). Returns: result
google_lens_detectA
Detect and identify all objects in an image using OpenCV object detection and Google Lens.
Unlike google_lens which sends the full image, this tool:
Uses OpenCV to detect distinct objects/regions in the image
Crops each object separately
Sends the original image AND each crop to Google Lens
Returns identification results for each object
This is useful when an image contains multiple items (e.g. a monitor AND a hardware device) and you want each identified separately.
Supports local file paths and base64-encoded image data (from drag-and-drop).
Sample prompts that trigger this tool: - "Detect and identify all objects in this image: /path/to/photo.jpg" - "What are all the items in this photo?" (with image dragged into chat) - "Identify each object separately in /path/to/setup.jpg"
Args: image_source: Local file path or base64-encoded image data.
Inputs: image_source (required). Returns: result
google_mapsA
Search Google Maps for places, restaurants, businesses, and locations with ratings, prices, addresses, and a map screenshot showing pinned locations.
Sample prompts that trigger this tool: - "Find Italian restaurants near Times Square" - "Where are the best coffee shops in Berlin?" - "Search for hotels in Tokyo" - "Find EV charging stations in San Francisco" - "What are the top-rated gyms in London?"
Args: query: The place search query (e.g. "pizza near Central Park", "hotels in Paris"). num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results.
google_maps_directionsA
Get driving/walking/transit/cycling directions between two locations with route info and a map screenshot.
Sample prompts that trigger this tool: - "Get directions from Berlin to Munich" - "How do I drive from New York to Boston?" - "Walking directions from the Eiffel Tower to the Louvre" - "Transit route from Shibuya to Akihabara" - "Cycling route from Golden Gate Bridge to Fisherman's Wharf" - "Show me the route from London to Edinburgh"
Args: origin: Starting location (address, city, or place name). destination: Ending location (address, city, or place name). mode: Travel mode - one of "driving" (default), "walking", "transit", or "cycling".
Inputs: origin (required), destination (required), mode.
google_newsA
Search Google News for recent headlines, articles, and article images.
Sample prompts that trigger this tool: - "What are the latest AI news?" - "Get me today's top headlines" - "Any recent news about the stock market?" - "What happened in the US election?" - "Latest news about climate change"
Args: query: The news search query string. num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results.
google_scholarA
Search Google Scholar for academic papers, citations, and research.
Sample prompts that trigger this tool: - "Find me papers on transformer attention mechanisms" - "Look up academic research about quantum computing" - "Search for citations on CRISPR gene editing" - "Find recent studies about large language models" - "What does the research say about intermittent fasting?"
Args: query: The academic search query string. num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results. Returns: result
google_searchA
Search Google and return results with titles, URLs, and snippets.
Sample prompts that trigger this tool: - "Search for the best Python web frameworks" - "Find Reddit discussions about home lab setups from the past week" - "Search Stack Overflow for async Python examples" - "Look up recent news about SpaceX in German" - "Get page 2 of results for machine learning tutorials" - "Search Hacker News for posts about Rust programming" - "Find Japanese results about Tokyo restaurants"
Args: query: The search query string. num_results: Number of results to return (default 5, max 10). time_range: Filter by time. One of: "past_hour", "past_day", "past_week", "past_month", "past_year". Leave empty for no filter. site: Limit results to a specific domain (e.g. "reddit.com", "stackoverflow.com", "github.com", "arxiv.org", "news.ycombinator.com"). Leave empty for all sites. page: Results page number (default 1). Use 2, 3, etc. to get more results. language: Language code for results (e.g. "en", "de", "fr", "es", "ja", "zh"). Leave empty for English. region: Country/region code (e.g. "us", "gb", "de", "fr", "jp"). Leave empty for default.
Inputs: query (required), num_results, time_range, site, +3 more. Returns: result
google_shoppingA
Search Google Shopping for products with prices, stores, ratings, and product images.
Sample prompts that trigger this tool: - "Find the cheapest MacBook Air" - "Compare prices for Sony WH-1000XM5 headphones" - "How much does a Nintendo Switch cost?" - "Search for running shoes under $100" - "Find deals on mechanical keyboards"
Args: query: The product search query string. num_results: Number of results to return (default 5, max 10).
Inputs: query (required), num_results.
google_translateA
Translate text from one language to another using Google Translate.
Sample prompts that trigger this tool: - "Translate 'hello world' to Japanese" - "How do you say 'thank you' in French?" - "Translate this to Spanish: The weather is nice today" - "What does 'Guten Morgen' mean in English?" - "Translate 'I love programming' to Korean"
Args: text: The text to translate. to_language: Target language (e.g. "Spanish", "Japanese", "French", "German", "Korean", "Chinese", "Arabic"). from_language: Source language (optional, auto-detected if empty).
Inputs: text (required), to_language (required), from_language. Returns: result
google_trendsA
Check Google Trends for a topic to see interest over time, related topics, and related queries.
Sample prompts that trigger this tool: - "What's trending in tech right now?" - "Is Python more popular than JavaScript?" - "Check the trend for electric vehicles" - "What are people searching for about AI?"
Args: query: The topic or search term to check trends for.
Inputs: query (required). Returns: result
google_weatherA
Get current weather conditions and forecast for any location.
Sample prompts that trigger this tool: - "What's the weather in Dubai?" - "Is it going to rain in London today?" - "What's the temperature in New York?" - "Weather forecast for Tokyo this week" - "How hot is it in Dubai right now?"
Args: location: The city or location to get weather for (e.g. "Dubai", "New York", "London, UK", "Tokyo").
Inputs: location (required). Returns: result
list_imagesA
List image files in a directory so you can pass them to google_lens.
This is useful for text-only models that cannot receive images directly. The user saves an image to ~/lens/ (or any folder) and asks you to identify it.
Default directory: ~/lens/
Sample prompts that trigger this tool: - "What images are in my lens folder?" - "Identify the latest image" - "Check ~/lens/ for new images" - "What did I save?"
Args: directory: Folder to scan for images. Defaults to ~/lens/.
Inputs: directory. Returns: result
list_subscriptionsA
List all active feed subscriptions with item counts.
Sample prompts that trigger this tool: - "Show my subscriptions" - "What feeds am I following?" - "List all my monitored sources"
Inputs: no named parameters. Returns: result
ocr_imageA
Extract text from an image using local OCR. No internet connection needed.
Uses RapidOCR (PaddleOCR models on ONNX Runtime) to read text from screenshots, documents, photos of signs, labels, receipts, or any image containing text. Runs entirely locally.
Supports local file paths and base64-encoded image data (from drag-and-drop).
Sample prompts that trigger this tool: - "Read the text in this image: /path/to/image.jpg" - "OCR this screenshot" (with image dragged into chat) - "What does this document say? /path/to/document.jpg" - "Extract text from this image" (with image dragged into chat)
Args: image_source: Local file path or base64-encoded image data.
Inputs: image_source (required). Returns: result
paste_textA
Post text to dpaste.org and return a shareable URL.
Great for sharing code, logs, configs, or any text output. No account or API key needed. Pastes expire automatically.
Sample prompts that trigger this tool: - "Paste this code and give me a link" - "Upload this log to a pastebin" - "Share this config file online" - "Create a paste with this error output"
Args: content: The text content to paste. title: Optional title for the paste. syntax: Syntax highlighting (e.g. "python", "json", "bash"). Default: text. expiry_days: Days until the paste expires (1-365). Default: 7.
Inputs: content (required), title, syntax, expiry_days. Returns: result
read_documentA
Read and extract text from documents — PDF, Word, and plain text files.
Supported formats: - PDF (.pdf) — text extraction with pdftotext, OCR fallback for scans - Word (.docx) — paragraph and table text extraction (no extra deps) - Plain text (.txt, .md, .csv, .log, .json, .xml, .yaml, .yml, .ini, .cfg, .toml) - HTML (.html, .htm) — strips tags, returns clean text
Sample prompts that trigger this tool: - "Read this PDF: /path/to/document.pdf" - "What does this document say? /path/to/report.docx" - "Extract text from /path/to/scanned.pdf" - "Read the CSV at /path/to/data.csv" - "Show me the contents of config.yaml"
Args: file_path: Absolute path to the document file.
Inputs: file_path (required). Returns: result
search_feedsA
Full-text search across all stored feed content (articles, posts, tweets, transcripts).
Sample prompts that trigger this tool: - "Search my feeds for machine learning" - "Find mentions of GPT in my news feeds" - "What have my Reddit feeds said about Rust?" - "Search Twitter feeds for product launch" - "Look for arxiv papers about transformers in my feeds"
Args: query: Search query (supports FTS5 syntax: AND, OR, NOT, "quoted phrases"). source_type: Optionally limit to one type. Leave empty to search everything. limit: Max results to return (default 20).
Inputs: query (required), source_type, limit. Returns: result
search_transcriptA
Search inside an already-transcribed video for segments matching a keyword.
IMPORTANT: This tool searches an EXISTING transcript — it does NOT download or transcribe a video. The video must have been transcribed first with transcribe_video. If the user says "search the transcript for X" or "find where they talk about X", use THIS tool, not transcribe_video.
Returns matching segments with surrounding context so the LLM can determine the exact start and end timestamps for a topic, then call extract_video_clip.
Sample prompts that trigger this tool: - "Search the transcript for memory bandwidth" - "Find where they talk about memory bandwidth in the video" - "What timestamp do they discuss pricing?" - "When do they mention the DGX Spark specs?"
Args: url: The same video URL used with transcribe_video. query: Keyword or phrase to search for (case-insensitive). model_size: Must match the model_size used for transcription (default: tiny). context_segments: Number of surrounding segments to include (default: 2).
Inputs: url (required), query (required), model_size, context_segments. Returns: result
shorten_urlA
Shorten a long URL using TinyURL. No account or API key needed.
Sample prompts that trigger this tool: - "Shorten this URL: https://very-long-url.com/path/..." - "Give me a short link for this" - "Create a tinyurl for https://..."
Args: url: The URL to shorten.
Inputs: url (required). Returns: result
subscribeA
Subscribe to a content source for automatic monitoring and search.
Supported source types: news, reddit, hackernews, github, arxiv, youtube, podcast, twitter.
After subscribing, run check_feeds to fetch content, then search_feeds to query it.
Sample prompts that trigger this tool: - "Subscribe to BBC News" - "Follow r/LocalLLaMA on Reddit" - "Monitor Hacker News top stories" - "Watch anthropics/claude-code on GitHub for new releases" - "Subscribe to the YouTube channel @3Blue1Brown" - "Follow @elonmusk on Twitter" - "Subscribe to the machine learning arXiv category" - "Add this podcast: https://feeds.example.com/podcast.xml" - "Subscribe to CNN, NPR, and The Guardian"
Args: source_type: One of: news, reddit, hackernews, github, arxiv, youtube, podcast, twitter. identifier: Source identifier — depends on type: - news: preset name (bbc, cnn, nyt, guardian, npr, aljazeera, techcrunch, ars, verge, wired, reuters) or a custom RSS URL - reddit: subreddit name (e.g. "LocalLLaMA", "programming") - hackernews: "top", "new", or "best" - github: "owner/repo" (e.g. "anthropics/claude-code") - arxiv: shortcut (ai, ml, cv, nlp, robotics, crypto) or arXiv category like "cs.AI" - youtube: channel handle (@name), URL, or channel ID (UCxxxx) - podcast: RSS feed URL - twitter: username with or without @ (e.g. "elonmusk") name: Optional display name for this subscription.
Inputs: source_type (required), identifier (required), name. Returns: result
transcribe_localB
Transcribe a local audio or video file with timestamps using Whisper.
Supports any format FFmpeg can decode: mp3, wav, m4a, flac, ogg, aac, mp4, mkv, webm, avi, mov, wma, opus, and more.
Results are cached — repeat requests for the same file are instant.
Sample prompts that trigger this tool: - "Transcribe this recording: /path/to/meeting.mp3" - "What's said in this video? /path/to/lecture.mp4" - "Transcribe ~/Downloads/interview.wav" - "Transcribe the audio file on my desktop"
Args: file_path: Absolute path to the audio or video file. model_size: Whisper model size (tiny/base/small/medium/large). Default: tiny. language: Language code (e.g. "en", "de", "fr"). Auto-detected if empty.
Inputs: file_path (required), model_size, language. Returns: result
transcribe_videoA
Download and transcribe a YouTube video (or any video URL) with timestamps.
Downloads the audio, transcribes it locally using Whisper, and returns a full timestamped transcript. The LLM can then answer questions about the video content and point to specific timestamps.
Results are cached to disk so repeat requests for the same video are instant.
Supported model sizes: tiny, base, small, medium, large
tiny: fastest, good for most videos (~75MB, default)
base: better accuracy, slower (~150MB)
small: high accuracy, much slower (~500MB)
medium/large: best accuracy, very slow (~1.5GB/~3GB)
Models are downloaded automatically on first use.
Sample prompts that trigger this tool: - "Transcribe this video: https://youtube.com/watch?v=..." - "What is discussed in this video? https://youtube.com/watch?v=..." - "Summarize this YouTube video: https://..." - "At what timestamp do they talk about X in https://..." - "Explain the concept from 5:30 in this video: https://..."
Args: url: YouTube URL or any video URL supported by yt-dlp. model_size: Whisper model size (tiny/base/small/medium/large). Default: tiny. language: Language code (e.g. "en", "de", "fr"). Auto-detected if empty.
Inputs: url (required), model_size, language. Returns: result
unsubscribeA
Remove a subscription and all its stored content.
Sample prompts that trigger this tool: - "Unsubscribe from BBC News" - "Stop following r/LocalLLaMA" - "Remove the YouTube channel @3Blue1Brown"
Args: source_type: The source type (news, reddit, hackernews, github, arxiv, youtube, podcast, twitter). identifier: The same identifier used when subscribing.
Inputs: source_type (required), identifier (required). Returns: result
upload_to_s3A
Upload a file to MinIO, AWS S3, or any S3-compatible storage.
Works with MinIO (self-hosted), AWS S3, DigitalOcean Spaces, Backblaze B2, Cloudflare R2, and any S3-compatible service.
Credentials can be passed directly or read from environment variables: AWS_ENDPOINT_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
Sample prompts that trigger this tool: - "Upload report.pdf to my MinIO bucket" - "Upload this file to S3 bucket my-bucket" - "Store backup.tar.gz in MinIO at backup-bucket/daily/" - "Upload to my DigitalOcean Space"
Args: file_path: Local file to upload. bucket: Bucket name. key: Object key (path in bucket). Default: filename. endpoint: S3 endpoint URL (e.g. "http://localhost:9000" for MinIO). Falls back to AWS_ENDPOINT_URL env var, then AWS S3 default. access_key: Access key. Falls back to AWS_ACCESS_KEY_ID env var. secret_key: Secret key. Falls back to AWS_SECRET_ACCESS_KEY env var.
Inputs: file_path (required), bucket (required), key, endpoint, +2 more. Returns: result
visit_pageA
Fetch a web page and return its text content. Use this after google_search to read the actual content of a result.
Sample prompts that trigger this tool: - "Read this article for me: https://example.com/article" - "What does this page say? https://..." - "Summarize the content at this URL" - "Go to this link and tell me what it says"
Args: url: The full URL to visit and extract text from.
Inputs: url (required). Returns: result
wikipediaA
Look up a Wikipedia article and return its content.
Returns the article summary or full text. Supports all Wikipedia languages.
Sample prompts that trigger this tool: - "Wikipedia: quantum computing" - "Look up Albert Einstein on Wikipedia" - "What does Wikipedia say about the French Revolution?" - "Get the Wikipedia article for Python programming language" - "Wikipedia en español: inteligencia artificial"
Args: query: The topic to search for. language: Wikipedia language code (e.g. "en", "de", "fr", "es", "ja"). Default: en. sentences: Number of sentences for summary (0 = full article extract). Default: 0.
Inputs: query (required), language, sentences. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 38 tools
Most tools have clearly distinct purposes, with minor overlap between google_lens and google_lens_detect, and between transcribe_video and transcribe_local. The descriptions help resolve ambiguity.
Naming is mixed: Google services use a consistent 'google_*' prefix, but other tools use various verb_object patterns (e.g., fetch_emails, list_images) and some just a verb (subscribe, unsubscribe). The conventions are readable but not uniform.
38 tools is high for a single MCP server, pushing the boundary of manageability. However, each tool serves a distinct utility, and the set covers a broad scope. It feels more like a general-purpose toolkit than a focused server.
The tool surface covers Google services, media handling, feed management, and web archiving well, but lacks features like sending emails, deleting clips or archives, or managing subscription details. Some domains feel incomplete.
Maintenance
Related MCP Connectors
Web search API and MCP server for developers building AI agents.
An MCP server that gives your AI access to the source code and docs of all public github repos
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- AlicenseAqualityBmaintenanceA local-first, no-API-key MCP server that enables LLMs to search the web, fetch pages, and read documents using multiple engines and smart fallbacks.611176MIT
- AlicenseAqualityDmaintenanceA self-hosted MCP server that gives AI agents deep internet research capabilities — no API keys required, powered by SearxNG, Playwright, and Docker.490 npmISC
- AlicenseAqualityCmaintenanceA lightweight MCP server that gives AI assistants real-time web search and URL reading — no API keys required.2GPL 3.0
- AlicenseAqualityCmaintenanceMCP server that exposes SearXNG search and HTTP fetch tools for AI agents, enabling web search and clean page text extraction via natural language.4MIT