Mercury Parser について
Mercury Parserは、ウェブ記事をMarkdownとして抽出するMCPサーバーです。ヘッドレスChromiumでJavaScriptページを描画し、ページネーションをたどります。ブラウザー操作に失敗した場合は直接取得に切り替えます。
主な機能
- 01記事情報と本文をMarkdownで抽出
- 02PlaywrightによるJavaScriptページの描画
- 03ページネーションへの追従
- 04リクエストごとのプロキシ設定
- 05直接取得へのフォールバック
活用シーン
- 01ウェブ記事のMarkdown化
- 02JavaScript描画ページからのコンテンツ抽出
- 03ページ分割された記事の取得
MCP 対応
ページURLと任意のプロキシを受け取る`extract`ツールを公開し、記事情報と本文をMarkdownで返します。stdioとStreamable HTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mercury-parser
<PRIVATE_PERSON>/mercury-parser(Postlight Parser のメンテナンス版フォーク)をラップした MCP サーバーです。ヘッドレス Chromium(Playwright)でウェブページを取得するため、JavaScript によってレンダリングされたコンテンツも取得できます。その後、Mercury Parser で記事を抽出し、Markdown として返します。ページネーションのリンクも自動的にたどります。
ツール
サーバーは単一のツールを公開します。
extract
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | 抽出するページの URL |
proxy | string | いいえ | ヘッドレスブラウザー用のプロキシ URL。例:http://host:port、socks5://host:port、http://user:pass@host:port。この呼び出しでは MERCURY_PROXY 環境変数を上書きします。 |
記事を Markdown(タイトル、著者、日付、要約、コンテンツ)として返します。Playwright でエラーが発生した場合(HTTP/2 プロトコルエラー、ナビゲーションのタイムアウトなど)、Mercury Parser による直接取得にフォールバックし、部分的なコンテンツも返します。
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
MCP_TRANSPORT | stdio | stdio または http。リモート/Streamable HTTP トランスポートには http を使用します。 |
MCP_HOST | 127.0.0.1 | MCP_TRANSPORT=http の場合のバインドアドレス。 |
MCP_PORT | 3000 | MCP_TRANSPORT=http の場合のバインドポート。 |
MCP_PATH | /mcp | MCP_TRANSPORT=http の場合の URL パス。 |
MERCURY_PROXY | — | ヘッドレスブラウザーのデフォルトプロキシ。ツール引数 proxy によって呼び出しごとに上書きされます。 |
使用方法
Claude Desktop(ローカル stdio)
claude_desktop_config.json に追加します。
{
"mcpServers": {
"mercury-parser": {
"command": "npx",
"args": [
"@koichikawamura/mercury-parser",
"mercury-parser-mcp"
]
}
}
}
毎回の呼び出しでヘッドレスブラウザーをプロキシ経由にするには、次のようにします。
{
"mcpServers": {
"mercury-parser": {
"command": "npx",
"args": [
"@koichikawamura/mercury-parser",
"mercury-parser-mcp"
],
"env": {
"MERCURY_PROXY": "socks5://localhost:1080"
}
}
}
}
リモート MCP(Streamable HTTP)
サーバーを HTTP 経由で実行します。リバースプロキシ/Cloudflare Tunnel の背後で使用する場合に便利です。
MCP_TRANSPORT=http \
MCP_HOST=127.0.0.1 \
MCP_PORT=3030 \
MERCURY_PROXY=http://your-proxy:3128 \
npx @koichikawamura/mercury-parser mercury-parser-mcp
クライアントは http://<host>:<port>/mcp でアクセスできます。クライアント側で mcp-remote と組み合わせるか、OAuth 対応プロキシ(例:Cloudflare Access)でエンドポイントが保護されている場合は、Claude.ai/ChatGPT のコネクターとして直接登録してください。
CLI(臨時のテスト)
node extractContent.js <url> [proxy]
要件
- Node.js 18+
- Playwright Chromium(未インストールの場合、初回起動時に自動インストールされます)
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。