mcpField
M
mcp-my-site

mcp-my-site

远程服务
github.com搜索与检索54 天前更新

关于 mcp-my-site

mcp-my-site 可将单个网站爬取并建立关键词或混合索引,再通过 ASP.NET Core 提供 MCP 搜索与抓取工具,也可供网站搜索框调用 JSON API。适用于希望让 AI 客户端检索并阅读网站内容的网站运营者。

主要功能

  1. 01网站爬取与索引构建
  2. 02关键词与向量混合搜索
  3. 03MCP 搜索和抓取工具
  4. 04供网站使用的 JSON 搜索 API
  5. 05索引更新后热切换
  6. 06支持 OpenAI 兼容嵌入服务

适用场景

  1. 01让 AI 客户端查找网站页面内容
  2. 02为网站搜索框提供索引查询接口
  3. 03无需 API 密钥构建关键词索引
  4. 04通过嵌入服务增强语义检索

MCP 相关

服务器通过 Streamable HTTP 暴露 search 和 fetch 工具,并根据网站生成服务器说明。命令行索引器负责爬取网站并构建供服务读取的索引。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://ai.pournasserian.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
ocighcr.io/pournasserian/mcp-my-site:0.3.0

工具

详细介绍

mcp-my-site

CI License: MIT .NET 10

将它指向你的网站,ChatGPT、Claude 和任何其他 MCP 客户端就能搜索和阅读网站内容。

命令行索引器会爬取网站,并构建关键词与向量混合索引。一个小型 ASP.NET Core 应用将该索引作为带有 search 和 fetch 工具的 MCP 服务提供,同时也提供 JSON 搜索 API,供网站自己的搜索框使用。每个服务对应一个网站,适用于页面数少于 1,000 的网站。

立即试用

一个在线实例已为 pournasserian.com 建立索引:

MCP 端点https://ai.pournasserian.com/mcp
搜索 APIhttps://ai.pournasserian.com/api/search?q=mcp%20caching
API 参考https://ai.pournasserian.com/docs
claude mcp add --transport http pournasserian https://ai.pournasserian.com/mcp

然后询问 Claude Code 与该网站相关的问题。对于 ChatGPT,将此端点添加为连接器;这些工具遵循连接器所期望的 search 和 fetch 契约。

快速开始

你需要 .NET 10 SDK。无需其他依赖:第一个索引仅使用关键词,因此不需要 API 密钥。

dotnet tool install --global mcpmysite
mcpmysite init https://example.com --keyword-only   # writes appsettings.json
mcpmysite build                                     # crawls the site into ./index
mcpmysite search "how can I contact you"            # checks the index
docker run --rm -p 5000:8080 -v "$PWD/index:/index:ro" -e Index__Path=/index ghcr.io/pournasserian/mcp-my-site:latest

如果不使用 Docker,请克隆仓库,并在克隆目录中通过 Index__Path=index dotnet run --project src/McpMySite.Server 从源码运行服务,或将其发布(用户指南)。索引器也可以在克隆目录中通过 dotnet run --project src/McpMySite.Indexer -- ... 运行,这是试用尚未发布更改的方式。

现在服务已运行在 http://localhost:5000:/mcp 供 Agent 使用,/api/search?q=contact 提供 JSON,/healthz 用于检查已加载的索引。/ 上的首页会介绍如何连接各个客户端,以及如何使用 MCP Inspector 测试服务。

claude mcp add --transport http mysite http://localhost:5000/mcp

升级为混合搜索。 关键词搜索匹配词语;混合搜索还可以匹配含义,也是在线实例所使用的方式。它需要 OpenAI 兼容嵌入端点的 API 密钥,默认使用 OpenRouter,也可选择其他提供商;密钥从 AI_API_KEY 读取,绝不会写入文件。为小型网站生成嵌入只需不到一美分。

export AI_API_KEY=sk-...
# in appsettings.json, under Embeddings, change "Enabled": false to true, then rebuild and serve
mcpmysite build
docker run --rm -p 5000:8080 -v "$PWD/index:/index:ro" -e Index__Path=/index -e AI_API_KEY ghcr.io/pournasserian/mcp-my-site:latest

Windows PowerShell 和 cmd、无需在主机上安装 .NET 的 Docker 用法,以及其他 MCP 客户端(VS Code、Cursor、Claude Desktop)的说明,请参阅用户指南。

功能

  • 混合搜索。 对嵌入向量执行 BM25 关键词搜索和向量搜索,并按查询融合结果;嵌入提供方不可用时,则回退到仅关键词搜索。
  • 无需密钥即可使用。 仅关键词索引完全不需要嵌入提供方;只需更改一个设置并重新构建,即可稍后切换到混合搜索。
  • 适用于 ChatGPT 和 Claude。 提供可流式传输的 HTTP MCP 端点,其中包含符合 ChatGPT 连接器使用格式的 search 和 fetch 工具,并根据网站生成服务器说明。适用于 Claude Code、Claude Desktop、VS Code、Cursor 和 MCP Inspector。
  • 易于发现。 /mcp/server-card 提供 MCP 服务器卡片(SEP-2127),其中包含端点、协议版本以及是否需要密钥;/llms.txt 则列出为大模型编入索引的页面。
  • 适用于自有网站的搜索 API。 GET /api/search 支持 CORS、速率限制、偏移分页、OpenAPI 3.1 文档和交互式参考。在用户指南中提供了可直接用于搜索框的代码片段。
  • Docker 镜像。 docker pull ghcr.io/pournasserian/mcp-my-site:latest;挂载索引或指定 URL。
  • 热切换。 服务会轮询索引来源,并在无需重启的情况下切换到新构建的索引。
  • 遥测。 将 OpenTelemetry 跟踪、指标和日志发送到 Application Insights 或任何 OTLP 收集器。除非启用,否则不会记录查询文本。
  • 支持任意嵌入提供方。 默认使用 OpenRouter;任何兼容 OpenAI 的端点均可使用。

文档

仓库

路径内容
src/McpMySite.Core索引模型和清单、JSON 和 SQLite 存储、混合搜索、嵌入客户端
src/McpMySite.Indexermcpmysite CLI:抓取、提取、分块、嵌入、写入
src/McpMySite.ServerASP.NET Core 应用:MCP 端点、搜索 API、索引加载、遥测
tests/McpMySite.Tests单元测试和集成测试
dotnet build
dotnet test

问题和想法请提交至 Discussions;错误请提交至 Issues。更改只能通过拉取请求合并到 master。MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

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

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