书签管理服务器

Anybox MCP Server是一个为macOS书签管理器Anybox设计的模型上下文协议服务器,支持通过Claude Desktop等客户端进行书签搜索、标签管理、文件夹操作和书签保存。

  • by tommertron
  • Python
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 tommertron/anyboxMCP

使用说明

Anybox MCP服务器

一种模型上下文协议(MCP)服务器 Anybox,macOS的书签管理器。此服务器允许Claude Desktop和其他MCP客户端与您的Anybox书签进行交互。

特性

  • 🔍 搜索书签 按关键字、标签、文件夹或星号状态
  • 🏷️ 列出所有标签 包含ID、名称和书签计数
  • 📁 列出所有文件夹 包含ID、名称和书签计数
  • ➕ 保存新书签 带有标签、文件夹、注释和星号状态
  • 🔗 直接积分法 使用Claude Desktop实现无缝书签管理

先决条件

  • macOS与 Anybox 已安装并正在运行
  • Python 3.10或更高版本
  • Anybox API密钥(见下文)

获取Anybox API密钥

  1. 打开任意框
  2. 首选 偏好设置→ 将军 (或 设置→ 将军)
  3. 复制此处显示的API密钥

安装

  1. 克隆或下载此存储库
cd ~/coding/anyboxTidier
  1. 创建虚拟环境并安装依赖项
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. 设置API密钥

您将在ClaudeDesktop配置中设置API键(见下文)。无需在全球范围内出口。

使用Claude Desktop

配置

选项1:自动设置(推荐)

运行安装脚本,该脚本将指导您完成配置:

./setup_claude_desktop.sh

这将:

  • 测试您的Anybox API连接
  • 自动配置克劳德桌面
  • 确认一切正常

选项2:手动配置

  1. 找到您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加MCP服务器配置:

{
  "mcpServers": {
    "anybox": {
      "command": "/Users/tommertron/coding/anyboxTidier/venv/bin/python",
      "args": [
        "/Users/tommertron/coding/anyboxTidier/anybox_mcp_server.py"
      ],
      "env": {
        "ANYBOX_API_KEY": "your-api-key-here"
      }
    }
  }
}

重要:

  • 替换 /Users/tommertron/coding/anyboxTidier 带有克隆此仓库的实际路径
  • 替换 your-api-key-here 使用实际的Anybox API密钥
  • 确保使用Python解释器的完整路径 venv/bin 目录
  1. 重新启动克劳德桌面

可用工具

配置后,Claude将可以访问这些工具:

search_bookmarks

使用各种过滤器搜索书签。

参数:

  • query (可选):搜索关键字
  • tag_id (可选):按标签ID筛选
  • folder_id (可选):按文件夹ID筛选
  • starred (可选):“是”或“否”
  • limit (可选):最大结果(默认值:50)

示例提示:

  • “在我的任意框中搜索有关Python的书签”
  • “查找所有带星号的书签”
  • “在“工作”文件夹中搜索书签”

list_tags

获取所有标签及其ID和书签计数。

示例提示:

  • “列出我的所有Anybox标签”
  • “我有什么标签?”

list_folders

获取所有文件夹及其ID和书签计数。

示例提示:

  • “列出我的所有Anybox文件夹”
  • “Anybox中有哪些文件夹?”

save_bookmark

使用可选元数据保存新书签。

参数:

  • url (必填):URL或备注内容
  • comment (可选):关于书签的评论
  • tag_ids (可选):标签ID数组
  • folder_id (可选):文件夹ID
  • starred (可选):布尔值(默认值:false)

示例提示:

  • “保存https://example.comAnybox”
  • “将此URL保存到带有“编程”标签的Anybox”
  • “添加https://github.com到Anybox中的“工作”文件夹

工作流示例

以下是与Claude Desktop的典型对话:

You: "List all my Anybox tags"
Claude: [Uses list_tags tool]
        "You have 15 tags. Here are some: Programming, Design, Research..."

You: "Search for bookmarks tagged with Programming"
Claude: [Uses list_tags to get the tag ID, then search_bookmarks]
        "Found 23 bookmarks tagged with Programming:
         1. Python Documentation - https://docs.python.org
         2. ..."

You: "Save https://github.com/anthropics/anthropic-sdk-python to Anybox
      with the Programming tag"
Claude: [Uses list_tags to get tag ID, then save_bookmark]
        "✅ Bookmark saved successfully!"

故障排除

连接错误

错误: Connection refused 或 Error searching bookmarks

解决方案:

  1. 确保Anybox正在运行
  2. 验证API在上运行 http://127.0.0.1:6391
  3. 检查您的API密钥是否正确
  4. 手动测试连接:
    curl -H "x-api-key: YOUR_KEY" http://127.0.0.1:6391/tags
    

API关键问题

错误: 401 Unauthorized 或 Incorrect API Key

解决方案:

  1. 从Anybox首选项复制新的API密钥
  2. 确保环境变量设置正确
  3. 更新配置后重新启动Claude Desktop

Python/MCP问题

错误: mcp module not found

解决方案:

pip install mcp httpx

错误:Python版本不兼容

解决方案:确保安装了Python 3.10+:

python3 --version

API 参考

此服务器使用在上运行的Anybox的本地HTTP API http://127.0.0.1:6391.

已发现的端点

  • GET /search?q=&tag=&folder=&starred=&limit= -搜索书签
  • GET /tags -列出所有标签
  • GET /folders -列出所有文件夹
  • POST /save -使用保存书签 {note, comment, tags[], folder, starred}

认证

所有请求都使用 x-api-key 使用API密钥的标头。

发展

直接运行服务器

用于测试:

python3 anybox_mcp_server.py

服务器使用MCP协议通过stdio进行通信。

添加新工具

要添加新功能,请执行以下操作:

  1. 在中添加工具定义 list_tools()
  2. 在中实现处理程序 call_tool()
  3. 将任何新的API方法添加到 AnyboxAPI 类

鸣谢

许可证

麻省理工学院许可证-有关Anybox API文档来源,请参阅claude.md。

贡献

欢迎投稿!如果您发现其他Anybox API端点或功能,请提交PR。


备注:这是一种非正式的整合。Anybox不提供官方公开的API文档。此服务器基于Raycast扩展和其他社区资源的逆向工程。