AI助手笔记管理服务

Scratch Notebook MCP Server为AI助手提供结构化笔记管理功能,包括命名便签、类型化单元格、验证、命名空间和语义搜索,适用于需要组织和管理AI助手工作内容的场景。

  • by ehlowr0ld
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ehlowr0ld/scratch-notebook-mcp

使用说明

Scratch笔记本电脑MCP服务器

Scratch Notebook MCP让你的AI助手保持接地状态。它提供命名草稿、键入单元格、验证、名称空间和语义搜索,因此想法在任何启用MCP的工作空间内都保持有序。

你的助手能获得什么

  • 坚持的上下文 –为每个草稿栏提供一个友好的标题、描述和摘要,以便未来的提示能够立即显示正确的工作。
  • 可靠的内容 JSON、YAML、Markdown和流行的代码片段会自动检查,帮助您的助手交回准备使用的工件。
  • 标签感知组织 命名空间和标签将相关的焊盘放在一起,这样你的助手就可以过滤列表或读取现在真正重要的内容。
  • 语义回忆 矢量搜索突出了听起来像今天问题的过去笔记,为您的助手提供了即时的灵感。

将其连接到您的代理

  1. 确保 uv 可用(Claude Desktop和大多数MCP运行时都附带了它)。

  2. 将服务器添加到MCP客户端配置中。以下是规范的Claude代码布局(为您的设置调整路径或标志):

    {
      "mcpServers": {
        "scratchpad": {
          "command": "uvx",
          "args": [
            "--from=git+https://github.com/ehlowr0ld/scratch-notebook-mcp",
            "scratch-notebook",
            "--storage-dir",
            "${workspaceFolder}/.scratch-notebook/data"
          ],
          "env": {
            "SCRATCH_NOTEBOOK_ENABLE_STDIO": "true",
            "SCRATCH_NOTEBOOK_ENABLE_HTTP": "false",
            "SCRATCH_NOTEBOOK_ENABLE_SSE": "false"
          }
        }
      }
    }
    
  3. 重新加载您的助手并邀请它运行以下工具 scratch_create, scratch_read,或 scratch_search. uvx 在第一次需要时自动安装该包。

调整体验

默认情况下,本地计算机上的单个助手比stdio更受欢迎。如果你想与其他助手或其他主机共享服务器,请启用HTTP/SSE并用承载令牌保护它们:

  • --enable-http true --enable-sse true 在stdio保持可用时打开网络传输。
  • 重复 --auth-token principal:token 登记助理;每个请求都必须发送匹配的 Authorization: Bearer <token> 头球
  • --auth-token-file <path> 和 --config-file <path> 捕获磁盘上的合并设置,以便以后可以删除大多数CLI标志。
  • --enable-metrics true 在以下位置显示普罗米修斯流 /metrics (或 --metrics-path)在HTTP侦听器上。指标要求 --enable-http true尽管苏格兰和南方能源公司可以保持开启或关闭。

其他方便的开关:

  • --storage-dir <path> 将所有草稿行数据保存在您控制的目录下(默认为 ./scratch-notebook 相对于您启动服务器的位置)。
  • --max-scratchpads, --max-cells-per-pad,以及 --max-cell-bytes 控制失控的会议。
  • 基于时间的旋钮(--preempt-age, --preempt-interval, --validation-request-timeout, --shutdown-timeout)接受 15s/10m/24h 风格字符串;省略后缀以回退到记录的默认单位。
  • 语义搜索设置(例如嵌入器选择或预构建索引)共享相同的配置界面;你的助手会自动给他们荣誉。

日常工具流程

  • 创建和策划 – scratch_create 打开一个新的焊盘(可以选择用 cells 原子性持久的阵列), scratch_delete 删除它,以及 scratch_list 显示每个带有精简元数据的便笺簿,以便助手可以跳到正确的便笺簿。 scratch_list_cells 在不获取完整内容的情况下查看单元格摘要,并编写响应本身——这些响应本身已经坚持结构数据(ids/indexs/metadata),因此您可以保持在令牌预算范围内——call scratch_read 每当你需要满载时。
  • 使用护栏进行编辑 – scratch_append_cell 和 scratch_replace_cell 逐个单元格扩展笔记本电脑。设置 validate 标记您希望服务器在保存内容之前运行JSON/YAML/code/markdown检查的时间;验证仅供参考,您的笔记永远不会因为诊断而被丢弃。 scratch_replace_cell 也接受 new_index 因此,您可以在更新单元格时对其进行重新排序。写入响应镜像 scratch_create 省略原始 content;跟进 scratch_read 如果助手需要重新显示整个单元格。
  • 审核和筛选 – scratch_read 返回完整的pad并让代理进行筛选 cell_ids、标签或命名空间。索引仍然会在响应中返回,因此您可以显示排序,但编辑和验证始终以以下方式针对单元格 cell_id. scratch_list_tags 显示标签词汇表,以及 scratch_list_schemas + scratch_get_schema 显示共享模式帮助程序。
  • 按需验证 – scratch_validate 重新检查任何细胞子集(供应 cell_ids,或省略以验证所有内容),返回结构化结果,以便助手可以在不更改存储内容的情况下突出显示问题。索引仍会出现在响应中以供参考,但选择器必须始终 cell_ids
  • 搜索和导航 – scratch_search 使用语义嵌入来查找相关注释。命名空间帮助程序(scratch_namespace_list/create/rename/delete)保持多项目工作的隔离。
  • 架构注册表 – scratch_upsert_schema 让助手注册一次JSON模式,并通过以下方式从未来的单元格引用它们 scratchpad://schemas/<name>;缺少模式只会产生验证警告。

需要开发者详细信息?

贡献者笔记、架构决策和测试说明实时发布 DEVELOPMENT.md面向代理的提示和工作流程指导已上线 AGENTS.md.

释放卫生

在标记构建或发布新二进制文件之前,运行覆盖率门并记录任何挥之不去的差距:

python -m coverage run -m pytest
python -m coverage report -m

将未覆盖的咨询验证分支视为行动项——将其登录 specs/001-scratch-notebook-mcp/implementation.md 并在中安排新任务 specs/001-scratch-notebook-mcp/tasks.md 因此,未来的版本在验证保证方面保持诚实。

许可证

当前版本: v0.1.0 --看 CHANGELOG.md 详细的历史。该存储库仍未发布;在重新分配之前咨询所有者。