mcpField
📝
📝 MCP Notes

📝 MCP Notes

本地服务
github.com/9Ninety记忆与知识3778 周前更新

关于 📝 MCP Notes

MCP Notes 是一个基于 MCP 协议的笔记服务,用于在 AI 模型辅助下记录和管理个人想法、笔记与任务。它提供 Node.js MCP 服务和网页界面两个组件,笔记存储在 AWS DynamoDB 中,不依赖项目文件。

主要功能

  1. 01通过 MCP 工具创建、查询、更新和删除笔记
  2. 02提供网页界面手动管理笔记
  3. 03笔记数据存储于 AWS DynamoDB
  4. 04支持通过连接字符串或环境变量配置 AWS 凭证
  5. 05笔记与项目文件结构相互独立

适用场景

  1. 01在与 AI 模型对话时记录想法和灵感
  2. 02通过网页界面整理或修改 AI 生成的笔记
  3. 03按标签筛选并回顾个人笔记

MCP 相关

该项目是 MCP 服务,向支持 MCP 的客户端(如 Claude Desktop、Cline)暴露 listNotes、getNote、writeNote 和 deleteNote 四个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"MCPNotes": {
"command": "npx",
"args": [
"-y",
"mcp-notes"
]
}
}
}
启动命令npx -y mcp-notes

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-notes

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

📝 MCP Notes

MCP Notes 封面图片

✨ 概述

MCP Notes Server 是一款基于 MCP 协议构建的简单笔记应用。它旨在让用户在使用 AI 模型时记录和查看复杂的笔记与任务,例如记录个人想法、笔记、灵感和见解。它不依赖于创建项目文件,因此用户可以记录任意内容,而无需将其公开在项目中。

本项目包含两个服务:一个使用 Model Context Protocol(MCP)进行 AI 驱动笔记管理的 Node.js 服务,以及一个提供友好界面、方便手动管理笔记的 Web 服务。

注意: 本项目需要使用 DynamoDB 存储笔记。使用前需要有 AWS 账户。AWS 为 DynamoDB 提供了额度充足的免费套餐,适合频繁的个人使用,无需付费。


🎯 核心功能

  • 🖥️ 双服务架构: 用于 AI 驱动笔记管理的 MCP 服务,以及提供用户界面的 Web 服务
  • 🤖 AI 驱动的笔记记录: 通过 AI 交互记录想法、见解和任务
  • 🗂️ 全面的笔记管理: 通过 AI 或 Web 界面创建、列出、检索、更新和删除笔记
  • 📋 可靠的存储: 使用 AWS DynamoDB 安全、高效地存储笔记
  • 🔐 灵活的身份验证: 支持通过连接字符串或环境变量提供 AWS 凭证
  • 📝 独立于项目: 存储个人笔记,不影响项目文件或结构

🤖 模型支持

只要客户端支持 MCP,就可以使用任何支持函数调用的模型。以下模型已经过测试并确认可用:

  • Claude 3.5 系列
  • Gemini 1.5 和 2.0 系列
  • GPT-4 系列
  • Mistral Large
  • Grok-2
  • DeepSeek Chat

🛠️ 安装

推荐方式

直接使用 npx 或 bunx 运行,示例见下文。

其他方式

  1. 确保系统已安装 Node.js。
  2. 克隆此仓库并运行 npm install 安装依赖。
  3. 按照下方说明配置 Claude Desktop 或其他工具。

⚙️ 凭证配置

连接字符串
dynamodb://<access_key>:<secret_key>@<region>/<table>

示例:dynamodb://AKIAXXXXXXXX:SKXXXXXXXX@us-east-1/mcp-notes

环境变量
  1. 导出 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。
  2. 在 URI 中提供不含凭证的连接信息:dynamodb://us-east-1/mcp-notes

🤖 与工具集成

Claude Desktop

将以下代码片段添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-notes": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "mcp-notes",
        "mcp-notes-server",
        "--dynamodb",
        "dynamodb://access_key:secret_key@region/table"
      ]
    }
  }
}

或添加到本地磁盘上的文件:

{
  "mcpServers": {
    "mcp-notes": {
      "command": "node",
      "args": [
        "file://path/to/notes-mcp-server.js",
        "--dynamodb",
        "dynamodb://access_key:secret_key@region/table"
      ]
    }
  }
}
Cody

注意: 目前,Cody 对 MCP 服务的支持有限。
它只允许连接一个服务,且无法调用工具。你需要使用 Web 界面创建和管理笔记,然后在 AI 聊天对话中引用这些笔记。

将以下代码片段添加到 VS Code 设置中:

{
  "openctx.providers": {
    "https://openctx.org/npm/@openctx/provider-modelcontextprotocol": {
      "nodeCommand": "node",
      "mcp.provider.uri": "file://path/to/notes-mcp-server.js",
      "mcp.provider.args": [
        "--dynamodb",
        "dynamodb://access_key:secret_key@region/table"
      ]
    }
  }
}

也可以使用 npx 运行(不保证可用):

{
  "openctx.providers": {
    "https://openctx.org/npm/@openctx/provider-modelcontextprotocol": {
      "nodeCommand": "node",
      "mcp.provider.uri": "file:///usr/local/bin/npx",
      "mcp.provider.args": [
        "-y",
        "-p",
        "mcp-notes",
        "mcp-notes-server",
        "--dynamodb",
        "dynamodb://access_key:secret_key@region/table"
      ]
    }
  }
}
Cline

将以下代码片段添加到 cline_mcp_settings.json:

你会在“New Task”按钮旁找到“MCP Server”图标,点击后会看到“Edit MCP Settings”按钮,可用于打开此文件。

{
  "mcpServers": {
    "mcp-notes": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "mcp-notes",
        "mcp-notes-server",
        "--dynamodb",
        "dynamodb://access_key:secret_key@region/table"
      ]
    }
  }
}

🚀 运行 Web 服务

Web 服务提供了友好的界面,方便管理笔记。你可以启动 Web 界面来管理笔记、为 AI 添加新笔记,或修改 AI 生成笔记的部分内容。

npx -p mcp-notes mcp-notes-web-server --dynamodb "dynamodb://access_key:secret_key@region/table"
bun src/notes-web-server.ts --dynamodb "dynamodb://access_key:secret_key@region/table"

也可以运行 npm run build 进行编译,然后运行 node dist/notes-mcp-server.js 或 node dist/notes-web-server.js

然后在浏览器中访问 http://localhost:3100 查看笔记。


🔧 可用的 MCP 工具

listNotes
  • 输入: { tags?: string[] }
  • 输出: 所有笔记的数组,可按标签筛选。
getNote
  • 输入: { id: string }
  • 输出: 与给定 ID 匹配的单条笔记对象;如果没有匹配项,则返回“未找到”消息。
writeNote
  • 输入: { id: string, title: string, summary: string, tags: string[], content: string }
  • 输出: 成功确认消息。
deleteNote
  • 输入: { id: string }
  • 输出: 删除确认消息 🚮。

📝 数据结构

笔记使用以下结构存储:

  • id:笔记的唯一标识符。应具有描述性,并带有随机数字后缀,例如 "meeting-notes-1362"。
  • title:笔记的标题。
  • summary:笔记内容的简短摘要。
  • tags:与笔记关联的标签数组(例如,["meeting", "project-x"])。
  • content:笔记的主要内容。

📸 截图

Claude Desktop

✅ 完整功能

Claude Desktop 中 MCP Notes 工具调用的截图 Claude Desktop 中 MCP Notes 资源的截图

Cody

✅ 通过资源提及 Notes

❎ 不支持工具调用

Cody 中 MCP Notes 的截图

Cline

✅ 支持工具调用的完整功能

❓ 资源似乎无法使用;欢迎协助。

Cline 中 MCP Notes 的截图

评论

支持 Markdown

第一次接触 MCP?

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

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