mcpField
S
Sitemcp

Sitemcp

ローカル
github.com/ryoppippiブラウザ自動化76128 週間前に更新

Sitemcp について

SiteMCPは、ウェブサイトのページを取得してMCPクライアントに提供する、アーカイブ済みのコマンドラインツールです。ページの絞り込み、コンテンツ長の上限、本文抽出用セレクターを設定できます。

主な機能

  1. 01ウェブページの取得
  2. 02パスによるページ指定
  3. 03コンテンツ長の上限設定
  4. 04本文用CSSセレクターの指定
  5. 05取得ページのキャッシュ

活用シーン

  1. 01サイトのドキュメントをMCPクライアントに提供
  2. 02指定したパス配下のページだけを取得
  3. 03長文コンテンツの取得上限を調整

MCP 対応

取得したウェブサイトのコンテンツをMCPサーバーとしてクライアントに公開します。プロジェクトはアーカイブ済みで、READMEではドキュメントの静的な取得を推奨しています。

設定

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

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

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

パッケージ
npmsitemcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SiteMCP

警告

このリポジトリはアーカイブされています。 このプロジェクトを使用する前に、以下のお知らせをお読みください。

アーカイブに関するお知らせ

SiteMCP は 2025 年 4 月 8 日に、Model Context Protocol の黎明期に作成されました(当時のツイート、紹介記事、日本語)。当時、MCP は登場したばかりの概念で、MCP サーバーを介してドキュメントを AI アシスタントに渡すことが、実用的な選択肢のほぼ唯一のものでした。Claude Code は従量課金プランでのみ利用でき、まだ広く普及していませんでした。また、スキルのような機能もまだ存在していませんでした。(そのため、このリポジトリのデモはすべて Claude Code Desktop で記録されています。)

当時、コーディングエージェントの能力は今より大幅に低く、LLM ネイティブのウェブ検索はせいぜい信頼性に欠けるものでした。そのため、ウェブサイト全体を取得して MCP 経由で提供することには、実際に有用性がありました。SiteMCP は、ローカルの AI アシスタントにドキュメントを提供する、最も初期かつ実用的な方法の一つだったと言えるでしょう。

その後、状況は大きく変わりました。MCP 自体は急速な成長期を経て調整期に入り、コミュニティでは静的なドキュメントに対する、よりシンプルで効率的な代替手段として、ドキュメントをダウンロード可能な Markdown ファイルとして公開する、npm パッケージで配布する、最後の手段としてウェブ検索を利用する、といった方法が定着しました。私の見解では、静的なドキュメントの提供に MCP を使うことはアンチパターンになりました。オーバーヘッドに見合う価値がないためです。このことについて、ブログで詳しく書いています。

初回リリースから 1 年が経ち、SiteMCP をアーカイブすることにしました。AI アシスタントにドキュメントを提供する必要がある場合は、上記のブログ記事で紹介した方法に従い、可能な限り静的な方法でドキュメントを取得してください。


npm バージョン NPM ダウンロード数

DeepWiki

サイト全体を取得し、MCP サーバーとして使用します

https://github.com/user-attachments/assets/ebe2d7c6-4ddc-4a37-8e1e-d80fac49d8ae

日本語のデモ https://github.com/user-attachments/assets/24288140-be2a-416c-9e7c-c49be056a373

メモ

sitemcpは、@egoistによるsitefetchのフォークです。

インストール

一時的に使用する場合は、以下から1つ選んでください。

bunx sitemcp
npx sitemcp
pnpx sitemcp

グローバルにインストールする場合は、以下から1つ選んでください。

bun i -g sitemcp
npm i -g sitemcp
pnpm i -g sitemcp

使用方法

sitemcp https://daisyui.com

# or better concurrency
sitemcp https://daisyui.com --concurrency 10
ツール名の戦略

-t, --tool-name-strategyを使ってツール名の戦略を指定します。これはMCP サーバー名として使用されます(デフォルト:domain)。 これはMCP サーバー名として使用されます。

sitemcp https://vite.dev -t domain # indexOfVite / getDocumentOfVite
sitemcp https://react-tweet.vercel.app/ -t subdomain # indexOfReactTweet / getDocumentOfReactTweet
sitemcp https://ryoppippi.github.io/vite-plugin-favicons/ -t pathname # indexOfVitePluginFavicons / getDocumentOfVitePluginFavicons
コンテンツの最大長

-l, --max-lengthを使ってコンテンツの最大長を指定します。デフォルトは2000文字です。 これは、ブログやドキュメントなど、コンテンツが長いサイトで役立ちます。 許容されるコンテンツの長さは使用するMCPクライアントによって異なるため、詳細についてはMCPクライアントのドキュメントを確認してください。 ご不明な点があれば、ぜひイシューを作成してください。

sitemcp https://vite.dev -l 10000
特定のページに一致させる

-m, --matchフラグを使って、取得するページを指定します。

sitemcp https://vite.dev -m "/blog/**" -m "/guide/**"

マッチパターンは対象ページのパス名に対してテストされます。micromatchを利用しており、サポートされているすべてのマッチング機能を確認できます。

コンテンツセレクター

ウェブページから読みやすいコンテンツを抽出するためにmozilla/readabilityを使用していますが、一部のページでは無関係なコンテンツが返されることがあります。その場合は、読みやすいコンテンツの場所を指定するCSSセレクターを設定できます。

sitemcp https://vite.dev --content-selector ".content"

MCPクライアントでの設定方法

MCPクライアント(例:Claude Desktop)からサーバーを実行できます。

以下はClaude Desktop用の設定例です。

{
  "mcpServers": {
    "daisy-ui": {
      "command": "npx",
      "args": [
        "-y",
        "sitemcp",
        "https://daisyui.com",
        "-m",
        "/components/**"
      ]
    }
  }
}

ヒント

  • ページ数の多いサイトもあります。MCPクライアントにサーバーを登録する前に、sitemcpを実行しておくと便利です。sitemcpはデフォルトでページを~/.cache/sitemcpにキャッシュします。--no-cacheフラグでキャッシュを無効にできます。

ライセンス

MIT。

スポンサー

README の画像

統計

スター履歴グラフ

Repobeatsによる統計

コメント

MCP は初めてですか?

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

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