mcpField
L
Linkinator

Linkinator

ローカル
github.com/JustinBeckwith開発ツール32 週間前に更新

Linkinator について

Linkinatorは、linkinatorを使ってウェブサイトやローカルファイルのリンクを検査するMCPサーバーです。AIアシスタントやドキュメントチーム向けに、再帰クロールとHTML、CSS、Markdownの検査を提供します。

主な機能

  1. 01ウェブサイトとローカルファイルのスキャン
  2. 02同一ドメイン内の再帰クロール
  3. 03HTML・CSS・Markdownの検査
  4. 04URLフラグメントの検証
  5. 05リトライ・タイムアウト・SSLの設定
  6. 06リンク切れとステータスコードの報告

活用シーン

  1. 01ウェブサイトのリンク切れを発見
  2. 02ローカルドキュメントのリンクを検査
  3. 03CSSのURLとページアンカーを検証

MCP 対応

linkinatorのコマンドラインオプションに基づく設定に対応した`scan_page`ツールを、MCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"linkinator": {
"command": "npx",
"args": [
"-y",
"linkinator-mcp"
]
}
}
}
起動コマンドnpx -y linkinator-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmlinkinator-mcp1.0.3

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
pathstringはいスキャンする URL またはローカルファイルパス
concurrencynumberいいえ同時接続数(デフォルト:100)
portnumberいいえローカルスキャン用のサーバーポート(デフォルトではランダムなポート)
timeoutnumberいいえリクエストのタイムアウト時間(ミリ秒)(0 = タイムアウトなし)
recursebooleanいいえ同じドメイン上のリンクを再帰的にたどる
serverRootstringいいえサーバーの起動時に使用するカスタムディスク上の場所
directoryListingbooleanいいえディレクトリインデックスファイルを自動的に配信する
cleanUrlsbooleanいいえ拡張子のないリンクの解決を有効にする(例:/about → /about.html)
markdownbooleanいいえMarkdown ファイルを解析してスキャンする
checkCssbooleanいいえCSS プロパティ内の URL を抽出して検証する
checkFragmentsbooleanいいえURL のアンカー識別子を検証する
linksToSkiparrayいいえ除外する URL パターン(正規表現文字列)
userAgentstringいいえカスタム User-Agent ヘッダー
retrybooleanいいえretry-after ヘッダーを使用して HTTP 429 レスポンスを再試行する
retryErrorsbooleanいいえ5xx エラーを再試行する
retryErrorsCountnumberいいえ再試行回数の上限
retryErrorsJitternumberいいえ再試行間のランダムな遅延(ミリ秒)
allowInsecureCertsbooleanいいえ無効な SSL 証明書を受け入れる

詳細

Linkinator MCP Server

npm version CI Biome codecov

linkinator-mcp

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 にサーバーが表示されない
  1. config.json のパスが相対パスではなく絶対パスであることを確認します
  2. ビルドディレクトリが存在することを確認します:ls /path/to/linkinator-mcp/build/index.js
  3. Claude Code のログでエラーを確認します
  4. 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 を使用して構築されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。