simplenote-mcp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSimplenote MCP
Simplenote MCP
Prerequisites
前提条件
- Package installed: (npm)
@automattic/simplenote-mcp - MCP config exists: with a
~/mcp.jsonserver entrysimplenote - Logged in: has valid credentials
~/.config/simplenote-mcp/auth.json
If any prerequisite is missing, run setup first:
bash
npx -y @automattic/simplenote-mcp setupThen add to :
~/mcp.jsonjson
{
"mcpServers": {
"simplenote": {
"command": "npx",
"args": ["-y", "@automattic/simplenote-mcp"]
}
}
}- 已安装包:(npm)
@automattic/simplenote-mcp - 存在MCP配置:包含
~/mcp.json服务器条目simplenote - 已登录:中有有效凭据
~/.config/simplenote-mcp/auth.json
如果缺少任何前提条件,请先运行设置:
bash
npx -y @automattic/simplenote-mcp setup然后添加到 :
~/mcp.jsonjson
{
"mcpServers": {
"simplenote": {
"command": "npx",
"args": ["-y", "@automattic/simplenote-mcp"]
}
}
}How to Call
调用方式
The MCP server uses stdio JSON-RPC. Send all messages in a single pipeline:
bash
(
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"agent","version":"1.0"}}}'
sleep 1
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
sleep 0.5
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"TOOL_NAME","arguments":{...}}}'
sleep 4
) | timeout 12 npx -y @automattic/simplenote-mcp 2>/dev/nullCritical: The delays are required. Skip them and messages get lost.
sleepMCP服务器使用stdio JSON-RPC。在单个管道中发送所有消息:
bash
(
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"agent","version":"1.0"}}}'
sleep 1
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
sleep 0.5
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"TOOL_NAME","arguments":{...}}}'
sleep 4
) | timeout 12 npx -y @automattic/simplenote-mcp 2>/dev/null关键提示: 延迟是必需的。跳过它们会导致消息丢失。
sleepAvailable Tools
可用工具
| Tool | Type | Arguments |
|---|---|---|
| Read | |
| Read | |
| Read | |
| Read | |
| Read | |
| Read | |
| Write | |
| Write | |
| Write | |
| Write | |
| Write | |
| 工具 | 类型 | 参数 |
|---|---|---|
| 读取 | |
| 读取 | |
| 读取 | |
| 读取 | |
| 读取 | |
| 读取 | |
| 写入 | |
| 写入 | |
| 写入 | |
| 写入 | |
| 写入 | |
Common Operations
常见操作
List notes
列出笔记
bash
undefinedbash
undefinedReplace TOOL_NAME with list_notes
将TOOL_NAME替换为list_notes
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_notes","arguments":{"limit":20}}}'
undefinedecho '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_notes","arguments":{"limit":20}}}'
undefinedSearch notes
搜索笔记
bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_notes","arguments":{"query":"search term","limit":10}}}'bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_notes","arguments":{"query":"search term","limit":10}}}'Create a note
创建笔记
bash
undefinedbash
undefinedFirst line becomes the title
第一行将成为标题
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"create_note","arguments":{"content":"Note Title\n\nBody content here...","tags":["tag1","tag2"],"markdown":true}}}'
undefinedecho '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"create_note","arguments":{"content":"Note Title\n\nBody content here...","tags":["tag1","tag2"],"markdown":true}}}'
undefinedUpdate a note (FULL replacement!)
更新笔记(完全替换!)
bash
undefinedbash
undefinedIMPORTANT: get_note first, modify content, then update
重要提示:先调用get_note,修改内容,然后再更新
The content field REPLACES the entire note
content字段会替换整个笔记内容
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"update_note","arguments":{"id":"NOTE_ID","content":"Full new content"}}}'
undefinedecho '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"update_note","arguments":{"id":"NOTE_ID","content":"Full new content"}}}'
undefinedTrash / Restore
移入回收站 / 恢复笔记
bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"trash_note","arguments":{"id":"NOTE_ID"}}}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"restore_note","arguments":{"id":"NOTE_ID"}}}'bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"trash_note","arguments":{"id":"NOTE_ID"}}}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"restore_note","arguments":{"id":"NOTE_ID"}}}'Parsing Responses
解析响应
The response is JSON-RPC. Extract the result with:
bash
| python3 -c "
import sys, json
for line in sys.stdin:
line = line.strip()
if not line: continue
try:
d = json.loads(line)
if d.get('id') == 2:
content = d.get('result',{}).get('content',[])
for c in content:
if c.get('type') == 'text':
print(c['text'])
except: pass
"响应格式为JSON-RPC。使用以下命令提取结果:
bash
| python3 -c "
import sys, json
for line in sys.stdin:
line = line.strip()
if not line: continue
try:
d = json.loads(line)
if d.get('id') == 2:
content = d.get('result',{}).get('content',[])
for c in content:
if c.get('type') == 'text':
print(c['text'])
except: pass
"Gotchas
注意事项
- replaces entire note — always
contentfirst, then modify, thenget_noteupdate_note - Tags replace entire list — provide full tag list on update, not just the new one
- delays are mandatory —
sleepafter init,sleep 1after initialized,sleep 0.5after tool callsleep 3-5 - Write mode — requires in
writeMode: true~/.config/simplenote-mcp/config.json - Token expiry — if returns empty but account has notes, re-run
list_notesnpx @automattic/simplenote-mcp setup - No project-specific info — this skill is generic. Do not hardcode credentials, usernames, or note IDs.
- 会替换整个笔记 —— 务必先调用
content,修改内容后再调用get_noteupdate_note - 标签会替换整个列表 —— 更新时需提供完整的标签列表,而不仅仅是新增的标签
- 延迟是必须的 —— 初始化后
sleep,发送initialized通知后sleep 1,工具调用后sleep 0.5sleep 3-5 - 写入模式 —— 需要在中设置
~/.config/simplenote-mcp/config.jsonwriteMode: true - 令牌过期 —— 如果返回空但账户中有笔记,请重新运行
list_notesnpx @automattic/simplenote-mcp setup - 无项目特定信息 —— 此技能是通用的。请勿硬编码凭据、用户名或笔记ID。
When to Use
使用场景
- User says "save this to Simplenote" / "create a note" / "search my notes"
- User wants to manage a knowledge base, reminders, or task list in Simplenote
- User asks to read or update existing Simplenote notes
- Any interaction with Simplenote as a note-taking backend
- 用户说"把这个保存到Simplenote" / "创建一条笔记" / "搜索我的笔记"
- 用户想要在Simplenote中管理知识库、提醒事项或任务列表
- 用户要求读取或更新现有的Simplenote笔记
- 将Simplenote作为笔记后端的任何交互