Back to MCP directory
publicPublicdnsLocal runtime

nexon33_search-fetch-server-mcp

一个基于TypeScript的MCP服务器,实现了简单的笔记系统,提供资源管理、工具操作和提示生成功能,支持与Claude Desktop集成。

article

README

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

这是一个基于 TypeScript 的 MCP 服务器,实现了一个简单的笔记系统。它通过资源表示、工具操作和提示生成等方式,演示了核心的 MCP 概念,能帮助用户高效管理和处理文本笔记。

🚀 快速开始

本项目是一个基于 TypeScript 的 MCP 服务器,实现了简单的笔记系统。若要使用该服务器,需完成依赖安装、服务器构建等步骤,以下是详细操作说明。

✨ 主要特性

资源

  • 通过 note:// URI 列出和访问笔记,方便快捷。
  • 每个笔记都有标题、内容和元数据,便于分类和管理。
  • 使用纯文本 MIME 类型进行简单的内容访问,降低操作复杂度。

工具

  • create_note:创建新的文本笔记。
    • 接受标题和内容作为必填参数。
    • 将笔记存储在服务器状态中。
  • fetch_url:从 URL 获取内容,可选使用 Puppeteer 转换为 Markdown。
    • 接收一个 URL 作为必填参数。
    • 接收一个可选的 use_puppeteer 布尔参数。若为 true,则使用带有 waitUntil 设置为 networkidle2 和 30 秒超时的 Puppeteer;否则,将使用 axios。
    • 返回 URL 内容作为 Markdown(若使用了 Puppeteer),否则返回内容本身。
  • 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 run inspector

Inspector 将提供一个访问浏览器中的调试工具的 URL。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client