网站MCP服务器

SiteMCP是一个将整个网站内容作为MCP服务器提供的工具,适用于早期AI助手获取文档的场景。

  • by ryoppippi
  • TypeScript
  • 本地部署
  • 761 星标
  • 更新于
在 GitHub 查看 ryoppippi/sitemcp

使用说明

SiteMCP

[!警告] 此存储库已存档。 请在使用此项目之前阅读以下通知。

档案通知

SiteMCP创建于2025年4月8日,在模型上下文协议的早期阶段(原始推文, 介绍帖子,日语).当时,MCP是一个全新的概念,通过MCP服务器将文档传递给AI助手是唯一可行的选择之一。Claude Code仅在基于使用的计划下提供,尚未得到广泛采用,技能等功能尚不存在。(因此,此存储库中的所有演示都是用Claude Code Desktop录制的。)

当时,编码代理的能力要低得多,LLM原生网络搜索充其量是不可靠的,因此获取整个网站并通过MCP提供服务真的很有用。SiteMCP可以说是向本地人工智能助理提供文档的最早、最实用的方法之一。

此后,景观发生了显著变化。MCP本身经历了一段快速增长期,随后进行了调整,社区集中在更简单、更高效的静态文档替代方案上:将文档作为可下载的Markdown文件发布,通过npm包分发,或者作为最后的手段回到网络搜索。在我看来,使用MCP来提供静态文档已经成为一种反模式——开销根本不值得。我在博客上对此进行了详细的描述:

在SiteMCP首次发布一年后,我决定将其存档。如果你需要向人工智能助手提供文档,请按照我上面博客文章中的指导,尽可能静态地获取文档。


获取整个站点并将其用作MCP服务器

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

Demo in Japanese

https://github.com/user-attachments/assets/24288140-be2a-416c-9e7c-c49be056a373

[!注意] sitemcp 是一把叉子 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客户端的文档以了解更多详细信息。 如果您有任何问题,也欢迎打开一个问题。

sitemcp https://vite.dev -l 10000

匹配特定页面

使用 -m, --match 标记以指定要获取的页面:

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

匹配模式是根据目标页面的路径名进行测试的,由micromatch提供支持,您可以查看所有支持的 匹配特征.

内容选择器

我们使用 mozilla/可读性 从网页中提取可读内容,但在某些页面上,它可能会返回不相关的内容,在这种情况下,您可以指定一个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。

赞助商

统计