Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
noapi-google-search-mcp — headless Chromium을 사용하여 Google 검색 및 페이지 가져오기를 위한 MCP 서버 | Kitploit
도구/GitHubGitHub/vincentkaufmann/noapi-google-search-mcp
OSINT (Open Source Intelligence)Phishing ToolsInformation GatheringWeb SecuritySocial EngineeringUtilities & FrameworksMachine LearningLearning & EducationCrawler

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Anti-Bot
CAPTCHA Bypass
GitHubvincentkaufmann/noapi-google-search-mcp

noapi-google-search-mcp

headless Chromium을 사용하여 Google 검색 및 페이지 가져오기를 위한 MCP 서버

저장소 보기
120355일 전Kitploit 검토 완료

noapi-google-search-mcp

[email protected]

만약 noapi-google-mcp나 gpt-oss-20B/120B-Vision 및 파이프라인에 있는 기타 오픈소스 모델을 지원하고 싶으시다면 GPU 컴퓨팅 펀드에 기부해 주세요: 약 $3,000가 필요합니다.

BTC 이 도구가 유용하다고 생각하시면, 지속적인 개발과 새로운 기능을 지원해 주세요.
BTC: 16DT4AHemLyn7C6P116YepjY518gu9wUUH
ETH ETH: 0x7287D1F9c77832cFF246937af0443622bFdACD04

38개의 도구. API 키가 필요 없습니다. 모든 로컬 LLM에 실제 Google 검색, 실시간 피드, 비전, OCR, 완전한 영상 이해를 제공합니다.

로컬 LLM을 완전히 연결된 어시스턴트로 바꿔주는 MCP 서버입니다. 실제 Google 결과, 실시간 뉴스 및 소셜 피드, 역방향 이미지 검색, 오프라인 OCR, YouTube 전사 및 클립 추출 — 모두 헤드리스 Chromium과 오픈소스 ML 모델을 통해 로컬에서 실행됩니다. API 키, 사용량 제한, 클라우드 의존성이 없습니다.

LM Studio, Claude Desktop, OpenClaw, Ollama 및 모든 MCP 호환 클라이언트에서 작동합니다.


v0.3.1의 새로운 기능 — 안티봇 탐지 및 신경망 CAPTCHA 해결기

Google이 헤드리스 Chromium 브라우저를 감지하여 검색 결과 대신 CAPTCHA를 제공하기 시작했습니다 (#2). 이를 제대로 수정하고, 재미삼아 신경망 CAPTCHA 해결기까지 추가했습니다.

스텔스 패치:

  • 모든 페이지 로드 전 JavaScript 주입으로 navigator.webdriver 패치, 가짜 브라우저 플러그인, chrome.runtime, Playwright 지문 제거
  • User-Agent 불일치 수정 (aarch64이었으나, 이제 실제 Chromium 바이너리와 일치)
  • 세션 간 쿠키 유지로 Google이 신규 봇이 아닌 재방문 브라우저로 인식
  • 페이지 상호작용 사이에 사람과 유사한 임의 지연
  • 속도 제한 시 난해한 타임아웃 대신 명확한 오류 메시지 표시

신경망 CAPTCHA 해결기 (MobileNetV2 + OpenCV):

  • Google이 reCAPTCHA 이미지 챌린지("신호등이 있는 모든 이미지 선택")를 제공하면, 서버가 자동으로 해결을 시도
  • MobileNetV2(ImageNet 분류기, 약 13MB ONNX 모델, 첫 만남 시 자동 다운로드) 사용
  • OpenCV가 CAPTCHA 그리드를 셀로 분할, 각 셀은 신경망으로 분류되어 프롬프트와 매칭
  • 22가지 일반 CAPTCHA 카테고리 지원: 신호등, 버스, 자전거, 오토바이, 자동차, 교량, 보트, 기차, 트럭, 소화전, 주차 미터기, 트랙터 등
  • 셀과 확인 버튼 클릭 시 사람과 유사한 마우스 움직임
  • 지원되지 않는 챌린지 유형이면 정상적으로 대체 처리

모든 CAPTCHA를 해결할까요? 아닙니다. 하지만 일부는 통과할 것이며, 솔직히 말하면 가능해서 만들었습니다.


v0.3.0의 새로운 기능 — 16개의 새 도구

YouTube RAG — 구독, 전사, 검색, 클립

YouTube를 위한 완전한 로컬 검색 증강 파이프라인입니다. 아무 채널이나 구독하면, 피드를 확인할 때 서버가 자동으로 오디오를 다운로드하고 Whisper로 전사한 후 전체 전사본을 SQLite(FTS5 전문 검색 포함)에 저장합니다. 모든 영상의 모든 단어를 검색할 수 있게 됩니다 — LLM에 질문하면 올바른 영상에서 답변을 가져옵니다.

흥미로운 내용을 찾으셨나요? LLM에게 해당 부분을 클립으로 추출하도록 요청하세요. LLM이 전사본을 읽고 정확한 타임스탬프를 찾아 영상을 잘라냅니다. 이것은 AI/LLM 기반 영상 편집의 시작입니다 — LLM이 콘텐츠를 이해하고, 단순한 타임스탬프가 아닌 말해지는 내용에 기반하여 클립을 자릅니다.

작동 방식:

  1. YouTube 채널을 subscribe — 핸들(@3Blue1Brown), URL, 또는 채널 ID로 가능
  2. check_feeds — 새 영상이 가져와져 로컬에서 faster-whisper로 자동 전사됩니다. 전사본은 즉시 검색 가능하도록 데이터베이스에 기록됩니다. 확인당 최대 5개 영상, 재다운로드되지 않도록 캐싱됨
  3. search_feeds — 모든 전사본에 대한 전문 검색. AND, OR, NOT 및 따옴표 구문 지원. LLM이 질문에 답하는 정확한 영상과 구절을 찾습니다.
  4. extract_video_clip — LLM에게 관심 있는 내용을 알려주면 영상에서 클립을 잘라냅니다. LLM이 전사본을 사용하여 올바른 구간을 찾고 자동으로 추출합니다.``` "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"
root@kitploit:~
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?"

로컬 파일 처리

회의를 텍스트로 변환하고, 형식을 변환하고, 문서를 읽습니다 — 모두 로컬에서, 클라우드 없이.

새 도구기능 설명
transcribe_localWhisper로 로컬 오디오 또는 비디오 파일을 텍스트로 변환 (mp3, wav, mp4, mkv 등)
convert_mediaFFmpeg 형식 변환 — 비디오를 오디오로, 형식 간 변환, 비디오를 GIF로
read_documentPDF, DOCX, HTML, CSV, JSON 및 30개 이상의 텍스트 형식에서 텍스트 추출

이메일, 웹 유틸리티 및 클라우드

이메일을 가져오고, QR 코드를 생성하고, URL을 단축하고, 페이지를 아카이브하고, 위키백과를 검색하고, S3에 업로드합니다.

root@kitploit:~
**피드를 위한 추가 종속성 없음.** 전적으로 Python 표준 라이브러리로 구축됨 — 저장소는 SQLite, 검색은 FTS5, 가져오기는 urllib, 구문 분석은 xml.etree. YouTube와 Twitter는 기존 Playwright 브라우저를 사용. `convert_media`에는 FFmpeg 필요 (일반적으로 사전 설치됨).

---

## 카테고리별 38개 도구 전체

### 실시간 피드 구독
| 도구 | 설명 |
|------|-------------|
| `subscribe` | 뉴스, Reddit, HN, GitHub, arXiv, YouTube, 팟캐스트, Twitter/X 구독 |
| `unsubscribe` | 구독 및 저장된 콘텐츠 제거 |
| `list_subscriptions` | 항목 수와 함께 모든 활성 구독 나열 |
| `check_feeds` | 전체 또는 특정 소스에서 새 콘텐츠 가져오기 |
| `search_feeds` | 저장된 모든 피드 콘텐츠에 대한 전체 텍스트 검색 |
| `get_feed_items` | 소스 또는 유형별로 필터링된 최근 항목 가져오기 |

### Google 검색 및 웹
| 도구 | 설명 |
|------|-------------|
| `google_search` | 시간 필터, 사이트 필터, 페이지 매김, 언어/지역이 포함된 웹 검색 |
| `google_news` | 기사 썸네일이 인라인으로 표시되는 뉴스 검색 |
| `google_scholar` | 인용 정보가 포함된 학술 논문 |
| `google_images` | 결과가 채팅에 인라인으로 표시되는 이미지 검색 |
| `google_trends` | 시간에 따른 주제 관심도, 관련 검색어 |
| `visit_page` | 모든 URL을 가져와 읽을 수 있는 텍스트 추출 |

### 여행 및 상거래
| 도구 | 설명 |
|------|-------------|
| `google_shopping` | 가격, 매장, 평점, 이미지가 포함된 제품 검색 |
| `google_flights` | 가격 및 여행 시간이 포함된 항공편 검색 |
| `google_hotels` | 이미지, 가격, 평점, 예약 URL이 포함된 호텔 검색 |
| `google_translate` | 100개 이상의 언어 번역 |
| `google_maps` | 평점, 리뷰, 지도 스크린샷이 포함된 장소 검색 |
| `google_maps_directions` | 단계별 경로 및 지도 스크린샷이 포함된 길찾기 |

### 금융 및 정보
| 도구 | 설명 |
|------|-------------|
| `google_finance` | 주가, 시장 데이터, 회사 정보 |
| `google_weather` | 현재 상태 및 여러 날 예보 |
| `google_books` | 저자, ISBN, 발췌문이 포함된 도서 검색 |

### 비전 및 OCR
| 도구 | 설명 |
|------|-------------|
| `google_lens` | 역 이미지 검색 — 객체, 제품, 랜드마크, 텍스트 식별 |
| `google_lens_detect` | 이미지의 모든 객체 감지(OpenCV) 및 각각을 Lens로 식별 |
| `ocr_image` | 로컬에서 이미지에서 텍스트 추출(RapidOCR, 완전 오프라인) |
| `list_images` | 비전 도구와 함께 사용하기 위해 디렉토리의 이미지 파일 나열 |

### 비디오 및 오디오 인텔리전스 — AI 기반 비디오 편집
| 도구 | 설명 |
|------|-------------|
| `transcribe_video` | 타임스탬프와 함께 모든 비디오 다운로드 및 전사(faster-whisper) |
| `transcribe_local` | 로컬 오디오/비디오 파일 전사(mp3, wav, m4a, mp4, mkv 등) |
| `search_transcript` | 키워드로 전사된 비디오에서 주제 검색 |
| `extract_video_clip` | AI 기반 클립 추출 — LLM에 원하는 내용을 알리면 전사 컨텍스트를 사용하여 비디오를 잘라냄 |
| `convert_media` | FFmpeg를 통해 오디오/비디오 형식 변환 |

### 문서 및 데이터
| 도구 | 설명 |
|------|-------------|
| `read_document` | PDF, DOCX, HTML, CSV, JSON 및 30개 이상의 형식에서 텍스트 추출 |

### 이메일
| 도구 | 설명 |
|------|-------------|
| `fetch_emails` | IMAP을 통해 이메일 가져오기 — Gmail, Outlook, Yahoo, iCloud, 모든 IMAP 서버 |

### 웹 유틸리티
| 도구 | 설명 |
|------|-------------|
| `paste_text` | 텍스트를 pastebin에 게시하고 공유 가능한 URL 얻기 |
| `shorten_url` | TinyURL을 통해 모든 URL 단축 |
| `generate_qr` | QR 코드 이미지 생성(URL, Wi-Fi, 연락처, 모든 데이터) |
| `archive_webpage` | Wayback Machine에 웹페이지 보관 |
| `wikipedia` | 모든 언어의 Wikipedia 문서 검색 |

### 클라우드 저장소
| 도구 | 설명 |
|------|-------------|
| `upload_to_s3` | MinIO, AWS S3, DigitalOcean Spaces, Cloudflare R2, Backblaze B2에 파일 업로드 |

---

## 지원되는 파일 형식

### 문서 (`read_document`)
| 카테고리 | 형식 |
|----------|---------|
| 문서 | PDF (스캔 페이지용 OCR 대체 포함), DOCX |
| 웹 | HTML, HTM |
| 데이터 | CSV, JSON, XML, YAML, YML, TOML |
| 텍스트 | TXT, MD, LOG |
| 설정 | INI, CFG, CONF, ENV |
| 코드 | PY, JS, TS, GO, RS, C, CPP, H, JAVA, KT, RB, SQL, R, M, SWIFT |
| 셸 | SH, BASH, ZSH |

### 오디오 및 비디오 (`transcribe_local`, `transcribe_video`, `convert_media`)
| 카테고리 | 형식 |
|----------|---------|
| 오디오 | MP3, WAV, M4A, FLAC, OGG, AAC, WMA, OPUS |
| 비디오 | MP4, MKV, WEBM, AVI, MOV |
| 특수 | GIF (비디오-투-GIF 출력) |
| 입력 | FFmpeg가 디코딩할 수 있는 모든 형식 (수백 가지 형식) |

### 이미지 (`google_lens`, `google_lens_detect`, `ocr_image`, `list_images`)
| 카테고리 | 형식 |
|----------|---------|
| 표준 | JPG, JPEG, PNG, GIF, BMP, WEBP |
| 전문가용 | TIFF, TIF, SVG |
| 입력 방법 | 로컬 파일 경로, 공개 URL, base64 (채팅에 드래그 앤 드롭) |

---

## API 기반 대안 대신 이 도구를 사용하는 이유?

| | **noapi-google-search-mcp** | API 기반 MCP 서버 | OpenClaw 내장 |
|---|---|---|---|
| API 키 필요 | **아니요** | 예 (Google CSE API) | 예 (Brave/Perplexity) |
| 비용 | **무료** | 하루 100회 쿼리 후 유료 | API 요금 |
| 설정 시간 | **`pip install` + 실행** | Cloud 프로젝트 생성, API 활성화, 구성 | 여러 API 키 |
| 결과 품질 | **실제 Google 결과** | 맞춤 검색 엔진 | Brave 인덱스 |
| JavaScript 페이지 | **렌더링함 (Chromium)** | JS 렌더링 불가 | JS 렌더링 불가 |
| 도구 수 | **38** | 1-3 | 2 (web_search, web_fetch) |
| Google 검색 | 내장 (필터 포함) | 기본만 | 사용 불가 |
| Google Shopping | 내장 | 사용 불가 | 사용 불가 |
| Google Flights | 내장 | 사용 불가 | 사용 불가 |
| Google Hotels | 내장 | 사용 불가 | 사용 불가 |
| Google Translate | 내장 | 별도 API 필요 | 사용 불가 |
| Google Maps | 내장 (스크린샷 포함) | 사용 불가 | 사용 불가 |
| Google Maps Directions | 내장 (경로 지도 포함) | 사용 불가 | 사용 불가 |
| Google Weather | 내장 | 사용 불가 | 사용 불가 |
| Google Finance | 내장 | 사용 불가 | 사용 불가 |
| Google News | 내장 | 일반적으로 사용 불가 | 사용 불가 |
| Google Scholar | 내장 | 사용 불가 | 사용 불가 |
| Google Books | 내장 | 사용 불가 | 사용 불가 |
| Google Images | 내장 (채팅에 인라인) | 별도 API 필요 | 사용 불가 |
| Google Lens | 내장 (역 이미지 검색) | 사용 불가 | 사용 불가 |
| 객체 감지 | 내장 (OpenCV + Lens) | 사용 불가 | 사용 불가 |
| 로컬 OCR | 내장 (오프라인) | 사용 불가 | 사용 불가 |
| 비디오 전사 | 내장 (로컬 Whisper) | 사용 불가 | 사용 불가 |
| 비디오 클립 추출 | **내장 (AI/LLM 기반)** | 사용 불가 | 사용 불가 |
| YouTube RAG 파이프라인 | **내장 (구독 → 전사 → 검색)** | 사용 불가 | 사용 불가 |
| Google Trends | 내장 | 별도 API 필요 | 사용 불가 |
| 피드 구독 | **내장 (8개 소스 유형)** | 사용 불가 | 사용 불가 |
| 전체 텍스트 피드 검색 | **내장 (SQLite FTS5)** | 사용 불가 | 사용 불가 |
| 피드 자동 전사 | **내장 (YouTube → Whisper)** | 사용 불가 | 사용 불가 |
| 로컬 파일 전사 | **내장 (모든 오디오/비디오)** | 사용 불가 | 사용 불가 |
| 미디어 형식 변환 | **내장 (FFmpeg)** | 사용 불가 | 사용 불가 |
| 문서 판독기 | **내장 (PDF, DOCX 등)** | 사용 불가 | 사용 불가 |
| 이메일 통합 | **내장 (IMAP)** | 사용 불가 | 사용 불가 |
| Pastebin | **내장** | 사용 불가 | 사용 불가 |
| URL 단축기 | **내장 (TinyURL)** | 사용 불가 | 사용 불가 |
| QR 코드 생성 | **내장 (OpenCV)** | 사용 불가 | 사용 불가 |
| 웹 아카이빙 | **내장 (Wayback Machine)** | 사용 불가 | 사용 불가 |
| Wikipedia | **내장** | 사용 불가 | 사용 불가 |
| S3/MinIO 업로드 | **내장** | 사용 불가 | 사용 불가 |
| 페이지 가져오기 | 내장 | 일반적으로 별도 | 기본 |

---

## 도구 세부 정보 및 매개변수

### 피드 구독 도구

#### `subscribe` — 콘텐츠 소스 추가

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `source_type` | 소스 유형 (필수) | `"news"`, `"reddit"`, `"hackernews"`, `"github"`, `"arxiv"`, `"youtube"`, `"podcast"`, `"twitter"` |
| `identifier` | 소스 식별자 (필수) | `"bbc"`, `"LocalLLaMA"`, `"top"`, `"anthropics/claude-code"`, `"ml"`, `"@3Blue1Brown"`, `"https://..."`, `"elonmusk"` |
| `name` | 표시 이름 (선택 사항) | `"My Custom Feed"` |

**유형별 식별자 형식:**
- **news:** 사전 설정 이름 (`bbc`, `cnn`, `nyt`, `guardian`, `npr`, `aljazeera`, `techcrunch`, `ars`, `verge`, `wired`, `reuters`) 또는 모든 RSS URL
- **reddit:** 서브레딧 이름 (예: `LocalLLaMA`, `programming`)
- **hackernews:** `top`, `new` 또는 `best`
- **github:** `owner/repo` (예: `anthropics/claude-code`)
- **arxiv:** 단축어 (`ai`, `ml`, `cv`, `nlp`, `robotics`, `crypto`) 또는 `cs.AI`와 같은 카테고리
- **youtube:** 채널 핸들 (`@3Blue1Brown`), URL 또는 채널 ID (`UCxxxx`)
- **podcast:** RSS 피드 URL
- **twitter:** `@` 유무에 관계없는 사용자 이름

#### `check_feeds` — 새 콘텐츠 가져오기

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `source_type` | 하나의 유형으로 제한 (선택 사항) | `"news"`, `"reddit"` |

#### `search_feeds` — 전체 텍스트 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 검색 쿼리 (필수) — FTS5 지원: AND, OR, NOT, "따옴표로 묶인 구문" | `"machine learning"`, `"GPU NOT NVIDIA"` |
| `source_type` | 하나의 유형으로 제한 (선택 사항) | `"news"` |
| `limit` | 최대 결과 수 (기본값 20) | `10` |

#### `get_feed_items` — 최근 항목 찾아보기

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `source` | 소스 이름으로 필터링 (선택 사항) | `"BBC"`, `"LocalLLaMA"` |
| `source_type` | 유형으로 필터링 (선택 사항) | `"reddit"`, `"hackernews"` |
| `limit` | 최대 항목 수 (기본값 20) | `10` |

---

### Google 검색 도구

#### `google_search` — 웹 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 검색 쿼리 (필수) | `"best python frameworks 2025"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |
| `time_range` | 최신순 필터 | `"past_hour"`, `"past_day"`, `"past_week"`, `"past_month"`, `"past_year"` |
| `site` | 도메인으로 제한 | `"reddit.com"`, `"stackoverflow.com"`, `"github.com"` |
| `page` | 결과 페이지 (1-10, 기본값 1) | `2` |
| `language` | 언어 코드 | `"en"`, `"de"`, `"fr"`, `"ja"` |
| `region` | 국가/지역 코드 | `"us"`, `"gb"`, `"de"`, `"jp"` |

#### `google_shopping` — 제품 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 제품 검색 쿼리 (필수) | `"Sony WH-1000XM5"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

#### `google_flights` — 항공편 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `origin` | 출발 도시 또는 공항 (필수) | `"New York"`, `"LAX"` |
| `destination` | 도착 도시 또는 공항 (필수) | `"London"`, `"NRT"` |
| `date` | 출발 날짜 (선택 사항) | `"March 15"` |
| `return_date` | 귀국 날짜 (선택 사항) | `"March 22"` |

![Google 항공편](https://assets.kitploit.com/production/public/readmes/11628/67fb0af7e11f84e8b9504bbe7059412222ac9ae30c6d58d025d7231b8ba71847.png)

#### `google_hotels` — 호텔 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 위치가 포함된 호텔 검색 (필수) | `"Paris"`, `"Tokyo near Shibuya"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google 호텔](https://assets.kitploit.com/production/public/readmes/11628/53a7c43d352a8f2fd9b23b088e7630504018f1b12b27347bdf1f1f6b58b81f89.png)

#### `google_translate` — 번역

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `text` | 번역할 텍스트 (필수) | `"Hello, how are you?"` |
| `to_language` | 대상 언어 (필수) | `"Spanish"`, `"Japanese"` |
| `from_language` | 원본 언어 (선택 사항, 자동 감지) | `"English"` |

#### `google_maps` — 지도 스크린샷이 포함된 장소 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 장소 검색 쿼리 (필수) | `"pizza near Central Park"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google Maps 장소 검색](https://assets.kitploit.com/production/public/readmes/11628/39e5dd84bee338e82944175aedc0097d3cc8d44d46937f90d43663013ec5c3aa.png)

#### `google_maps_directions` — 지도와 함께 제공되는 경로 안내

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `origin` | 출발 위치 (필수) | `"Berlin"` |
| `destination` | 도착 위치 (필수) | `"Munich"` |
| `mode` | 이동 모드 (기본값 "driving") | `"driving"`, `"walking"`, `"transit"`, `"cycling"` |

![Google Maps 길찾기](https://assets.kitploit.com/production/public/readmes/11628/ef5c209452381347f03f6466093f97f7f22371bf6b8a1fd21f5c6277f94bc98d.png)

#### `google_weather` — 날씨

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `location` | 도시 또는 위치 (필수) | `"Dubai"`, `"Tokyo"` |

#### `google_finance` — 주식 및 시장 데이터

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 주식 티커 또는 회사 이름 (필수) | `"AAPL:NASDAQ"`, `"TSLA:NASDAQ"` |

![Google Finance](https://assets.kitploit.com/production/public/readmes/11628/6544467f145bd3721837fe07ebdc54fb6f18c0e16f7b92d3f2dc2a9ecd658946.png)

#### `google_news` — 뉴스 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 뉴스 검색 쿼리 (필수) | `"AI regulation"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google News](https://assets.kitploit.com/production/public/readmes/11628/701222704b96a31e1bbdc17d02faea223a3c5f8c0fafe40f801d2bbf162769ae.png)

#### `google_scholar` — 학술 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 학술 검색 쿼리 (필수) | `"transformer attention mechanism"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google Scholar](https://raw.githubusercontent.com/vincentkaufmann/noapi-google-search-mcp/HEAD/images/google_scholar.png)

#### `google_books` — 도서 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 도서 검색 쿼리 (필수) | `"machine learning"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google Books](https://raw.githubusercontent.com/vincentkaufmann/noapi-google-search-mcp/HEAD/images/google_books.png)

#### `google_images` — 이미지 검색 (채팅에 인라인)

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 이미지 검색 쿼리 (필수) | `"sunset over ocean"` |
| `num_results` | 결과 수 (1-10, 기본값 5) | `5` |

![Google 이미지 검색](https://assets.kitploit.com/production/public/readmes/11628/a47d9623012e545b5ec8abbba297822a6cc981a11e3d1a0e5c1548582080aac2.png)

![Google 이미지 검색](https://assets.kitploit.com/production/public/readmes/11628/56ce17724c1807a61362bdbd3d87e0ad510c049f50b49d17050ea08f59d23051.png)

#### `google_trends` — 트렌드

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `query` | 주제 (필수) | `"artificial intelligence"` |

---

### 비전 및 OCR 도구

#### `google_lens` — 역 이미지 검색

객체, 제품, 브랜드, 랜드마크 및 텍스트를 식별합니다. URL, 로컬 파일 및 base64 드래그 앤 드롭을 지원합니다.

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `image_source` | 이미지 URL, 파일 경로 또는 base64 (필수) | `"https://example.com/photo.jpg"` 또는 `"/home/user/image.jpg"` |

![Google Lens 역 이미지 검색](https://assets.kitploit.com/production/public/readmes/11628/6b741134ecd8334640efe8b8348169be84471943f64bd367479455510bca6e97.png)

#### `google_lens_detect` — 객체 감지 + 식별

모든 객체 감지(OpenCV), 각각 자르기, Lens를 통해 개별 식별.

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `image_source` | 로컬 파일 경로 또는 base64 (필수) | `"/home/user/photo.jpg"` |

#### `ocr_image` — 로컬 OCR (오프라인)

RapidOCR을 사용하여 이미지에서 텍스트 추출. 인터넷 불필요.

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `image_source` | 로컬 파일 경로 또는 base64 (필수) | `"/home/user/screenshot.png"` |

![로컬 OCR](https://assets.kitploit.com/production/public/readmes/11628/f9c9a531abd64ce577d3cf9990b8187063828f83762a2e2ac2aaa5a232b21eb7.png)

#### `list_images` — 이미지 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `directory` | 스캔할 폴더 (기본값 `~/lens/`) | `"/home/user/photos"` |

---

### 비디오 인텔리전스 도구

#### `transcribe_video` — 비디오 전사

faster-whisper를 사용하여 타임스탬프와 함께 모든 YouTube 동영상(또는 동영상 URL)을 다운로드 및 전사.

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `url` | YouTube 또는 동영상 URL (필수) | `"https://youtube.com/watch?v=..."` |
| `model_size` | Whisper 모델 크기 (기본값: tiny) | `"tiny"`, `"base"`, `"small"`, `"medium"`, `"large"` |
| `language` | 언어 코드 (선택 사항, 자동 감지) | `"en"` |

#### `search_transcript` — 전사 검색

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `url` | transcribe_video에 사용된 동일한 URL (필수) | `"https://youtube.com/watch?v=..."` |
| `query` | 키워드 또는 구문 (필수) | `"memory bandwidth"` |
| `context_segments` | 주변 세그먼트 수 (기본값: 2) | `3` |

#### `extract_video_clip` — 주제별 클립 추출

LLM에게 "X에 관한 부분을 추출해 줘"라고 요청하면 전사에서 타임스탬프를 찾아 클립을 잘라냅니다.

| 매개변수 | 설명 | 예시 |
|-----------|-------------|---------|
| `url` | YouTube URL 또는 로컬 동영상 (필수) | `"https://youtube.com/watch?v=..."` |
| `start_seconds` | 시작 시간(초) (필수) | `150` |
| `end_seconds` | 종료 시간(초) (필수) | `315` |
| `buffer_seconds` | 전후 추가 시간(초) (기본값: 3) | `5.0` |
| `output_filename` | 사용자 정의 파일명 (선택 사항) | `"hardware_overview"` |

---

## 샘플 프롬프트

### 피드 구독
| 입력 내용 | 호출되는 도구 |
|--------------|-------------|
| *"BBC News와 CNN 구독"* | `subscribe` |
| *"Reddit에서 r/LocalLLaMA 팔로우"* | `subscribe` |
| *"Hacker News 인기 기사 모니터링"* | `subscribe` |
| *"anthropics/claude-code의 새 릴리스 확인"* | `subscribe` |
| *"YouTube에서 @3Blue1Brown 구독"* | `subscribe` |
| *"Twitter에서 @elonmusk 팔로우"* | `subscribe` |
| *"ML arXiv 카테고리 구독"* | `subscribe` |
| *"내 피드 확인"* | `check_feeds` |
| *"내 구독에 새로운 것은?"* | `check_feeds` |
| *"내 피드에서 트랜스포머 아키텍처 검색"* | `search_feeds` |
| *"최신 Reddit 게시물 보여줘"* | `get_feed_items` |
| *"내 구독 목록은?"* | `list_subscriptions` |
| *"BBC News 구독 취소"* | `unsubscribe` |

### 웹 검색
| 입력 내용 | 호출되는 도구 | 사용된 매개변수 |
|--------------|-------------|-----------------|
| *"최고의 Python 웹 프레임워크 검색"* | `google_search` | `query` |
| *"홈 랩 설정에 관한 Reddit 토론 찾기"* | `google_search` | `query` + `site="reddit.com"` |
| *"Stack Overflow에서 비동기 Python 예제 검색"* | `google_search` | `query` + `site="stackoverflow.com"` |
| *"이번 주 AI 소식은?"* | `google_search` | `query` + `time_range="past_week"` |
| *"Hacker News에서 Rust 관련 게시물 검색"* | `google_search` | `query` + `site="news.ycombinator.com"` |
| *"ML 튜토리얼 결과의 2페이지 가져오기"* | `google_search` | `query` + `page=2` |
| *"일본어로 도쿄의 레스토랑 검색"* | `google_search` | `query` + `language="ja"` + `region="jp"` |

### 쇼핑 및 여행
| 입력 내용 | 호출되는 도구 |
|--------------|-------------|
| *"가장 저렴한 MacBook Air 찾기"* | `google_shopping` |
| *"뉴욕에서 런던까지 항공편 찾기"* | `google_flights` |
| *"다음 주말 파리 호텔 찾기"* | `google_hotels` |
| *"'hello world'를 일본어로 번역"* | `google_translate` |

### 지도 및 길찾기
| 입력 내용 | 호출되는 도구 |
|--------------|-------------|
| *"타임스퀘어 근처 이탈리안 레스토랑 찾기"* | `google_maps` |
| *"베를린에서 뮌헨까지 길찾기"* | `google_maps_directions` |
| *"에펠탑에서 루브르까지 도보 길찾기"* | `google_maps_directions` |

### 금융, 날씨 및 정보
| 입력 내용 | 호출되는 도구 |
|--------------|-------------|
| *"애플 주식 가격은?"* | `google_finance` |
| *"두바이 날씨는?"* | `google_weather` |
| *"오늘의 주요 헤드라인은?"* | `google_news` |
| *"트랜스포머 어텐션 메커니즘에 관한 논문 찾기"* | `google_scholar` |
| *"머신러닝에 관한 책 찾기"* | `google_books` |### 이미지 및 비전
| 입력 내용 | 호출 도구 |
|--------------|-------------|
| *"북극광 이미지 보여줘"* | `google_images` |
| *"이 제품이 뭐야? /path/to/photo.jpg"* | `google_lens` |
| *"이 사진의 모든 객체 감지"* | `google_lens_detect` |
| *"이 스크린샷의 텍스트 읽기"* | `ocr_image` |
| 이미지를 채팅에 끌어다 놓기 + *"이게 뭐야?"* | `google_lens` |
| 이미지를 채팅에 끌어다 놓기 + *"텍스트 읽기"* | `ocr_image` |

> **팁:** LM Studio에서 텍스트 전용 모델로 드래그 앤 드롭 이미지를 활성화하려면 모델 디렉토리에 `metadataOverrides: { vision: true }`가 포함된 `model.yaml` 파일을 추가하세요. 이미지는 base64로 전송되며 MCP 도구가 자동으로 처리합니다.

### 비디오 인텔리전스 및 AI 기반 클립 추출
| 입력 내용 | 호출 도구 |
|--------------|-------------|
| *"이 비디오를 자막 변환: https://youtube.com/watch?v=..."* | `transcribe_video` |
| *"이 비디오에서 무엇을 논의하나요?"* | `transcribe_video` |
| *"메모리 대역폭에 대해 이야기하는 부분 찾기"* | `search_transcript` |
| *"가격에 대해 논의하는 부분 추출"* | `extract_video_clip` |
| *"하드웨어 비교 섹션의 클립 잘라내기"* | `extract_video_clip` |
| *"~/meeting.mp3 자막 변환"* | `transcribe_local` |
| *"video.mp4를 mp3로 변환"* | `convert_media` |
| *"이 비디오를 GIF로 변환"* | `convert_media` |

### 문서 및 이메일
| 입력 내용 | 호출 도구 |
|--------------|-------------|
| *"이 PDF 읽기: ~/report.pdf"* | `read_document` |
| *"~/contract.docx에서 텍스트 추출"* | `read_document` |
| *"이 기사 읽어줘: https://..."* | `visit_page` |
| *"[email protected]의 이메일 확인 (비밀번호: xxxx)"* | `fetch_emails` |
| *"Outlook에서 최근 이메일 10개 가져오기"* | `fetch_emails` |

### 웹 유틸리티 및 클라우드
| 입력 내용 | 호출 도구 |
|--------------|-------------|
| *"이 URL 단축: https://very-long-url..."* | `shorten_url` |
| *"https://mysite.com의 QR 코드 생성"* | `generate_qr` |
| *"내 Wi-Fi 네트워크 QR 코드 만들기"* | `generate_qr` |
| *"이 코드를 pastebin에 게시"* | `paste_text` |
| *"이 기사 보관: https://news.example.com/story"* | `archive_webpage` |
| *"위키백과: 양자 컴퓨팅"* | `wikipedia` |
| *"독일어 위키백과에서 아폴로 11호 임무 검색"* | `wikipedia` |
| *"report.pdf를 내 MinIO 버킷에 업로드"* | `upload_to_s3` |
| *"backup.tar.gz를 S3 버킷 my-backups에 저장"* | `upload_to_s3` |

---

## 설치

### 빠른 설치 (pipx - 권장)```bash
pipx install noapi-google-search-mcp
playwright install chromium

가상 환경에 설치```bash

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

root@kitploit:~
### Python 3.13 / OCR

핵심 패키지는 3.13을 포함한 지원되는 모든 Python 버전에 설치됩니다. OCR은 선택 사항입니다. `rapidocr-onnxruntime`이 아직 Python 3.13 휠을 상위 저장소에 제공하지 않기 때문입니다 ([RapidAI/RapidOCR#579](https://github.com/RapidAI/RapidOCR/issues/579)). OCR 도구(`ocr_image` 및 `read_document`의 스캔된 PDF 대체 기능)를 제외한 모든 기능은 OCR 없이도 작동합니다.

OCR을 활성화하려면 호환되는 Python(3.10–3.12)에서 `[ocr]` 엑스트라를 추가하세요:```bash
pipx install "noapi-google-search-mcp[ocr]"

핵심 패키지를 설치한 후 추가 기능 없이 OCR 도구를 호출하면, 도구는 충돌 대신 "noapi-google-search-mcp[ocr]"를 설치하라는 짧은 메시지를 반환합니다.

설정

LM Studio

~/.lmstudio/mcp.json에 추가:```json { "mcpServers": { "google-search": { "command": "noapi-google-search-mcp", "env": { "PYTHONUNBUFFERED": "1" } } } }

root@kitploit:~
venv에 설치된 경우 전체 경로를 사용하세요: `~/.local/share/noapi-google-search-mcp/bin/noapi-google-search-mcp`

### Claude Desktop

Claude Desktop 설정에 추가하세요 (`claude_desktop_config.json`):```json
{
  "mcpServers": {
    "google-search": {
      "command": "noapi-google-search-mcp"
    }
  }
}

OpenClaw

에이전트 구성에 추가하세요:```yaml mcp_servers: google-search: command: "noapi-google-search-mcp" env: PYTHONUNBUFFERED: "1"

root@kitploit:~
이를 통해 OpenClaw 에이전트는 38개의 모든 도구 — 실제 Google 검색, 라이브 피드, 비전, OCR, 비디오 인텔리전스 — 에 API 키 없이 액세스할 수 있습니다.

### CLI로```bash
noapi-google-search-mcp

또는:```bash python -m google_search_mcp

root@kitploit:~
## 개발```bash
git clone https://github.com/VincentKaufmann/noapi-google-search-mcp.git
cd google-search-mcp
pip install -e .
playwright install chromium

라이선스

MIT

도구 다운로드
새 도구기능 설명
fetch_emailsIMAP을 통해 이메일 가져오기 — Gmail, Outlook, Yahoo, 모든 IMAP 서버
paste_text텍스트를 pastebin에 게시하고 공유 가능한 링크 얻기
shorten_urlTinyURL을 통해 모든 URL 단축
generate_qrURL, Wi-Fi, 연락처, 모든 데이터에 대한 QR 코드 이미지 생성
archive_webpage웹페이지 스냅샷을 Wayback Machine에 저장
wikipedia모든 언어의 위키백과 문서 검색, 요약 지원
upload_to_s3MinIO, AWS S3, DigitalOcean Spaces, Cloudflare R2에 파일 업로드
"Transcribe this recording: ~/meeting.mp3"
"Convert video.mp4 to mp3"
"Read this PDF: ~/report.pdf"
"Check my email: [email protected] 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"