Skip to main content
Glama

Jiro Search API 🔍

ローカルファーストで、AIネイティブなWeb検索・スクレイピングAPI自己ホスト型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向けのFunction Callingスキーマ、Model Context Protocol(MCP)サーバー、LangChain/LlamaIndexラッパー、そして「計画 → 検索 → ページ閲覧 → 引用付き回答の合成」を行う /ai/search エージェントループを備えています。プロキシ、CAPTCHAソルバー、LLMプロバイダーには、お持ちのキー(BYOK)を使えます。

ステータス: 本番利用可能なMVP(オープンソース、MIT)です。$0 で自己ホストするか、Jiro Cloud を契約して、マネージドプロキシ群、SLA、コンプライアンスダッシュボードを利用できます。 責任ある利用: 検索エンジンはボットに積極的に防御しています。住宅用IP(およびBYOKプロキシ)では Google/DuckDuckGo が動作します。データセンターIPでは、Jiro は自動的にエンジンを切り替えます(google → bing → brave → duckduckgo)。各エンジンの利用規約と robots.txt を尊重してください。


なぜJiroか(自己ホスト型SerpAPIの代替)

クローズドな検索APIの問題点

Jiroのオープンソースによる解決策

💸 SerpAPIは10万リクエストにつき月額$200+

完全無料 — 自社インフラで実行(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) | Aero(Aqua) | AeroApi | ScrapeAPI | Bright Data | | --- | :---: | :---: | :---: | :---: | | Web検索(9エンジン) | ✅ | ✅ | ❌ | ❌ | | 汎用Webスキャラー(markdown/text/html/JSON) | ✅ | ❌ | ✅ | ✅ | | エージェント型リサーチ/ai/search) | ✅ | ❌ | ❌ | ❌ | | MCPサーバー(stdio + Streamable HTTP + SSE) | ✅ | ❌ | ❌ | ❌ | | Function Calling スキーマ(ChatGPT/Anthropic/Gemini) | ✅ | ❌ | ❌ | ❌ | | 法的コンプライアンスレイヤー(robots.txt、ToS、監査) | ✅ | ❌ | ❌ | ❌ | | 自己ホスト/エアギャップ対応 | ✅ | ❌ | ❌ | ❌ | | BYOKプロキシ+CAPTCHA対応 | ✅ | ❌ | 一部 | ✅ | | オープンソース(MIT) | ✅ | ❌ | ❌ | ❌ | | 料金 | 無料 | $200+/mo | $299+/mo | $500+/mo |


主な機能

分野

機能

検索エンジン

Google(Web/画像/ニュース/動画/ショッピング/プレイス)、Bing(Web/画像/ニュース/動画)、Brave(Web/動画)、DuckDuckGo(Web/画像)、YouTube、Amazon、eBay、Yandex、Baidu

堅牢性

自動フォールバックチェーン、UAローテーション、リトライ+指数バックオフ、エンジン別サーキットブレーカー、ボット防止壁の検知、JSが多いページのためのオプションのPlaywrightフォールバック

キャッシュ

SQLite(WAL)またはTTL付きRedis、fresh=trueでキャッシュを回避、メモリモード、セマンティックキャッシュ(埋め込みベースのあいまい再利用)、キャッシュ応答のp95 50ms未満

スクレイパー

URL→markdown/text/html/JSON、可読性抽出、OpenGraph・Twitter・JSON-LDメタデータ、リンクと画像、LLMスキーマ抽出、カスタムCSS/XPath/JSONパスレシピ

AIネイティブ

OpenAI/Anthropic/Geminiのツールスキーマ、MCPサーバーjiro mcp)、LangChain/LlamaIndexラッパー、/ai/searchエージェントループ、/ai/agent多段階リサーチ、SSEストリーミング、LLMキーがない場合の抽出フォールバック

BYOK

プロキシ(HTTP/SOCKS5、リストまたはプリセット:BrightData/Oxylabs/ScraperAPI/ZenRows/Smartproxy)、CAPTCHAソルバー(2Captcha/CapSolver)、LLMキー(OpenAI、Anthropic、Gemini、OpenRouter、Ollama)— すべて設定または環境変数で指定可能

非同期ジョブ

長時間のリサーチやスケイプのバッチは POST /jobs、状態取得は GET /jobs/{id}、HMAC署名付きWebhook配信

チーム機能

ハッシュ化されたAPIキー、管理・ユーザーロール+スコープ、キーごとのレート制限、JWT、利用状況追跡(/usage/metrics

運用

Prometheus対応の /metrics/proxy status/captcha status、構造化JSONログ、Helmチャート

プライバシー

テレメトリなし、デフォルトでクエリをログしない、データはすべてローカルに残る

軽量

非同期httpx+selectolax(Cパーサー)、依存は約15個、1秒以内に起動


Jiro vs SerpAPI、ScraperAPI、Bright Data

Jiroは、検索+スクレイピング+エージェント型AIリサーチ+MCPを1つのバイナリにまとめ、法的コンプライアンスを内蔵した、唯一のオープンソースで自己ホスト可能なプロジェクトです。クローズドな競合製品は、これらの一部だけの機能に月額$200〜$3,000を請求し、自己ホストを許しません。

→ 詳細な比較: vs SerpAPIvs ScraperAPIvs Bright Data


AIエージェント統合

Model Context Protocol (MCP)

Jiroには完全なMCPサーバー(stdio、Streamable HTTP、従来のSSE)が含まれており、AIエージェントにライブのWeb検索、ページスクレ、リサーチ機能を提供します。

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_summarizecompare_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 (現行以降) / 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)でディープリサーチエージェントを構築する


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ボディ

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、Webhook付き

GET

/health, /engines, /metrics

状態、エンジン一覧、Prometheusカウンター

POST/GET/DELETE

/api-keys

ハッシュ化されたキー管理(管理者用)

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)にあります。任意のものを環境変数で上書きできます: JIRO_SERVER__PORT=9000JIRO_AUTH__ENABLED=true。シークレットは環境変数から展開されます: api_key: ${OPENAI_API_KEY}

サービス

設定

環境変数の例

プロキシ(カスタム)

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ラボ

私たちが収益化するのは利便性・コンプライアンス・サポートであり、コードではありません。コミュニティからのコントリビューションは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抽出、プラグインレジストリ、非同期ジョブ + Webhook。

  • フェーズ4 — 部分対応: セマンティックキャッシュは導入。RAGパイプライン、水平スケーリング、コミュニティパーサー市場は今後の作業です。Helmチャートを提供しています。


ライセンスと責任ある利用

MIT。Jiroはスクレイピングツールです。各検索エンジンの利用規約とrobots.txtを尊守し、リクエストレートを自己節制し、プロキシ・CAPTCHAサービスの利用は自己の判断で行ってください。すべてのトラフィック発はあなたのネットワークから送信され、クエリはあなたが照会するエンジンにのみ表示されます。


コミュニティとサポート


開発者: Adarsh Kush進 · 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