distill-mcp について
distill-mcpは、エージェント向けにウェブページや入力済みHTMLを読みやすいMarkdownへ変換するオープンソースのMCPサーバーです。ページ情報を返し、robots.txtとAI利用拒否の指定を尊重します。
主な機能
- 01ページの主要部分をMarkdown化
- 02入力済みHTMLを取得せず変換
- 03タイトル、著者、日付、言語を返す
- 04アクセス制限と理由を報告
活用シーン
- 01エージェントに読みやすいウェブ情報を渡す
- 02既存のHTMLをMarkdownに変換
MCP 対応
MCPクライアントに`fetch_markdown`と`html_to_markdown`ツールを提供します。stdioでローカル実行し、Distill APIを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx bytestay-distill-mcpRAPIDAPI_KEYシークレットYour RapidAPI keyAPI_MARKET_KEYシークレットYour api.market key, used when RAPIDAPI_KEY is not setBYTESTAY_MARKETPLACErapidapi or apimarket, when both keys are set (the old name HFL_MARKETPLACE still works)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Distill MCP サーバー
あらゆるウェブページから、ナビゲーション、広告、スクリプトを除いたメインコンテンツのみを、すっきりした Markdown として AI エージェントに提供します。Distill は robots.txt と AI による利用のオプトアウトを尊重します。
サーバーはオープンソース(MIT)です。有料の Distill API を呼び出しますが、無料プランもあります。
- RapidAPI または api.market で取得した、ご自身のキーを使用します。
- ツールの呼び出しごとに、プランのリクエストを 1 回分消費します。
- 無料の Basic プランは月 15 回までで、厳格な上限があるため、料金が発生することはありません。
1. キーを取得する
| マーケットプレイス | |
|---|---|
| RapidAPI | プラン |
| api.market | ストア |
2. MCP クライアントにサーバーを追加する
サーバーは uv を使い、ローカルで stdio 経由で動作します。キーは環境に設定してください。
JSON 設定(Claude Desktop、Cursor、VS Code など、ほとんどのクライアントで使用できます):
{
"mcpServers": {
"distill": {
"command": "uvx",
"args": ["--from", "bytestay-distill-mcp", "distill-mcp"],
"env": { "RAPIDAPI_KEY": "your-rapidapi-key" }
}
}
}
Claude Code:
claude mcp add distill --env RAPIDAPI_KEY=your-rapidapi-key -- uvx --from bytestay-distill-mcp distill-mcp
環境変数
| 変数 | 意味 |
|---|---|
RAPIDAPI_KEY | RapidAPI キー |
API_MARKET_KEY | api.market キー。RAPIDAPI_KEY が設定されていない場合に使用されます |
HFL_MARKETPLACE | 両方のキーが設定されている場合に使用する rapidapi または apimarket |
キーがなくてもサーバーは起動します。最初のツール呼び出し時に、キーの取得先が案内されます。
Glama にも掲載されています:
3. ツール
| ツール | 機能 |
|---|---|
fetch_markdown(url, max_chars=20000, include_links=True, include_images=False, include_tables=True) | ページを取得し、タイトル、著者、日付、言語とともに、メインコンテンツを Markdown として返します |
html_to_markdown(html, base_url=None, …) | 手元にある HTML に対して同じ処理を行います。ページの取得は行いません |
サイトが取得を拒否した場合(robots.txt、noai ディレクティブ、ボット対策など)、status にその旨が示され、note でエージェントに指示を尊重するよう求めます。別の方法でページを取得しないでください。利用規約で禁止されています。
成功時の status は ok です。それ以外の値(robots_txt、opted_out、blocked、not_html、http_error、unreachable)は、コンテンツがない理由を示します。
各ツールは API の JSON レスポンスを返します。
- マーケットプレイスから報告された場合、今月のプランで残っているリクエスト数
quota_remainingが追加されます。 - エラーは、次に取るべき対応とともに、平易な言葉で説明されます。
- キーが拒否された場合は、登録用リンクが表示されます。
- クォータに達した場合は、プランが表示されます。
- API が処理できなかった入力の場合は、API が示す理由が表示されます。
プライバシー
- ローカルファイルは、ツールにそのパスを指定した場合にのみ読み込まれます。その 1 回のリクエストのために API に送信されます。
- API は入力をメモリ上で処理し、保存しません。プライバシーポリシーをご覧ください。
- キーは、選択したマーケットプレイスにのみ送信されます。
制限事項
htmlのサイズは最大 5 MB です。- HTML ページのみ対応しています。PDF などのファイルは拒否されます(ドキュメントには Unfold を使用してください)。
- サーバーには Python 3.10 以降が必要です(uv がインストールします)。
開発
uv venv && uv pip install -e ".[dev]"
.venv/bin/pytest # unit tests, no network; 100% coverage required
.venv/bin/ruff check src tests scripts
scripts/e2e_stdio.py distill は、クライアントと同様に stdio 経由でサーバーを実行し、実際の API に対してツールを呼び出します。RAPIDAPI_KEY または API_MARKET_KEY が必要です。
ライセンス
MIT。Distill 自体は、無料プランもある有料 API で、ByteStay が運営しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。