使用说明(Markdown 摘要)
-
项目简介
- 该仓库实现了一个完整的 MCP 服务器,用于向 LLM 客户端提供 Evernote 的笔记、笔记本、标签等资源的读写能力,并提供可调用的工具集合,支持将 Markdown 转换为 ENML、以及 ENML 转换回 Markdown,具备健康检查、轮询变更通知等功能。
- 服务器通过 MCP 的标准接口(ListToolsRequestSchema、CallToolRequestSchema)与客户端交互,返回标准化的 JSON-RPC 风格响应或文本内容块。
-
主要功能点
- 资源与工具管理
- 提供必要的笔记、笔记本、标签等操作工具
- 支持创建、查询、更新、删除笔记及笔记本、标签等
- 数据转换
- Markdown ↔ ENML 双向转换,支持本地资源、附件、任务列表等映射
- 安全与认证
- 支持基于 Evernote 的 OAuth 认证流程,提供 Claude Code/Claude Desktop 两类工作流
- 诊断与健康
- 健康检查工具、连接恢复、错误追踪与诊断信息(可选详细信息)
- 轮询与通知
- 可配置轮询 Evernote 的变更并通过 Webhook 实时通知
- MCP 协议实现
- 按 MCP 规范实现 ListTools 与 CallTool,工具 schemas、输入输出结构符合 JSON 架构要求
- 传输与接入
- 支持 stdio 传输(默认实现),未来可扩展到 SSE/WebSocket 等
- 资源与工具管理
-
安装步骤
- 安装依赖
- Node.js 环境准备好后,执行安装依赖:npm install
- 构建与运行
- 构建服务器:npm run build
- 启动服务器:node dist/index.js
- 也可以直接在开发阶段使用 npm run dev 进行热重载调试
- 身份与凭据
- 在运行前设置 Evernote 的 Consumer Key/Secret,以及环境(production 或 sandbox),示例环境变量: EVERNOTE_CONSUMER_KEY=your-key EVERNOTE_CONSUMER_SECRET=your-secret EVERNOTE_ENVIRONMENT=sandbox
- 运行时会提示进行 OAuth 验证,Claude Code 侧可通过 /mcp 自动完成,Claude Desktop 侧通过 mcp-evernote-auth 完成。
- 配置 Claude 客户端(示例,非客户端代码)
- MCP 客户端配置应指向服务器命令与启动参数(以下为常见配置格式示例,实际客户端请参考对应客户端文档): { "mcpServers": { "evernote": { "command": "npx", "args": ["@verygoodplugins/mcp-evernote"], "env": { "EVERNOTE_CONSUMER_KEY": "your-consumer-key", "EVERNOTE_CONSUMER_SECRET": "your-consumer-secret", "EVERNOTE_ENVIRONMENT": "production" // or "sandbox" } // 具体键值请按客户端要求配置 } } }
- 安装依赖
-
服务器配置(面向 MCP 客户端的描述性信息,非代码块)
- server name: mcp-evernote
- 需要的启动命令(示例,对接客户端时的描述性信息)
- npx @verygoodplugins/mcp-evernote
- 或运行 dist/index.js 的 Node 运行命令(需先构建)
- 启动时需要的环境变量(示例)
- EVERNOTE_CONSUMER_KEY、EVERNOTE_CONSUMER_SECRET
- EVERNOTE_ENVIRONMENT(production 或 sandbox)
- 可选:EVERNOTE_POLL_INTERVAL、EVERNOTE_WEBHOOK_URL、EVERNOTE_POLLING_ENABLED 等
- 说明:MCP 客户端通过上述配置启动服务器进程并与 MCP 服务器进行 JSON-RPC 通信,服务器负责会话、能力声明、以及工具执行。
-
基本使用方法
- 启动后,客户端通过 MCP 协议向服务器发送 ListTools 请求来获取可用工具列表,然后通过 CallTool 请求执行具体工具(如创建笔记、查询笔记、健康检查等)。
- 支持的主要工具包括:evernote_create_note、evernote_search_notes、evernote_get_note、evernote_update_note、evernote_delete_note、evernote_list_notebooks、evernote_create_notebook、evernote_list_tags、evernote_create_tag、evernote_get_user_info、evernote_health_check、evernote_revoke_auth、evernote_reconnect 等。
- 如要调试服务健康状态或重新连接,请使用对应的工具名称发起调用。
- 如需开启变更轮询,请配置 EVERNOTE_WEBHOOK_URL,并启动轮询工具 evernote_start_polling。
-
重要注意
- 该实现包含大量与 Evernote API 交互的逻辑,适用于在受信任环境中对接 LLM 客户端进行对话驱动的笔记管理与知识提取工作流。
- 使用前请确保 Evernote API 的授权与凭据正确配置,并了解 Evernote API 的速率限制与安全最佳实践。
关键词(3-5 个,用英文逗号分隔,避免无意义关键词) Evernote, notes, automation, integration, API
分类ID 5
信息
分类
网页与API