内容保存工具

一个轻量级、本地优先的AI集成工具,用于保存、自动标记和检索笔记与链接,提供统一的个人知识存储层。

  • by AIckathon-2025-08
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AIckathon-2025-08/Content-Saver-MCP-Server

使用说明

内容保护程序MCP服务器+Next.js Web UI

🚨 问题陈述

现代人工智能工具(ChatGPT、Claude、Cursor等)使生成见解、发现有用链接、头脑风暴想法和收集知识变得容易,但以后没有简单、私密、一致的方法来保存或检索这些信息。

今天:

  • 重要内容被淹没在漫长的聊天历史中
  • 笔记和有用的链接最终分散在Notion、书签、文档、聊天、屏幕截图和数十个不同的应用程序中
  • 没有一个统一的个人“记忆层”可以跨人工智能工具工作
  • 现有的解决方案通常很重,需要手动组织,或将数据发送到云端
  • 许多用户更喜欢本地优先、私有、离线存储
  • 目前还没有通用的“保存此”命令在ChatGPT、Claude、Cursor和其他AI助手中以相同的方式工作

因此,有价值的知识变得支离破碎、丢失或难以重用。


🎯 目标

提供一种轻量级、本地优先、人工智能集成的方式来:

  • 即时保存笔记和链接(通过AI或web UI)
  • 自动标记内容(客户端AI标记)
  • 防止重复URL
  • 搜索、过滤和检索已保存的内容
  • 将所有内容都保持在本地、私有和用户控制之下
  • 通过干净的Next.js Web UI或任何启用MCP的AI助手访问所有内容

💡 为什么这个项目存在

内容保护程序MCP 是一个最小的“个人知识库”,它:

  • 可与任何启用MCP的AI助手配合使用
  • 允许您使用自然语言保存和搜索内容
  • 以简单的JSON格式在本地存储所有内容
  • 提供一个轻量级的web仪表板,用于浏览、过滤和管理您的内容
  • 避免云依赖、数据库和复杂的配置
  • 提供现代人工智能工作流程所需的缺失的“存储层”

它简单、本地优先、私有,旨在自然地融入日常的人工智能使用中。

特性

MCP服务器

  • ✅ 保存笔记 -存储带有可选标题和标签的文本注释
  • ✅ 保存链接 -使用可选元数据存储URL
  • ✅ URL重复数据删除 -自动防止重复的链接条目
  • ✅ 采用智能标签 -接受AI生成的标签(AI客户端提供的标签)
  • ✅ 搜索 -按查询、标签和日期范围搜索项目
  • ✅ 列表最近 -获取最近保存的项目
  • ✅ 删除项目 -按ID删除已保存的项目
  • ✅ 本地存储 -所有数据均以JSON格式本地存储

Web用户界面

  • ✅ 查看项目 -浏览所有已保存的笔记和链接
  • ✅ 搜索和筛选 -按关键字搜索,按类型(注释/链接)过滤,按标签过滤
  • ✅ 添加项目 -通过UI创建新笔记或保存链接
  • ✅ 物品详情 -在侧面板中查看完整的项目详细信息
  • ✅ 删除项目 -确认后删除项目
  • ✅ 最近的项目 -快速访问最近保存的内容
  • ✅ AI聊天助手 -与分析您保存内容的AI助手聊天

项目结构

Content-Saver-MCP-Server/
├── src/                    # MCP Server source code
│   ├── index.ts           # MCP server implementation
│   ├── storage.ts         # Storage layer
│   └── types.ts           # TypeScript types
├── web-ui/                 # Next.js Web UI
│   ├── app/               # Next.js app directory
│   │   ├── api/           # API routes (server-side only)
│   │   ├── page.tsx       # Main page
│   │   └── layout.tsx     # Root layout
│   ├── components/        # React components
│   └── lib/               # Utilities
└── dist/                  # Compiled MCP server

安装

先决条件

  • Node.js 18+
  • npm或纱线

设置

  1. 克隆存储库:
git clone <repository-url>
cd Content-Saver-MCP-Server
  1. 安装MCP服务器依赖项:
npm install
  1. 构建MCP服务器:
npm run build
  1. 安装Web UI依赖项:
cd web-ui
npm install

用法

MCP服务器

MCP服务器在stdio上运行,并通过MCP协议进行通信:

npm start

配置AI客户端:

  • 克劳德桌面:添加到 ~/Library/Application Support/Claude/claude_desktop_config.json
  • 光标:添加到 .cursor/mcp.json
{
  "mcpServers": {
    "content-saver": {
      "command": "node",
      "args": ["/path/to/Content-Saver-MCP-Server/dist/index.js"]
    }
  }
}

Web用户界面

发展:

cd web-ui
npm run dev

访问 http://localhost:3000 使用web界面。

生产建设:

cd web-ui
npm run build
npm start

部署到Vercel

  1. 推送到GitHub (或您的Git提供商)

  2. 导入到Vercel:

    • 首选 vercel.com
    • 导入您的存储库
    • Vercel将自动检测Next.js
  3. 配置生成设置:

    • 根目录: web-ui
    • 构建命令: npm run build
    • 输出目录: .next
  4. 环境变量 (如果需要):

    • MCP_SERVER_PATH:MCP服务器的路径(用于服务器端API路由)
  5. 部署

数据存储

所有项目都存储在本地 .content-saver/items.json 在项目根目录中。

项目架构:

{
  id: string;
  type: "note" | "link";
  title?: string;
  body?: string;
  url?: string;
  tags: string[];
  createdAt: string;
  updatedAt?: string;
}

API端点(Web UI)

所有API路由仅在服务器端,并与MCP存储层通信:

  • GET /api/items -获取所有项目
  • POST /api/items -保存新笔记或链接
  • GET /api/items/search -使用筛选器搜索项目
  • GET /api/items/recent -获取最近的项目
  • DELETE /api/items/delete?id={id} -删除项目
  • POST /api/chat -与AI助手聊天(分析保存的内容)

AI聊天功能

Web UI包括一个AI聊天助手,可以分析您保存的内容:

特征:

  • 询问有关已保存项目的问题
  • 获取总结和见解
  • 确定主题和模式
  • 查找相关内容

设置(可选):

对于高级人工智能分析,请配置OpenAI API:

  1. 从获取API密钥https://platform.openai.com/api-keys
  2. 创建 .env.local 在 web-ui/ 目录:
    OPENAI_API_KEY=your-api-key-here
    
  3. 重新启动开发服务器

注: 聊天在没有API键的情况下使用基本模式匹配,但OpenAI集成提供了更好的分析。

发展

MCP服务器

# Build
npm run build

# Watch mode
npm run dev

# Run
npm start

Web用户界面

cd web-ui

# Development server
npm run dev

# Build
npm run build

# Production server
npm start

需求

  • Node.js 18+
  • TypeScript 5.3+
  • Next.js 14+
  • MCP兼容的AI客户端(用于MCP服务器)

许可证

麻省理工学院