XFetch Mcp について
XFetch Mcpは、LLMのワークフロー向けにウェブコンテンツを取得するMCPサーバーです。JavaScriptのレンダリング、CSSセレクターによる抽出、長いページの分割読み取りに対応します。
主な機能
- 01保護されたサイトのコンテンツ取得
- 02JavaScriptが必要なページのレンダリング
- 03CSSセレクターによるコンテンツ抽出
- 04動的コンテンツの読み込み待機
- 05HTMLからMarkdownへの変換
- 06長いページの分割読み取り
活用シーン
- 01動的ページを取得してLLMで分析
- 02ページ内の特定箇所を抽出
- 03長い記事を分割して読み取り
MCP 対応
MCPを通じてxfetchツールと同名のプロンプトを提供し、URLを指定したウェブコンテンツの取得と処理を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
XFetch MCP サーバー
ウェブコンテンツの取得に特化した拡張版 Model Context Protocol サーバー(強化版の fetch)です。このサーバーを使うと、通常の fetch では対応できない Cloudflare などのセキュリティシステムで保護されたページを含む、あらゆるウェブページから LLM がコンテンツを取得して処理できます。
主な機能
- 🚀 保護システムの回避:Cloudflare などのセキュリティシステムで保護されたウェブサイトのコンテンツにアクセスできます
- 🌐 JavaScript レンダリング:JavaScript の実行が必要な動的ウェブサイトからコンテンツを取得できます
- 🎯 CSS セレクター:CSS セレクターを使って、ウェブページから特定のコンテンツを抽出できます
- ⏱️ 動的コンテンツの読み込み:取得前に動的コンテンツの読み込みを待機します
- 📝 Markdown 変換:HTML を自動的に Markdown に変換し、LLM が扱いやすくします
- 🔄 分割読み込み:
start_indexパラメーターを使って、長いページを分割して読み込めます
利用可能なツール
xfetch- 高度な機能を備えたウェブコンテンツ取得ツールurl(文字列、必須):取得する URLmax_length(整数、任意):返す最大文字数(デフォルト:5000)start_index(整数、任意):コンテンツを開始する文字インデックス(デフォルト:0)raw(ブール値、任意):Markdown に変換せず、生のコンテンツを取得します(デフォルト:false)render(ブール値、任意):動的コンテンツ向けの JavaScript レンダリングを有効にします(デフォルト:false)selector(文字列、任意):特定のコンテンツを抽出する CSS セレクターtimeout(整数、任意):動的コンテンツの読み込みを待機する時間(秒、1~10 秒)
プロンプト
- xfetch
- URL を取得し、その内容を Markdown として抽出します
- 引数:
url(文字列、必須):取得する URLrender(ブール値、任意):JavaScript レンダリングを有効にしますselector(文字列、任意):コンテンツ抽出に使用する CSS セレクターtimeout(整数、任意):動的コンテンツの読み込みタイムアウト
インストール
pip を使用する場合
pip install mcp-server-xfetch
uv を使用する場合(推奨)
uv を使用する場合、特別なインストールは必要ありません。
uvx mcp-server-xfetch
設定
Claude.app の設定
Claude の設定に追加します。
uvx を使用する場合(推奨)
"mcpServers": {
"xfetch": {
"command": "uvx",
"args": ["mcp-server-xfetch"]
}
}
pip でインストールする場合
"mcpServers": {
"xfetch": {
"command": "python",
"args": ["-m", "mcp_server_xfetch"]
}
}
API トークン
XFetch サービスには、2 種類の利用プランがあります。
無料プラン
パッケージには、無料での利用を制限付きで可能にするデフォルトの API トークンが含まれています。次の用途に適しています。
- テストと評価
- 個人プロジェクト
- 小規模な非営利利用
ただし、無料プランにはレート制限があり、安定性に問題が生じることがあります。
商用/本番環境での利用
特に次の用途では、安定した信頼性の高いサービスをご利用ください。
- 商用プロジェクト
- 本番環境
- 大量のリクエスト
- 稼働時間の保証とサポート
xfetch.ai にアクセスして、次の手順を行ってください。
- 商用アカウントに登録します
- 専用 API トークンを取得します
- プレミアム機能とサポートを利用します
トークンを取得したら、次のいずれかの方法で設定できます。
# Option 1: Environment variable (recommended)
export XFETCH_API_TOKEN=your_token_here
# Option 2: Command line argument
python -m mcp_server_xfetch --api-token=your_token_here
または、Claude の設定で指定します。
"mcpServers": {
"xfetch": {
"command": "python",
"args": ["-m", "mcp_server_xfetch", "--api-token=your_token_here"]
}
}
使用例
基本的な使い方
# Simple fetch with markdown conversion
{
"url": "https://example.com"
}
JavaScript レンダリング
# Fetch from a dynamic website
{
"url": "https://dynamic-site.com",
"render": true,
"timeout": 5 # Wait up to 5 seconds for content to load
}
コンテンツの抽出
# Extract specific content using CSS selector
{
"url": "https://news-site.com",
"selector": "article.main-content",
"render": true
}
長いコンテンツの読み込み
# First request
{
"url": "https://long-article.com",
"max_length": 5000
}
# Continue reading from where it left off
{
"url": "https://long-article.com",
"start_index": 5000,
"max_length": 5000
}
デバッグ
MCP Inspector を使ってサーバーをデバッグできます。
npx @modelcontextprotocol/inspector uvx mcp-server-xfetch
コントリビューション
コントリビューションを歓迎します。新機能の追加、バグの修正、ドキュメントの改善など、皆さまのご協力をお待ちしています。
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
サポート
- ドキュメント:xfetch.ai
- 問題:GitHub Issues
- メール:[email protected]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。