Skip to main content
Glama

Jiro Search API 🔍

로컬 우선(Local-first), AI 네이티브 웹 검색 & 스크래핑 API — 즉시 대체 가능한(drop-in) 자체 호스팅 SerpAPI 대안으로, MCP 서버, 에이전트형 리서치, 내장된 법적 규정 준수를 제공합니다.

GitHub stars GitHub forks PyPI version Docker License: MIT Tests Python

Jiro는 Google, Bing, DuckDuckGo, Brave, YouTube, Amazon, eBay, Yandex, Baidu를 직접 스크래핑합니다 — 서드파티 검색 API가 필요 없고, 쿼리별 요금도 없으며, 클라우드 종속도 없습니다. 결과는 SQLite에 로컬로 캐시되고(캐시 응답 50ms 미만), SerpAPI 호환 REST API로 노출되며, AI 에이전트가 호출하기 좋게 설계되었습니다: OpenAI/Anthropic/Gemini용 함수 호출 스키마, Model Context Protocol(MCP) 서버, LangChain/LlamaIndex 래퍼, 그리고 계획 → 검색 → 페이지 읽기 → 출처가 포함된 답변 합성을 수행하는 에이전트형 /ai/search 루프를 제공합니다. 프록시, CAPTCHA 솔버, LLM 프로바이더는 자체 키(BYOK)를 가져와 사용하면 됩니다.

상태: 프로덕션 준비 완료 MVP(오픈소스, MIT). $0로 자체 호스팅하거나, 관리형 프록시 팜, SLA, 규정 준수 대시보드를 제공하는 Jiro Cloud를 구독할 수 있습니다. 책임 있는 사용: 검색 엔진은 봇에 적극적으로 대응합니다. 가정용 IP(그리고 BYOK 프록시 포함)에서는 Google/DuckDuckGo가 동작합니다. 데이터센터 IP에서는 Jiro가 자동으로 엔진을 폴백합니다(google → bing → brave → duckduckgo). 각 엔진의 ToS와 robots.txt를 준수하세요.


왜 Jiro인가요? (자체 호스팅 SerpAPI 대안)

폐쇄형 검색 API의 문제점

Jiro의 오픈소스 해결책

💸 SerpAPI는 10만 건 요청에 $200+/mo

평생 무료 — 내 인프라에서 실행 (MIT)

⚡ 클라우드 종속, 요청이 네트워크 밖으로 나감

100% 로컬 우선 — 내 요청, 내 데이터, 내 규정 준수

🤖 네이티브 AI 에이전트 통합 없음

MCP + Function Calling + LangChain/LlamaIndex 네이티브

⚖️ 법적 회색지대 (robots.txt, ToS)

규정 준수 내장: robots.txt 파서, ToS 추적, 변경 불가 감사 로그

🔧 취약한 파서는 UI 변경에 깨짐

자가 치유 셀렉터 + 9개 엔진 자동 폴백 체인


Related MCP server: Scout MCP Server

명령 하나로 시작하기

pip install jiro-search          # or: uv tool install jiro-search

jiro serve                       # API on http://localhost:8000  (docs: /docs)

이것이 전부입니다 — 한 번의 명령으로 동작하는 자체 호스팅 검색 API가 준비됩니다.

# Search (SerpAPI-compatible endpoint)
curl "http://localhost:8000/search.json?engine=google&q=python+web+scraping&num=5"

# Scrape a page into clean markdown
curl -X POST http://localhost:8000/scrape \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","format":"markdown"}'

# Agentic research with citations
curl -X POST http://localhost:8000/ai/search \
  -H "Content-Type: application/json" \
  -d '{"query":"What is the best Python web scraping library in 2026?","max_sources":5}'

기능 매트릭스

기능

Jiro (OSS)

Les Serp

ScraperAPI

Bright Data

웹 검색 — 9개 엔진

범용 웹 스크래퍼 (markdown/text/html/JSON)

에이전트형 리서치 (/search)

MCP 서버 (stdio + Streamable HTTP + SSE)

Function Calling 스키마 (OpenAI/Anthropic/Gemini)

법적 규정 준수 레이어 (robots.txt, ToS, 감사)

자체 호스팅 / Air-Gapped

BYOK 프록시 + CAPTCHA

부분

오픈소스 (MIT)

가격

무료

$200+/mo

$299+/mo

$500+/mo


제공 기능

영역

기능

엔진

Google (web/images/news/videos/shopping/places), Bing (web/images/news/videos), Brave (web/videos), DuckDuckGo (web/images), YouTube, Amazon, eBay, Yandex, Baidu

복구성

자동 엔진 폴백 체인, UA 순환, 재시도 + 지수 백오프, 엔진별 서킷 브레이커, 봇 벽 탐지, JavaScriptheavy 사이트용 선택형 Playwright 브라우저 폴백

Cache

SQLite(WAL) 또는 TTL 기반 Redis, fresh=true로 우회, 메모리 모드, 시맨틱 캐시(임베딩 기반 퍼지 재사용), 캐시 p95 50ms 미만

스크래퍼

URL → markdown/text/html/JSON, 그 밖의본문 추출, OpenGraph/Twitter/JSON-LD 메타데이터, 링크와 이미지, LLM 스키마 추출, custom CSS/XPath/JSONPath recipes

AI 네이티브

OpenAI/Anthropic/Gemini 도구 스키마, MCP 서버(jiro mcp), LangChain, LlamaIndex 래퍼, /ai/search 에이전트 루프, /ai/agent 다단계 리서치, SSE 스트리밍, LLM 비밀번호 없을 때 강제 폴백

BYOK

프록시(HTTP/SOCKS5, 단일 목록 또는 프리셋: BrightData/Oxyautolabs/ScraperAPI/ZenRows/Smartproxy), CAPTCHA 솔버(2Captcha/CapSolver), API 프로바이더 키(OpenAI, Anthropic, Gemini, OpenRouter, Ollama) — 모두 config/env로

고비용 작업

POST /jobs로 오래 실행되는 연구/복합 스크래프 배치, GET /jobs/{id} 상태, HMAC 서명이 있는 웹훅 전달

해시 API 키, admin/user 역할 + 스코프, 키별 속도 제한, JWT, 사용량 추적(/usage, /metrics)

운영

GET /metrics Prometheus, /proxy/status, /captcha/status, 구조화 JSON 로그, Helm 차트

프라이버시

텔레메트리 없음, 기본적으로 쿼리 기록 없음, 모든 데이터 로컬

경량

Async httpx + selectolax에서도(C 파서), 코어 의존성 15개, 1초 미만 시작


Jiro vs SerpAPI, ScraperAPI & Bright Data

Jiro는 검색 + 스크래핑 + AI 리서치 + MCP를 이진(binary) 하나에 결합하고, 법적 규정 준수가 내장된 유일한 오픈소스이자 자체 호스팅이 가능한 프로젝트입니다. 클로즈드 경쟁 업체들은 이 기능의 일부에 월 $200–$3,000를 청구하며 자체 호스팅은 허용하지 않습니다.

→ 전체 비교: vs SerpAPI · vs ScrAPI · [등 여러:docs/comparisons/bright-data.md)


AI 에이전트 통합

Model Context Protocol (MCP)

Jiro는 컴플리트 MCP 서버(stdio, Streamable HTTP, 이전 SSE)를 제공합니다 — AI 에이전트에 실시간 웹 검색,, 페이지 스크래핑, 조사를 제공합니다.

jiro mcp                           # MCP server over stdio
jiro mcp --transport http         # Streamable HTTP + SSE on :8000/mcp

도구: search (9개 엔진, 6가 검색) · scrape (markdown/text/html/JSON) · ai_search (인용을 포함한 에이전트형 리서치 ). 프롬프트: search_and_summarize, compare_engines. 자동완성: 엔진 이름, 검색 유형, 시간 범위, 형식.

Claude Desktop

{
  "mcpServers": {
    "jiro": {
      "command": "jiro",
      "args": ["mcp"],
      "env": { "JIRO_CONFIG": "~/.jiro/config.yaml" }
    }
  }
}

Cursor / Continue.dev / Zed / Cline

MCP 클라이언트에서 서버 명령어로 jiro mcp를 지정해 연결하세요 (자세한 내용: docs/mcp).

Function Calling (OpenAI / Anthropic / Gemini)

from jiro.ai.tools import openai_tools, anthropic_tools, gemini_tools
tools = openai_tools()           # OpenAI / OpenRouter / Ollama

LangChain / LlamaIndex

from jiro.ai.tools import langchain_tools, ToolSpec
tools = langchain_tools(search_fn=my_search, scrape_fn=my_scrape, ai_fn=my_ai_search)

→ 튜토리얼: Jiro + Claude(MCP)로 Deep Research 에이전트 만들기


API 참조

인터랙티브 개요는 http://localhost:8000/docs (Swagger) 및 http://localhost:8000/openapi.json에 있습니다.

메서드

경로

설명

GET

/search.json

SerpAPI와 호환 — engine, q, num, start, hl, gl, api_key, …

GET/POST

/search

영역어 / JSON body

POST

/search/batch

병렬로 최대 10개 쿼리

GET

/search/stream

SSE 스트림 (단일 또는 다중 엔진)

POST

/scrape

{url, format, include_metadata, extract_schema, recipe}

POST

/scrape/batch

최대 50개 URL

POST

/ai/search

세대 분석 → 검색 → 상위 N개 스크래핑 → 인용 출처를 포함한 정리

GET

/ai/search/stream

SSE 스트림 (plan**search**source**synthesize**answer)

POST

/ai/agent

다단계 자율 조사

POST

/ai/extract

커스텀 스키마로 URL/텍스트에서 LLM 추출

POST

/jobs

웹훅이 있는 ai_search/ai_agent/batch_scrape

GET

/health, /engines, /metrics

상태, 엔진, Promethus 카운터

POST/GET/DELETE

/api-keys

해시 키 관리 (admin)

POST

/auth/token

API 키를 JWT로 교환

인증: X-API-Key: jsk_... 헤더, ?api_key=... 파라미터, 또는 Authorization: Bearer <jwt>. auth.enabled: false(기본값)일 때 로컬 사용을 위해 API 가 개방됩니다.


CLI

jiro serve                        # start the API server
jiro search web "python scraping" --engine bing --num 5 --json
jiro scrape "https://example.com" --format markdown
jiro ask "best python scraping library?" --max-sources 5
jiro mcp                          # MCP server over stdio
jiro config init                  # write ~/.jiro/config.yaml
jiro config show
jiro keys create --name "ci" --role user        # prompts for admin key
jiro keys list
jiro keys revoke key_abc123
jiro usage --days 7
jiro plugins create myengine --author "Your Name"   # scaffold a new engine

설정 및 BYOK

설정은 ~/.jiro/config.yaml(또는 $JIRO_CONFIG)에 둡니다. 무엇이든 env로 재지정할 수 있습니다: JIRO_SERVER__PORT=9000, JIRO_AUTH__ENABLED=true. 비밀값은 env에서 대입됩니다: api_key: ${OPENAI_API_KEY}.

서비스

설정(Configuration)

환경 변수 예시

프록시 (custom)

scraping.proxy.url (쉼표 구분, 번들 로테이션)

http://user:pass@proxy.example:22225

프록시 (BrightData)

scraping.proxy.provider: brightdata + api_key

${BRIGHTDATA_API_KEY}

프록시 (Oxylabs/ScraperAPI/ZenRows/Smartproxy)

scraping.proxy.provider + api_key

${OXYLABS_API_KEY}

CAPTCHA (2Captcha / CapSolver)

scraping.captcha.provider + api_key

${CAPSOLVER_API_KEY}

LLM (OpenAI/Anthropic/Gemini/OpenRouter)

llm.provider/api_key/model

${OPENAI_API_KEY}

LLM (Ollama, 로컬)

llm.provider: ollama, base_url: http://localhost:11434/v1

Redis 캐시

cache.type: redis, cache.url

JIRO_CACHE__TYPE=redis


배포

Docker

docker compose up -d            # http://localhost:8000

Helm (Kubernetes)

helm install jiro ./helm \
  --set config.env.JIRO_AUTH__ENABLED=true \
  --set config.envFromSecret=jiro-secrets

Deployment, Service, PVC(SQLite 데이터), 선택적 Ingress 및 선택적 Redis 캐시(--set redis.enabled=true)가 포함되어 있습니다.

팀 구성 (인증 활성화)

export JIRO_AUTH__ENABLED=true JIRO_JWT_SECRET=$(openssl rand -hex 32)
jiro keys create --name admin --role admin --admin-key "$ADMIN"
jiro keys create --name "alice" --role user --rate-limit 30

💡 오픈 코어 & 수익화

Jiro는 **오픈소스(MIT)**이며 자체 호스팅은 항상 무료입니다. 지속 가능한 모델은 다음과 같습니다:

에디션

제공 사항

타이선스

대상

Jiro OSS

전체 검색/스크레이핑/AI/MCP, 모든 엔진, 플러그인, 규정 준수

MIT

모든 사람 — $0

Jiro Cloud (로드맵)

관리형 호스팅, 자동 확장, 글로벌 리지던셜 프록시 풀, SLA, SSO, 규정 준수 대시보드

SaaS

팀 및 에이전트

Jiro Enterprise (로드맵)

에어갭 라이선스(BSL-1.0), SOC 2 인증 검토, 전담 지원, 프라이빗 엔진 플러그인

소스-사용 가능

Fintech/Legal/Gov/AI Labs

저희는 편의성, 규제 준수, 지원에 대해 수익화하며, 코드는 절대 수면화하지 않습니다. 커뮤니티 기여는 계속 MIT로 유지됩니다.

→ 로드맵: docs/ROADMAP.md


문서


성능

측정 항목

시작

< 1 초

캐시된 검색 (SQLite)

~1–3 ms 인-프로세스 왕복 시간

실시간 Bing 검색

~0.3–0.8 초 (데이터센터 IP 기준)

작은 페이지 /scrape

첫 요청 ~0.3–0.9 초, 이후 캐시됨

테스트 스위트

380개의 테스트 확인


프로젝트 구조

jiro/
├── ai/            LLM providers, tool schemas, agentic loop (research + multi-step agent + SSE)
├── scraping/      HTTP client (UA rotation, retries, circuit breaker, proxy manager, browser fallback),
│                  engines: google/bing/brave/duckduckgo/youtube/amazon/ebay/yandex/baidu
├── server/        FastAPI app: routers (search, scrape, ai, stream, jobs, admin, ops, system)
├── auth.py        API keys (SHA-256 hashed), JWT, rate limiting
├── browser.py     Playwright browser fallback (lazy, graceful degradation)
├── cache.py       SQLite / memory cache manager
├── captcha.py     BYOK CAPTCHA solvers (2Captcha, CapSolver)
├── config.py      YAML + env config with ${VAR} interpolation
├── db.py          SQLite (WAL): cache, api_keys, usage, jobs, semantic_cache, tos_acknowledgments
├── extract.py     readability + metadata + HTML→Markdown
├── jobs.py        async job queue + webhooks (HMAC-signed)
├── mcp.py         MCP server (stdio): tools, prompts, resources, autocompletion
├── models.py      Pydantic contracts
├── proxy.py       BYOK proxy manager (provider presets, rotation, cooldown)
├── recipes.py     CSS / XPath / JSONPath extraction recipes
├── redis_cache.py Redis cache backend
├── semantic.py    embedding-based semantic cache
└── cli.py         Typer CLI
tests/             parser fixtures + unit/API/integration/chaos/property tests

개발

git clone https://github.com/DevAnimecx/jiro.git && cd jiro
pip install -e ".[dev,browser,redis,recipes]"
pytest -m "not network"            # skip network-dependent tests
jiro serve --reload

로드맵 상태

  • 1단계 (MVP) — ✅ CLI, 설정, FastAPI 서버, google/bing/ddg 웹 엔진, SerpAPI 호환 JSON, SQLite 캐시, API 키 인증, OpenAI 도구 스키마, /ai/search, Dockerfile.

  • 2단계 — ✅ Brave + Bing 비디오, 이미지/뉴스 유형, 팀 키, MCP 서버, LangChain/LlamaIndex 래퍼, 일괄 스크레이핑, /metrics, Playwright 폴백, BYOK 프록시 + CAPTCHA, SSE, Redis.

  • 3단계 — ✅ /ai/agent 다단계 리서치, CSS/XPath/JSONPath 레시피, LLM 추출, 플러그인 레지스트리, 비동기 작업 + 웹훅.

  • 4단계 — 일부 진행: 시맨틱 캐시 포함 완료. RAG 파이프라인, 수평 확장, 커뮤니티 파서 마켓플레이스는 향후 작업으로 남아 있습니다. Helm 차트 제공됨.


라이선스 및 책임 있는 사용

MIT. Jiro는 스크레이핑 도구입니다: 각 검색 엔진의 이용약관 및 robots을 준수하고, 요청률을 예의있게 유지하며, 프록시/CAPTCHA 서비스는 자신의 재량에 따라 사용하세요. 모든 트래픽은 여러분의 네트워크에서 발생해야 하며, 쿼리는 여러분이 검색한 엔진에서만 표시됩니다.


커뮤니티 & 지원


개발자: Adaresh Kushwah · Blackvault Technology 로컬 우선, AI 네이티브 검색 및 스크레이핑—무료이면서 오픈소스, 그리고 라이프사이클을 직접 결정할 수 있습니다.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides 42+ MCP tools for browser automation, web scraping, and search, enabling AI agents like Claude and Cursor to browse, extract data, and run research agents on the live web.
    8
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to perform web searches with full content retrieval and multi-engine provenance, including trust scoring and local corpus persistence, via MCP integration.
    4
    2
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Web research for agents: quality-scored Google search, webpage extraction, and deep research.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • The best web search for your AI Agent

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DevAnimecx/jiro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server