mcpField
S
Sitemcp

Sitemcp

本地服务
github.com/ryoppippi浏览器自动化76128 周前更新

关于 Sitemcp

SiteMCP 是一个已归档的命令行工具,可抓取整个网站并将页面内容提供给 MCP 客户端。它支持筛选页面、调整内容长度和指定正文选择器,适用于将网站文档接入本地 AI 助手。

主要功能

  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 日,也就是模型上下文协议(原始推文,介绍文章,日语)问世之初。当时,MCP 是一个全新的概念,通过 MCP 服务将文档传递给 AI 助手是少数切实可行的选择之一。Claude Code 当时只能通过按使用量计费的方案使用,尚未广泛普及,技能等功能也还不存在。(因此,此仓库中的所有演示都是用 Claude Code Desktop 录制的。)

那时,编码 Agent 的能力远不如现在,而原生集成大模型的网页搜索充其量也不可靠,因此,抓取整个网站并通过 MCP 提供确实很有用。可以说,SiteMCP 是最早且最实用的方式之一,能够为本地 AI 助手提供文档。

此后的发展格局发生了显著变化。MCP 本身经历了一段快速增长期,随后有所回落,而社区也逐渐转向更简单、更高效的静态文档替代方案:将文档发布为可下载的 Markdown 文件,通过 npm 包分发,或者将网页搜索作为最后的手段。在我看来,用 MCP 提供静态文档已经成了一种反模式——这种做法带来的开销实在不值得。我在博客中详细谈到了这一点:

SiteMCP 发布一年后,我决定将其归档。如果你需要为 AI 助手提供文档,请遵循我上述博客文章中的建议,并尽可能以静态方式获取文档。


npm version NPM Downloads

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 分支

安装

一次性使用(任选其一):

bunx sitemcp
npx sitemcp
pnpx sitemcp

全局安装(任选其一):

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 客户端的文档。 如有任何疑问,也欢迎提交 issue。

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/**"
      ]
    }
  }
}

提示

  • 有些网站包含大量页面。最好先运行 sitemcp,再将服务注册到 MCP 客户端。sitemcp 默认会将页面缓存到 ~/.cache/sitemcp。你可以使用 --no-cache 标志禁用缓存。

许可证

MIT。

赞助商

README 配图

统计数据

Star History Chart

Repobeats 统计数据

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。