返回 MCP 目录
public公开dns本地运行

search-fetch-server-mcp

一个基于TypeScript的MCP服务器,实现了简单的笔记系统,提供笔记资源管理、URL抓取、搜索引擎查询和笔记摘要生成功能。

article

README

🚀 搜索抓取服务器 MCP 服务器

这是一个基于 TypeScript 的 MCP 服务器,实现了一个简单的笔记系统。此示例能帮助你了解核心的 MCP 概念,具体涵盖资源、工具和提示词等方面。

🚀 快速开始

本 MCP 服务器以 TypeScript 构建,借助它你可以轻松操作一个简单的笔记系统,了解 MCP 的核心概念。

✨ 主要特性

资源

  • 支持列出和访问带有 note:// URI 的笔记。
  • 每篇笔记包含标题、内容以及元数据。
  • 采用 plain text mime type 实现简单的内容访问。

工具

  • create_note:用于创建新的文本笔记。
    • 需提供标题和内容参数。
    • 笔记会被存储在服务器状态中。
  • fetch_url:从 URL 获取内容,可选择使用 Puppeteer 转换为 Markdown。
    • 必须提供 URL 参数。
    • 可选择提供布尔值参数 use_puppeteer。若为 true,则使用 Puppeteer 并将 waitUntil 设置为 networkidle2,超时时间为 30 秒;否则,使用 axios 获取内容。
    • 使用 Puppeteer 时返回 URL 的 Markdown 内容,否则返回原样内容。
  • duckduckgo_search:执行 DuckDuckGo 搜索。
    • 必须提供查询参数。
    • 返回搜索结果作为 JSON 字符串。

提示词

  • summarize_notes:生成所有存储笔记的摘要。
    • 包含所有笔记内容作为嵌入式资源。
    • 返回结构化的提示词供 LLM 进行总结。

📦 安装指南

开发环境安装

安装依赖:

npm install

构建服务器:

npm run build

带自动重建开发:

npm run watch

在 Claude Desktop 中使用

要在 Claude Desktop 中使用,需添加服务器配置:

  • 在 MacOS 上:配置文件路径为 ~/Library/Application Support/Claude/claude_desktop_config.json
  • 在 Windows 上:配置文件路径为 %APPDATA%/Claude/claude_desktop_config.json

将以下内容添加到配置文件中:

{
  "mcpServers": {
    "search-fetch-server": {
      "command": "node",
      "args": ["/path/to/search-fetch-server/build/index.js"]
    }
  }
}

调试

由于 MCP 服务器通过 stdio 通信,调试可能存在挑战。我们推荐使用 MCP Inspector,该工具可通过 npm 脚本运行:

npm run inspector

Inspector 会提供一个 URL,你可以在浏览器中访问该调试工具。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端