项目简介
Ulysses MCP 服务器是一个强大的工具,它允许您使用 AI 助手(如 Claude Desktop, Cline 等)自动化 macOS 上的 Ulysses 写作应用。通过这个服务器,AI 可以创建、管理、修改 Ulysses 中的文本、笔记、关键词和分组,甚至进行内容的读取(需授权),极大地提升写作和内容管理的效率。
主要功能点
- 文档与分组管理: 创建新的文档(sheets)和文件夹(groups),支持指定内容、格式和位置。
- 内容修改: 向现有文档插入或追加文本、添加笔记、设置关键词、附加图片。
- 导航与查询: 打开 Ulysses 中的特定文档、分组或特殊区域(如“所有”、“最近7天”、“收藏夹”),获取 Ulysses 和 API 版本信息。
- 高级操作: 移动、复制、删除文档或分组,修改文档和分组标题,删除关键词和笔记(这些操作需要授权)。
- 安全与授权: 支持通过 Ulysses 进行授权以访问受保护的操作,并提供访问令牌管理和输入验证,确保操作安全。
安装步骤
- 环境准备:
- 确保您的 macOS 系统已安装 Ulysses 写作应用。
- 安装 Node.js (推荐 18.0.0 或更高版本)。
- 准备一个 MCP 兼容的 AI 客户端(如 Claude Desktop, Cline)。
- 安装服务器:
打开终端,执行以下命令安装 'ulysses-mcp':
npm install ulysses-mcp - 构建辅助应用 (Helper App):
'ulysses-mcp' 依赖一个 macOS 辅助应用来处理 Ulysses 的回调操作(例如获取内容或授权)。出于安全考虑,此辅助应用的二进制文件不包含在仓库中,您需要自行构建:
构建成功后,这个辅助应用会自动运行。cd node_modules/ulysses-mcp # 如果是npm安装的,先进入模块目录 npm run build-helper
服务器配置
为了让您的 MCP 客户端能够连接和使用 Ulysses MCP 服务器,您需要在客户端的配置中添加服务器信息。以下是两种常见 MCP 客户端的配置示例。请注意,'"/path/to/ulysses-mcp/build/index.js"' 需要替换为您的 'ulysses-mcp' 安装路径下 'build/index.js' 文件的实际路径。
-
适用于 Claude Desktop 客户端: 在 '~/Library/Application Support/Claude/claude_desktop_config.json' 文件中添加以下配置:
{ "mcpServers": { "ulysses": { "command": "node", "args": ["/path/to/ulysses-mcp/build/index.js"] } } } -
适用于 Cline (VS Code 扩展) 客户端: 在 '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json' 文件中添加以下配置:
{ "mcpServers": { "ulysses": { "disabled": false, "autoApprove": [], "type": "stdio", "command": "node", "args": ["/path/to/ulysses-mcp/build/index.js"] } } }
对于其他 MCP 客户端,请参考其文档,通过 'stdio' 传输方式配置服务器启动命令。
基本使用方法
配置完成后,您的 AI 助手即可通过调用 'ulysses_' 前缀的工具来与 Ulysses 交互。
-
创建新文档: 向 AI 助手发送请求,例如创建一个日常日记:
{ "tool": "ulysses_new_sheet", "arguments": { "text": "# 我的日记 - 2025年10月23日\n\n今天我...", "group": "/我的日记", "format": "markdown" } } -
添加关键词: 为现有文档添加标签以便组织:
{ "tool": "ulysses_attach_keywords", "arguments": { "id": "文档标识符", "keywords": "草稿,博客,技术" } } -
读取文档内容(需授权): 对于读取和修改操作,需要先通过 'ulysses_authorize' 工具获取访问令牌。
-
请求授权:
{ "tool": "ulysses_authorize", "arguments": { "appname": "我的AI助手" } }Ulysses 会弹窗请求授权,您需要手动批准。批准后,服务器将返回一个 'access_token'。
-
使用令牌读取内容:
{ "tool": "ulysses_read_sheet", "arguments": { "id": "文档标识符", "text": "YES", "access_token": "您的访问令牌" } }
重要提示: 访问令牌授予对您 Ulysses 文档库的完全访问权限,请务必妥善保管,切勿泄露或提交到版本控制。您可以在 Ulysses 偏好设置的“隐私”部分撤销令牌。
-
信息
分类
桌面与硬件