VOOZH about

URL: https://glama.ai/mcp/servers/MABAAM/Maibaamcrawler?locale=ja-JP

⇱ mcp-research by MABAAM | Glama


mcp-research

Webリサーチ、学術論文、Twitter/X、YouTube、およびファイル取り込みのためのMCPサーバーです。AIアシスタント向けの8つのツールをすべてMCP stdioプロトコル経由で提供します。機関アクセス用の認証情報保管庫(クレデンシャル・ボルト)、CAPTCHA検出、トークン効率の高い出力を備えています。

ツール

ツール

説明

web_search

3段階の検索カスケード: Brave API → DuckDuckGo → HTMLスクレイパー

fetch_url

URL取得 → クリーンなMarkdown変換(SSRF保護および24時間キャッシュ付き)

research

複合パイプライン: クエリ書き換え → 検索 → 並列取得 → 要約 → 合成

youtube_essence

YouTube動画 → トランスクリプト、要約、要点、チャプター、引用

deep_ingest

ファイルからのテキスト抽出: PDF、DOCX、XLSX、PPTX、音声、動画、画像

academic_lookup

DOI / ArXiv / PubMedの解決 → メタデータ + 機関アクセス経由の全文

twitter_extract

X.com/Twitterからのツイートおよびスレッドの抽出

vault_status

ロードされた認証プロファイルと依存関係の状態を表示(シークレットは決して公開しません)

すべてのツールは読み取り専用です。コンテンツを取得および変換するだけで、何も変更しません。

Related MCP server: Research Powerpack MCP

インストール

pip install mcp-research

または uvx を使用して直接実行します(インストール不要):

uvx mcp-research

オプションの追加機能:

pip install 'mcp-research[twitter]' # yt-dlp for Twitter extraction
pip install 'mcp-research[youtube]' # yt-dlp + faster-whisper for YouTube
pip install 'mcp-research[academic]' # PyPDF2 for academic PDFs
pip install 'mcp-research[ingest]' # PDF, DOCX, XLSX, PPTX, audio support
pip install 'mcp-research[all]' # everything

セットアップの確認:

mcp-research doctor

Claude Codeでの使用

Claude CodeのMCP設定(~/.claude/settings.json またはプロジェクトの .mcp.json)に追加します:

{
 "mcpServers": {
 "research": {
 "command": "uvx",
 "args": ["mcp-research"],
 "env": {
 "BRAVE_API_KEY": "BSA...",
 "OLLAMA_URL": "http://localhost:11434"
 }
 }
 }
}

Claude Desktopでの使用

claude_desktop_config.json に追加します:

{
 "mcpServers": {
 "research": {
 "command": "uvx",
 "args": ["mcp-research"],
 "env": {
 "BRAVE_API_KEY": "BSA..."
 }
 }
 }
}

設定

すべての設定は環境変数経由で行います(オプションのボルトを除き、設定ファイルは不要です)。

変数

デフォルト

説明

BRAVE_API_KEY

(空)

Brave Search APIキー。未設定の場合はDuckDuckGoにフォールバックします。

OLLAMA_URL

http://localhost:11434

要約/合成用のOllamaエンドポイント。無効にするには空に設定します。

OLLAMA_MODEL

qwen2.5:14b

要約および合成に使用するモデル。

MCP_RESEARCH_CACHE_DIR

~/.mcp-research/cache/

URL取得キャッシュディレクトリ。

MCP_RESEARCH_CACHE_TTL

24

キャッシュのTTL(時間単位)。

MCP_RESEARCH_LOG_DIR

~/.mcp-research/logs/

検索ログディレクトリ(NDJSON)。

MCP_RESEARCH_MAX_RESULTS

10

デフォルトの最大検索結果数。

MCP_RESEARCH_VAULT_FILE

~/.mcp-research/vault.yaml

認証情報保管庫ファイルのパス。

MCP_RESEARCH_VAULT_HOT_RELOAD

true

ファイル変更時にボルトを自動リロードします。

MCP_RESEARCH_SESSION_TTL

1800

セッションのアイドルタイムアウト(秒単位)。

ツールの詳細

web_search

web_search(query, max_results=5, summarize=False, auto_fetch_top=False)

最大限の信頼性を確保するため、3段階のカスケードを使用してWebを検索します:

  1. Brave Search API — 高速で高品質(BRAVE_API_KEYが必要)

  2. DuckDuckGoライブラリ — APIキー不要、レート制限時に再試行

  3. DuckDuckGo HTMLスクレイパー — 最後の手段としてのフォールバック

オプション:

  • summarize: Ollamaを使用して結果を要約します(Ollamaの実行が必要)

  • auto_fetch_top: 上位結果の全コンテンツも取得して返します

fetch_url

fetch_url(url, summarize=False, max_chars=15000)

URLを取得し、クリーンなMarkdownに変換します:

  • SSRF保護: ローカルホスト、プライベートIP、非HTTPスキームをブロック

  • スマート再試行: 429/5xxエラー時の指数バックオフ、ホップごとのリダイレクト検証

  • 24時間キャッシュ: SHA-256キー付き、TTL設定可能

  • コンテンツサポート: HTML → Markdown、JSON → コードブロック、バイナリ → 拒否

  • スマート切り詰め: テキストの途中ではなく、見出しや段落の境界で分割

  • CAPTCHA検出: Cloudflare、hCaptcha、reCAPTCHA、Akamaiの壁をフラグ付け

  • トークン効率: デフォルト15K文字(約4Kトークン)、max_charsで調整可能

research

research(query, depth="standard", context="")

複合リサーチパイプライン:

  1. クエリ書き換え — Ollamaが質問を検索キーワードに最適化

  2. Web検索 — 関連ページを検索(結果ゼロ時の再試行拡張あり)

  3. 並列取得 — 上位Nページを並列で取得

  4. 要約 — Ollamaが各ページを要約

  5. 合成 — Ollamaが最終的な引用付き回答を作成

深度レベル:

深度

ページ数

合成

quick

2

なし

standard

5

あり

deep

10

あり

すべてのステップはOllamaなしでも正常に機能します。その場合でも検索結果とページコンテンツは取得可能です。

youtube_essence

youtube_essence(url, mode="standard")

YouTube動画から構造化されたコンテンツを抽出します:

  • トランスクリプト: 自動字幕またはWhisperによる文字起こし(ローカル、プライベート)

  • 要約: OllamaによるAI要約

  • 要点: 箇条書きのまとめ

  • チャプター: タイムスタンプ付きセグメント

  • 引用: 注目すべき引用(ディープモード)

モード: quick (TL;DR), standard (+チャプター), deep (+引用)

yt-dlpが必要です。オプション: 音声のみの動画にはfaster-whisper、メディア抽出にはffmpeg

deep_ingest

deep_ingest(path, include_types="", max_files=200, summarize=False)

ディレクトリ内のファイルまたは単一ファイルからテキストを抽出します:

  • テキストファイル: .txt, .md, .json, .csv, ソースコードなど

  • PDF: PyPDF2経由(オプションの依存関係)

  • Office: .docx, .xlsx, .pptx(オプションの依存関係)

  • 音声/動画: Whisper文字起こし(オプション)

  • 画像: OllamaビジョンモデルによるOCR(オプション)

タイプフィルター: text, pdf, audio, video, image, office

academic_lookup

academic_lookup(identifier, fetch_fulltext=True)

複数の識別子タイプから学術論文を解決します:

  • DOI: 10.xxxx/... → Crossrefメタデータ + 出版社リダイレクト

  • ArXiv: 2301.12345 → アブストラクト + PDF

  • PubMed: PMID → E-utilitiesメタデータ → DOIチェーン

  • URL: 出版社ページの検出

認証情報保管庫経由の全文アクセス:

  • EZproxy書き換え(プレフィックスおよびサフィックスモード)

  • Bearerトークン、APIキー、基本認証、クッキーJar

  • 自動出版社検出(IEEE, Springer, Elsevier, ACM, Wiley, Nature, JSTORなど)

twitter_extract

twitter_extract(url, include_thread=False)

戦略カスケードを使用してX.com/Twitterからツイートとスレッドを抽出します:

  1. yt-dlp (プライマリ) — 認証済みアクセスのためにクッキーJarと連携

  2. Twitter API v2 — ボルトにBearerトークンが設定されている場合

  3. HTML取得 — クッキーベースの最後の手段

戻り値: テキスト、作成者、タイムスタンプ、指標(いいね、リツイート、返信)、メディアURL。

vault_status

vault_status()

ロードされた認証プロファイル、一致パターン、認証タイプを表示します。シークレットは決して公開しません。また、オプションの依存関係の可用性もチェックします。

認証情報保管庫(Credential Vault)

~/.mcp-research/vault.yaml を作成して、保護されたソースの認証を設定します:

version: 1
profiles:
 # University EZproxy for IEEE
 ieee-university:
 match: "*.ieee.org/**"
 ezproxy:
 base_url: "https://ezproxy.myuniversity.edu/login?url="
 mode: prefix

 # Springer via API key
 springer:
 match: "*.springer.com/**"
 auth:
 type: api_key
 header: "X-ApiKey"
 value: "${SPRINGER_API_KEY}"

 # X.com via browser cookies
 twitter:
 match: "*.x.com/**"
 auth:
 type: cookie_jar
 path: "${HOME}/.mcp-research/cookies/twitter.txt"
  • ${VAR} は環境変数から解決されます。シークレットはプレーンテキストで保存されません。

  • 最初に一致したプロファイルが優先されます(順序が重要です)

  • 認証タイプ: bearer, basic, api_key, cookie_jar, headers

  • EZproxyモード: prefix(ベースURLを先頭に追加)または suffix(ドメイン書き換え)

  • ホットリロード: ボルトファイルの変更は自動的に反映されます

トークン効率

すべてのツールは、AIのコンテキストウィンドウのトークンを無駄にしないよう、デフォルトでコンパクトな出力を生成します:

ツール

デフォルト出力

オーバーライド

fetch_url

約15K文字(約4Kトークン)

max_chars パラメータ

research

ソースあたり約500トークン

生コンテンツより要約を優先

academic_lookup

約10K文字の全文

通知付きで切り詰め

deep_ingest

15ファイル、300文字の抜粋

max_files パラメータ

youtube_essence

3K文字のトランスクリプト抜粋

結果オブジェクトに全文トランスクリプト

安全性と堅牢性

  • SSRF保護: すべてのホップでローカルホスト、プライベートIP、リンクローカル、非HTTPスキームをブロック

  • CAPTCHA検出: Cloudflare、hCaptcha、reCAPTCHA、Akamai、DDoS-Guardの壁を識別

  • 入力検証: サイズ制限、URL検証、安全なリダイレクト追跡

  • eval/execなし: 動的なコード実行は行いません

  • ボルトのセキュリティ: シークレットは環境変数から解決され、repr()ですべての認証値を秘匿します

  • キャッシュの分離: 所有者のみのディレクトリ権限 (0o700)

  • 正常な劣化: オプションの依存関係が欠けていてもクラッシュせず、明確なメッセージで機能が劣化します

CLI

mcp-research serve # Run MCP stdio server (default)
mcp-research search "query" # Search the web
mcp-research fetch https://example.com # Fetch URL to markdown
mcp-research youtube https://youtu.be/... # Extract YouTube video
mcp-research ingest ./docs/ # Extract text from files
mcp-research academic "10.1109/..." # Resolve academic paper
mcp-research tweet https://x.com/.../123 # Extract tweet
mcp-research vault # Show vault profiles
mcp-research doctor # Check dependencies

開発

git clone https://github.com/MABAAM/Maibaamcrawler.git
cd Maibaamcrawler
pip install -e ".[all]"
pytest tests/ -v
python -m mcp_research

変更履歴

v0.3.0

  • 認証情報保管庫: ~/.mcp-research/vault.yaml でのYAML設定。環境変数の補間、glob URLマッチング、EZproxy書き換え、ホットリロードに対応

  • セッションプーリング: ボルト認証注入、クッキーJarサポート、アイドル時の破棄を備えたドメインごとのセッション

  • CAPTCHA検出: Cloudflare、hCaptcha、reCAPTCHA、Akamai、DDoS-Guard、一般的なボットの壁を識別

  • 学術検索: DOI/ArXiv/PubMedの解決、Crossrefメタデータ、ボルト経由の機関全文アクセス

  • Twitter/X抽出: yt-dlp、API v2、スレッドサポート付きのクッキーベースアクセス

  • トークン効率: AIコンテキストを維持するためのデフォルト出力上限(取得時は約4Kトークン、リサーチソースあたり約500トークン)

  • Doctorコマンド: mcp-research doctor で依存関係と設定をすべてチェック

  • Windowsエンコーディング修正: UTF-8 stdout/stderrラッパーによりcp1252クラッシュを防止

v0.2.0

  • YouTube essence: トランスクリプト抽出、AI要約、要点、チャプター、引用

  • Deep ingest: PDF, DOCX, XLSX, PPTX, 音声, 動画, 画像テキスト抽出

  • Ollama統合: クエリ書き換え、要約、合成、ビジョンOCR

  • 検索ログ: すべての操作に対するNDJSONイベントログ

  • Brave Search: APIキーサポートを備えたプライマリ検索階層

v0.1.0

  • 初回リリース: 3つのツール (web_search, fetch_url, research)、SSRF保護、キャッシュ

ライセンス

MIT

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (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.

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/MABAAM/Maibaamcrawler'

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