Skip to main content
Glama
noapi-google-search-mcp

noapi-google-search-mcp

by engram-ae

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: 16DT4AHemLyn7C6P116YepjY518gu9wUUH ETH: 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 fingerprints

  • Fixed 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:

  1. subscribe to a YouTube channel — by handle (@3Blue1Brown), URL, or channel ID

  2. check_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.

  3. 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.

  4. 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

subscribe

Add any source — news RSS, Reddit, HN, GitHub, arXiv, YouTube, podcasts, Twitter/X

unsubscribe

Remove a subscription and its stored content

list_subscriptions

See all active feeds with item counts

check_feeds

Poll all subscriptions, fetch new content, auto-transcribe YouTube videos

search_feeds

Full-text search across everything your feeds have collected

get_feed_items

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_local

Transcribe any local audio or video file with Whisper (mp3, wav, mp4, mkv, etc.)

convert_media

FFmpeg format conversion — video to audio, format to format, video to GIF

read_document

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

fetch_emails

Pull emails via IMAP — Gmail, Outlook, Yahoo, any IMAP server

paste_text

Post text to a pastebin and get a shareable link

shorten_url

Shorten any URL via TinyURL

generate_qr

Generate QR code images for URLs, Wi-Fi, contacts, any data

archive_webpage

Save a webpage snapshot to the Wayback Machine

wikipedia

Look up any Wikipedia article, any language, with summary support

upload_to_s3

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

Subscribe to news, Reddit, HN, GitHub, arXiv, YouTube, podcasts, Twitter/X

unsubscribe

Remove a subscription and its stored content

list_subscriptions

List all active subscriptions with item counts

check_feeds

Fetch new content from all or specific sources

search_feeds

Full-text search across all stored feed content

get_feed_items

Get recent items filtered by source or type

Google Search & Web

Tool

Description

google_search

Web search with time filters, site filters, pagination, language/region

google_news

News search with article thumbnails inline

google_scholar

Academic papers with citations

google_images

Image search with results displayed inline in chat

google_trends

Topic interest over time, related queries

visit_page

Fetch any URL and extract readable text

Travel & Commerce

Tool

Description

google_shopping

Product search with prices, stores, ratings, images

google_flights

Flight search with prices and travel times

google_hotels

Hotel search with images, prices, ratings, booking URLs

google_translate

Translation across 100+ languages

google_maps

Places search with ratings, reviews, and map screenshots

google_maps_directions

Route directions with step-by-step and map screenshot

Finance & Info

Tool

Description

google_finance

Stock prices, market data, company info

google_weather

Current conditions and multi-day forecast

google_books

Book search with author, ISBN, snippets

Vision & OCR

Tool

Description

google_lens

Reverse image search — identify objects, products, landmarks, text

google_lens_detect

Detect all objects in an image (OpenCV) and identify each via Lens

ocr_image

Extract text from images locally (RapidOCR, fully offline)

list_images

List image files in a directory for use with vision tools

Video & Audio Intelligence — AI-Powered Video Editing

Tool

Description

transcribe_video

Download and transcribe any video with timestamps (faster-whisper)

transcribe_local

Transcribe local audio/video files (mp3, wav, m4a, mp4, mkv, etc.)

search_transcript

Search a transcribed video for topics by keyword

extract_video_clip

AI-powered clip extraction — tell the LLM what you want and it cuts the video using transcript context

convert_media

Convert between audio/video formats via FFmpeg

Documents & Data

Tool

Description

read_document

Extract text from PDF, DOCX, HTML, CSV, JSON, and 30+ formats

Email

Tool

Description

fetch_emails

Pull emails via IMAP — Gmail, Outlook, Yahoo, iCloud, any IMAP server

Web Utilities

Tool

Description

paste_text

Post text to a pastebin and get a shareable URL

shorten_url

Shorten any URL via TinyURL

generate_qr

Generate QR code images (URLs, Wi-Fi, contacts, any data)

archive_webpage

Archive a webpage on the Wayback Machine

wikipedia

Wikipedia article lookup in any language

Cloud Storage

Tool

Description

upload_to_s3

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

pip install + go

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

Source type (required)

"news", "reddit", "hackernews", "github", "arxiv", "youtube", "podcast", "twitter"

identifier

Source identifier (required)

"bbc", "LocalLLaMA", "top", "anthropics/claude-code", "ml", "@3Blue1Brown", "https://...", "elonmusk"

name

Display name (optional)

"My Custom Feed"

Identifier formats by type:

  • news: preset name (bbc, cnn, nyt, guardian, npr, aljazeera, techcrunch, ars, verge, wired, reuters) or any 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 category like cs.AI

  • youtube: 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

source_type

Limit to one type (optional)

"news", "reddit"

search_feeds — Full-Text Search

Parameter

Description

Example

query

Search query (required) — supports FTS5: AND, OR, NOT, "quoted phrases"

"machine learning", "GPU NOT NVIDIA"

source_type

Limit to one type (optional)

"news"

limit

Max results (default 20)

10

get_feed_items — Browse Recent Items

Parameter

Description

Example

source

Filter by source name (optional)

"BBC", "LocalLLaMA"

source_type

Filter by type (optional)

"reddit", "hackernews"

limit

Max items (default 20)

10


Google Search Tools

Parameter

Description

Example

query

Search query (required)

"best python frameworks 2025"

num_results

Number of results (1-10, default 5)

5

time_range

Filter by recency

"past_hour", "past_day", "past_week", "past_month", "past_year"

site

Limit to a domain

"reddit.com", "stackoverflow.com", "github.com"

page

Results page (1-10, default 1)

2

language

Language code

"en", "de", "fr", "ja"

region

Country/region code

"us", "gb", "de", "jp"

google_shopping — Product Search

Parameter

Description

Example

query

Product search query (required)

"Sony WH-1000XM5"

num_results

Number of results (1-10, default 5)

5

google_flights — Flight Search

Parameter

Description

Example

origin

Departure city or airport (required)

"New York", "LAX"

destination

Arrival city or airport (required)

"London", "NRT"

date

Departure date (optional)

"March 15"

return_date

Return date (optional)

"March 22"

Google Flights

google_hotels — Hotel Search

Parameter

Description

Example

query

Hotel search with location (required)

"Paris", "Tokyo near Shibuya"

num_results

Number of results (1-10, default 5)

5

Google Hotels

google_translate — Translation

Parameter

Description

Example

text

Text to translate (required)

"Hello, how are you?"

to_language

Target language (required)

"Spanish", "Japanese"

from_language

Source language (optional, auto-detected)

"English"

google_maps — Places Search with Map Screenshot

Parameter

Description

Example

query

Place search query (required)

"pizza near Central Park"

num_results

Number of results (1-10, default 5)

5

Google Maps Places Search

google_maps_directions — Route Directions with Map

Parameter

Description

Example

origin

Starting location (required)

"Berlin"

destination

Ending location (required)

"Munich"

mode

Travel mode (default "driving")

"driving", "walking", "transit", "cycling"

Google Maps Directions

google_weather — Weather

Parameter

Description

Example

location

City or location (required)

"Dubai", "Tokyo"

google_finance — Stock & Market Data

Parameter

Description

Example

query

Stock ticker or company name (required)

"AAPL:NASDAQ", "TSLA:NASDAQ"

Google Finance

google_news — News Search

Parameter

Description

Example

query

News search query (required)

"AI regulation"

num_results

Number of results (1-10, default 5)

5

Google News

google_scholar — Academic Search

Parameter

Description

Example

query

Academic search query (required)

"transformer attention mechanism"

num_results

Number of results (1-10, default 5)

5

google_books — Book Search

Parameter

Description

Example

query

Book search query (required)

"machine learning"

num_results

Number of results (1-10, default 5)

5

google_images — Image Search (inline in chat)

Parameter

Description

Example

query

Image search query (required)

"sunset over ocean"

num_results

Number of results (1-10, default 5)

5

Google Image Search

Google Image Search

Parameter

Description

Example

query

Topic (required)

"artificial intelligence"


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_source

Image URL, file path, or base64 (required)

"https://example.com/photo.jpg" or "/home/user/image.jpg"

Google Lens Reverse Image Search

google_lens_detect — Object Detection + Identification

Detect all objects (OpenCV), crop each one, identify individually via Lens.

Parameter

Description

Example

image_source

Local file path or base64 (required)

"/home/user/photo.jpg"

ocr_image — Local OCR (offline)

Extract text from images using RapidOCR. No internet needed.

Parameter

Description

Example

image_source

Local file path or base64 (required)

"/home/user/screenshot.png"

Local OCR

list_images — Image Discovery

Parameter

Description

Example

directory

Folder to scan (default ~/lens/)

"/home/user/photos"


Video Intelligence Tools

transcribe_video — Video Transcription

Download and transcribe any YouTube video (or video URL) with timestamps using faster-whisper.

Parameter

Description

Example

url

YouTube or video URL (required)

"https://youtube.com/watch?v=..."

model_size

Whisper model size (default: tiny)

"tiny", "base", "small", "medium", "large"

language

Language code (optional, auto-detected)

"en"

search_transcript — Transcript Search

Parameter

Description

Example

url

Same URL used with transcribe_video (required)

"https://youtube.com/watch?v=..."

query

Keyword or phrase (required)

"memory bandwidth"

context_segments

Surrounding segments (default: 2)

3

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

url

YouTube URL or local video (required)

"https://youtube.com/watch?v=..."

start_seconds

Start time in seconds (required)

150

end_seconds

End time in seconds (required)

315

buffer_seconds

Extra seconds before/after (default: 3)

5.0

output_filename

Custom filename (optional)

"hardware_overview"


Sample Prompts

Feed Subscriptions

What you type

Tool called

"Subscribe to BBC News and CNN"

subscribe

"Follow r/LocalLLaMA on Reddit"

subscribe

"Monitor Hacker News top stories"

subscribe

"Watch anthropics/claude-code for new releases"

subscribe

"Subscribe to @3Blue1Brown on YouTube"

subscribe

"Follow @elonmusk on Twitter"

subscribe

"Subscribe to the ML arXiv category"

subscribe

"Check my feeds"

check_feeds

"What's new in my subscriptions?"

check_feeds

"Search my feeds for transformer architecture"

search_feeds

"Show me the latest Reddit posts"

get_feed_items

"What are my subscriptions?"

list_subscriptions

"Unsubscribe from BBC News"

unsubscribe

What you type

Tool called

Parameters used

"Search for the best Python web frameworks"

google_search

query

"Find Reddit discussions about home lab setups"

google_search

query + site="reddit.com"

"Search Stack Overflow for async Python examples"

google_search

query + site="stackoverflow.com"

"What's new in AI this week?"

google_search

query + time_range="past_week"

"Search Hacker News for posts about Rust"

google_search

query + site="news.ycombinator.com"

"Get page 2 of results for ML tutorials"

google_search

query + page=2

"Search for restaurants in Tokyo in Japanese"

google_search

query + language="ja" + region="jp"

Shopping & Travel

What you type

Tool called

"Find the cheapest MacBook Air"

google_shopping

"Find flights from New York to London"

google_flights

"Find hotels in Paris for next weekend"

google_hotels

"Translate 'hello world' to Japanese"

google_translate

Maps & Directions

What you type

Tool called

"Find Italian restaurants near Times Square"

google_maps

"Get directions from Berlin to Munich"

google_maps_directions

"Walking directions from the Eiffel Tower to the Louvre"

google_maps_directions

Finance, Weather & Info

What you type

Tool called

"What's Apple's stock price?"

google_finance

"What's the weather in Dubai?"

google_weather

"What are today's top headlines?"

google_news

"Find papers on transformer attention mechanisms"

google_scholar

"Find books about machine learning"

google_books

Images & Vision

What you type

Tool called

"Show me images of the Northern Lights"

google_images

"What is this product? /path/to/photo.jpg"

google_lens

"Detect all objects in this photo"

google_lens_detect

"Read the text in this screenshot"

ocr_image

Drag image into chat + "What is this?"

google_lens

Drag image into chat + "Read the text"

ocr_image

Tip: To enable drag-and-drop images with text-only models in LM Studio, add a model.yaml file in the model directory with metadataOverrides: { 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=..."

transcribe_video

"What do they discuss in this video?"

transcribe_video

"Find where they talk about memory bandwidth"

search_transcript

"Extract the part where they discuss pricing"

extract_video_clip

"Cut a clip of the hardware comparison section"

extract_video_clip

"Transcribe ~/meeting.mp3"

transcribe_local

"Convert video.mp4 to mp3"

convert_media

"Convert this video to a GIF"

convert_media

Documents & Email

What you type

Tool called

"Read this PDF: ~/report.pdf"

read_document

"Extract text from ~/contract.docx"

read_document

"Read this article for me: https://..."

visit_page

"Check my email at user@gmail.com password: xxxx"

fetch_emails

"Pull my latest 10 emails from Outlook"

fetch_emails

Web Utilities & Cloud

What you type

Tool called

"Shorten this URL: https://very-long-url..."

shorten_url

"Generate a QR code for https://mysite.com"

generate_qr

"Make a QR code for my Wi-Fi network"

generate_qr

"Post this code to a pastebin"

paste_text

"Archive this article: https://news.example.com/story"

archive_webpage

"Wikipedia: quantum computing"

wikipedia

"Look up the Apollo 11 mission on Wikipedia in German"

wikipedia

"Upload report.pdf to my MinIO bucket"

upload_to_s3

"Store backup.tar.gz in S3 bucket my-backups"

upload_to_s3


Installation

pipx install noapi-google-search-mcp
playwright install chromium

Install 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 chromium

Python 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-mcp

Or:

python -m google_search_mcp

Development

git clone https://github.com/VincentKaufmann/noapi-google-search-mcp.git
cd google-search-mcp
pip install -e .
playwright install chromium

License

MIT

Available Tools

38 tools
archive_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:

  1. Uses OpenCV to detect distinct objects/regions in the image

  2. Crops each object separately

  3. Sends the original image AND each crop to Google Lens

  4. 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_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_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

    A3.6/5.0

    Scored across 38 tools

    Disambiguation4/5

    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 Consistency3/5

    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.

    Tool Count3/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers