scratchpad_search_notes
Search notes
Full-text search across the user's notes. Returns matching notes with a short snippet. Password-locked notes are never returned.
query必填io.github.scratchpad-sh由 GitHub 账号 scratchpad-sh 发布v1.0.0更新于 Nov 3, 2026
Search, read, write, and organize your Scratchpad notes from any MCP client.
把助手连接到你的 Scratchpad 笔记,可搜索、阅读、写入、整理笔记并恢复历史版本。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.scratchpad-sh%2Fscratchpad/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"scratchpad": {
"type": "http",
"url": "https://app.scratchpad.sh/api/mcp"
}
}
}Give your AI your notes. An MCP server for Scratchpad, so Claude, Cursor, Codex, and any other MCP client can search, read, write, and organize the notes you already keep.
It is small on purpose: about 2,000 lines of TypeScript, no database, and no state on disk. Every tool is one or two calls to Scratchpad's HTTPS API, so you can read the whole thing in an evening and know exactly what your assistant can do.
No install. Point your client at the hosted server and sign in with OAuth. This is the only way that works on a phone.
Claude Code:
Cursor, in ~/.cursor/mcp.json:
For a client that only speaks stdio, or if you would rather hold an API token than an OAuth session. Create a token in Scratchpad under Settings, API tokens.
Check the token before wiring it up:
Every name carries a scratchpad_ prefix, so the tools sit cleanly beside other
servers in one session.
propose_edit writes nothing: it returns a diff and an
id. apply_edit takes that id and no content, so the text cannot change between
showing you the diff and writing it.restore_version keeps the current one first.MIT. See LICENSE.
Made by Scratchpad, the notes app your AI can actually read. More at scratchpad.sh/ai.
来源:README.md,提交 3eaf90e
Search notes
Full-text search across the user's notes. Returns matching notes with a short snippet. Password-locked notes are never returned.
query必填Read note
Read the Markdown body of one note, by id. Get ids from search_notes or list_notes first. A long note comes in parts: the first ends by saying where the next begins and where each heading (each chapter, say) starts, so pass `start` to read the part wanted. Password-locked notes cannot be read: unlocking is something a browser does, and this connection has no way to do it.
startnote_id必填List notes
List the user's notes, pinned first and then most recently updated, as id and title, with the folder each is filed in. Use when they ask what notes exist rather than for particular words, and when a title is enough to find the one they mean. Can list one folder, or the archive. Locked notes appear with their title hidden.
offsetarchivedfolder_idCreate note
Create a new note. Returns its id. Never use em dashes or en dashes in anything written to a note. Use a period, colon, comma, or parentheses instead. Ordinary hyphens in compound words and numeric ranges are fine.
markdown必填folder_idList folders
List the user's folders as a tree, with each folder's id and how many notes are filed directly in it. Folders nest three levels deep at most. Use this to find the id create_note, move_note and the other folder tools need.
无需输入参数。
Move note
File a note in a folder, or take it out of every folder. Changes nothing inside the note. Password-locked notes cannot be moved from here.
note_id必填folder_idRename note
Rename a note. The name stays even when the first line changes later, as when renaming in the app. Changes nothing inside the note. Password-locked notes cannot be renamed from here. Never use em dashes or en dashes in a note's name. Ordinary hyphens are fine.
title必填note_id必填Archive note
Archive a note, or bring one back. An archived note is out of the list but kept whole, still searchable, and returns with archived false. This is not deleting: nothing here deletes a note, which only the user can do, in the app.
note_id必填archivedPin note
Pin a note to the top of the list, or unpin it. Changes nothing inside the note.
pinnednote_id必填Duplicate note
Make a copy of a note, with its files, in the same folder, named with " copy" after the original's name. Returns the copy's id. Useful before a large change the user may want to compare against.
note_id必填List versions
List a note's History: the versions kept as it changed, newest first, each with its id, when it was saved, by whom, and why. Use it when the user asks what a note used to say, or to undo a change.
note_id必填Read version
Read one version from a note's History as Markdown. A long one comes in parts, like read_note.
startnote_id必填version_id必填Restore version
Put a note back to a version from its History. The note as it stands is saved to History first, so a restore is undone by restoring that one. Tell the user which version, from when, before calling this.
note_id必填version_id必填Create folder
Create a folder, at the top level or inside another one as a sub-folder. Returns its id. Two folders can have the same name, so check list_folders first rather than making a second one by accident. Never use em dashes or en dashes in a folder name. Ordinary hyphens are fine.
name必填parent_idRename folder
Rename a folder. Its notes and sub-folders stay where they are. Never use em dashes or en dashes in a folder name. Ordinary hyphens are fine.
name必填folder_id必填Move folder
Move a folder, with everything in it, inside another folder or out to the top level. It goes last among its new neighbours. Refused if it would put anything more than three levels deep, or a folder inside itself.
folder_id必填parent_idDelete folder
Delete an EMPTY folder. A folder that still holds notes or sub-folders is refused: move them somewhere else first with move_note and move_folder, or ask the user to delete it in the app, where it can be undone.
folder_id必填Append to note
Add Markdown to the end of an existing note, leaving everything already there untouched. Prefer this over propose_edit when the change is purely an addition: it needs no diff and no second call. Never use em dashes or en dashes in anything written to a note. Use a period, colon, comma, or parentheses instead. Ordinary hyphens in compound words and numeric ranges are fine.
note_id必填markdown必填Search attachment
Find where something is discussed inside a file attached to a note. Returns short passages with the page each is on. Use it when a file's text was too long to be included whole, or to locate a topic before reading around it. Requires note_id.
file必填query必填note_idRead attachment
Read a range of pages out of a file attached to a note. read_note lists what a note has and how many pages each one is; this is how to read them. Use it after search_attachment to read around a match, or to work through a document a stretch at a time. Requires note_id.
file必填note_idto_pagefrom_page必填Propose edit
Propose a change to a note and show the diff. This does NOT write anything. It returns a proposal id, which apply_edit takes to write the change. Show the user the diff and let them decide before calling apply_edit. Prefer `edits`: each one quotes a short passage from the note in `find` (a line or two, copied exactly, enough to match only once) and gives its replacement in `replace`. To insert, quote the passage the new text goes after and repeat it at the start of `replace`. To add to the end, leave `find` empty. Send `markdown` (the COMPLETE new note body) only when rewriting most of the note. Never use em dashes or en dashes in anything written to a note. Use a period, colon, comma, or parentheses instead. Ordinary hyphens in compound words and numeric ranges are fine.
editsnote_id必填summary必填markdownApply edit
Write a proposal from propose_edit to the note. Takes only the proposal id: the content cannot be changed between showing the diff and writing it.
proposal_id必填已满足适用检查项的 100%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
https://app.scratchpad.sh/api/mcpclaude mcp add --transport http --scope user scratchpad https://app.scratchpad.sh/api/mcp{ "mcpServers": { "scratchpad": { "url": "https://app.scratchpad.sh/api/mcp" } }}{ "mcpServers": { "scratchpad": { "command": "npx", "args": ["-y", "@scratchpadsh/mcp"], "env": { "SCRATCHPAD_TOKEN": "scr_your_token" } } }}SCRATCHPAD_TOKEN=scr_your_token npx -y @scratchpadsh/mcp --checknpm installnpm test