Linkinator について
Linkinatorは、linkinatorを使ってウェブサイトやローカルファイルのリンクを検査するMCPサーバーです。AIアシスタントやドキュメントチーム向けに、再帰クロールとHTML、CSS、Markdownの検査を提供します。
主な機能
- 01ウェブサイトとローカルファイルのスキャン
- 02同一ドメイン内の再帰クロール
- 03HTML・CSS・Markdownの検査
- 04URLフラグメントの検証
- 05リトライ・タイムアウト・SSLの設定
- 06リンク切れとステータスコードの報告
活用シーン
- 01ウェブサイトのリンク切れを発見
- 02ローカルドキュメントのリンクを検査
- 03CSSのURLとページアンカーを検証
MCP 対応
linkinatorのコマンドラインオプションに基づく設定に対応した`scan_page`ツールを、MCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | スキャンする URL またはローカルファイルパス |
| concurrency | number | いいえ | 同時接続数(デフォルト:100) |
| port | number | いいえ | ローカルスキャン用のサーバーポート(デフォルトではランダムなポート) |
| timeout | number | いいえ | リクエストのタイムアウト時間(ミリ秒)(0 = タイムアウトなし) |
| recurse | boolean | いいえ | 同じドメイン上のリンクを再帰的にたどる |
| serverRoot | string | いいえ | サーバーの起動時に使用するカスタムディスク上の場所 |
| directoryListing | boolean | いいえ | ディレクトリインデックスファイルを自動的に配信する |
| cleanUrls | boolean | いいえ | 拡張子のないリンクの解決を有効にする(例:/about → /about.html) |
| markdown | boolean | いいえ | Markdown ファイルを解析してスキャンする |
| checkCss | boolean | いいえ | CSS プロパティ内の URL を抽出して検証する |
| checkFragments | boolean | いいえ | URL のアンカー識別子を検証する |
| linksToSkip | array | いいえ | 除外する URL パターン(正規表現文字列) |
| userAgent | string | いいえ | カスタム User-Agent ヘッダー |
| retry | boolean | いいえ | retry-after ヘッダーを使用して HTTP 429 レスポンスを再試行する |
| retryErrors | boolean | いいえ | 5xx エラーを再試行する |
| retryErrorsCount | number | いいえ | 再試行回数の上限 |
| retryErrorsJitter | number | いいえ | 再試行間のランダムな遅延(ミリ秒) |
| allowInsecureCerts | boolean | いいえ | 無効な SSL 証明書を受け入れる |
詳細
Linkinator MCP Server

linkinator を使用してリンクをチェックする機能を提供する Model Context Protocol(MCP)サーバーです。Claude などの AI アシスタントが、ウェブページやローカルファイルのリンク切れをスキャンできます。
機能
- 包括的なリンクチェック:ウェブサイトやローカルファイルのリンク切れをスキャンします
- 再帰的なクロール:同一ドメイン内のリンクをたどります
- 複数のコンテンツタイプ:HTML、CSS、Markdown ファイル内のリンクをチェックします
- フラグメントの検証:アンカーリンクと URL フラグメントを検証します
- 柔軟な設定:タイムアウト、再試行、SSL など、幅広いオプションを利用できます
- 詳細なレポート:ステータスコード、エラータイプ別に分類されたリンク切れ、親ページの情報を取得できます
クイックセットアップ(自動)
最も簡単に始めるには、install-mcp ツールを使用します。このツールは、Claude Desktop、Claude Code、Cursor、Cline、その他の MCP クライアント向けに linkinator-mcp を自動的に設定します。
npx install-mcp linkinator-mcp --client claude
これにより、すべての設定が自動的に行われます。インストール後、Claude クライアントを再起動してください。
手動設定
サーバーを手動で設定する場合は、MCP クライアントの設定ファイルを直接編集できます。
Claude Code
macOS/Linux
~/.config/claude-code/config.json を編集します。
{
"mcpServers": {
"linkinator": {
"command": "npx",
"args": ["linkinator-mcp"]
}
}
}
Windows
%APPDATA%\claude-code\config.json を編集します。
{
"mcpServers": {
"linkinator": {
"command": "npx",
"args": ["linkinator-mcp"]
}
}
}
代替方法:グローバルインストール
まず npm install -g linkinator-mcp でパッケージをグローバルにインストールする場合は、設定を簡略化できます。
{
"mcpServers": {
"linkinator": {
"command": "linkinator-mcp"
}
}
}
Claude Desktop
macOS/Linux
~/Library/Application Support/Claude/claude_desktop_config.json を編集します。
{
"mcpServers": {
"linkinator": {
"command": "npx",
"args": ["linkinator-mcp"]
}
}
}
Windows
%APPDATA%\Claude\claude_desktop_config.json を編集します。
{
"mcpServers": {
"linkinator": {
"command": "npx",
"args": ["linkinator-mcp"]
}
}
}
クライアントを再起動する
設定を更新したら、変更を反映するために Claude クライアントを再起動してください。
使用例
設定が完了すると、Claude に任意のウェブページやローカルファイルのリンクチェックを依頼できます。以下にプロンプトの例を示します。
基本的なリンクチェック
Check all the links on https://example.com
再帰スキャン
Scan https://example.com recursively and check all links on the same domain
ローカルファイルのチェック
Check the links in /path/to/my/documentation/index.html
詳細オプション
Check https://example.com with the following options:
- Recurse through all pages
- Check CSS for URLs
- Validate anchor fragments
- Skip links to google.com and facebook.com
- Use a 10 second timeout
利用可能なオプション
scan_page ツールは、linkinator のすべての CLI オプションに対応しています。
必須
- path(string):スキャンする URL またはローカルファイルのパス
接続設定
- concurrency(number):同時接続数(デフォルト:100)
- port(number):ローカルスキャン用のサーバーポート(デフォルトではランダムなポート)
- timeout(number):リクエストのタイムアウト(ミリ秒)(0 = タイムアウトなし)
クロール動作
- recurse(boolean):同一ドメイン内のリンクを再帰的にたどるかどうか
- serverRoot(string):サーバーを起動するディスク上の場所を指定します
- directoryListing(boolean):ディレクトリのインデックスファイルを自動的に配信するかどうか
- cleanUrls(boolean):拡張子のないリンクの解決を有効にします(例:/about → /about.html)
コンテンツの解析
- markdown(boolean):Markdown ファイルを解析してスキャンするかどうか
- checkCss(boolean):CSS プロパティ内の URL を抽出して検証するかどうか
- checkFragments(boolean):URL のアンカー識別子を検証するかどうか
フィルタリングとカスタマイズ
- linksToSkip(string[]):除外する URL パターン(正規表現文字列)
- userAgent(string):カスタムの User-Agent ヘッダー
リトライロジック
- retry(boolean):retry-after ヘッダーを含む HTTP 429 応答を再試行します
- retryErrors(boolean):5xx エラーを再試行します
- retryErrorsCount(number):再試行回数の上限
- retryErrorsJitter(number):再試行間のランダムな遅延時間(ミリ秒)
SSL とセキュリティ
- allowInsecureCerts(boolean):無効な SSL 証明書を受け入れます
出力形式
ツールは次のような形式のレポートを返します。
Linkinator Scan Results for: https://example.com
Summary:
Status: ✓ PASSED / ✗ FAILED
Total Links: 150
OK: 145
Broken: 5
Skipped: 0
Broken Links:
Status 404:
- https://example.com/missing-page
Found on: https://example.com/index.html
- https://example.com/old-blog-post
Found on: https://example.com/blog.html
Status 500:
- https://api.example.com/endpoint
Found on: https://example.com/docs.html
トラブルシューティング
Claude Code にサーバーが表示されない
config.jsonのパスが相対パスではなく絶対パスであることを確認します- ビルドディレクトリが存在することを確認します:
ls /path/to/linkinator-mcp/build/index.js - Claude Code のログでエラーを確認します
- Node.js が PATH に含まれていることを確認します
権限エラー
macOS/Linux で権限エラーが発生した場合:
chmod +x /path/to/linkinator-mcp/build/index.js
ポートがすでに使用されている
ローカルファイルをスキャンするときにポートエラーが発生した場合は、ポートを指定してみてください。
Check /path/to/files with port 9000
コントリビュート
コントリビューションを歓迎します。始め方の詳細はCONTRIBUTING.mdをご覧ください。
ライセンス
MIT
関連プロジェクト
- linkinator - 基盤となるリンクチェックライブラリ
- MCP Servers - MCP サーバー実装のコレクション
- Claude Code - MCP を使用する AI コーディングアシスタント
作成者
Justin Beckwith [email protected]
謝辞
Model Context Protocol SDK を使用して構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。