Pocket Pick - 个人知识库 MCP 服务器

Pocket Pick 是一个基于 Model Context Protocol (MCP) 构建的个人知识库服务器,旨在帮助工程师和技术人员存储、组织和检索代码片段、命令、笔记和各种有用的信息。它通过简单的文本和标签搜索,让用户能够快速找到所需的知识,并无缝集成到支持 MCP 协议的 AI 助手(如 Claude)中。

主要功能点:

  • 个人知识库: 存储代码片段、文本信息、想法等。
  • 标签组织: 使用标签对知识条目进行分类和过滤。
  • 灵活搜索: 支持子字符串、全文搜索、Glob 模式、正则表达式和精确匹配等多种搜索模式。
  • MCP 集成: 作为 MCP 服务器,可以与 Claude 等 MCP 客户端无缝协作。
  • SQLite 后端: 使用轻量级 SQLite 数据库存储数据,方便携带和备份。
  • 命令行界面: 提供简单的命令行工具进行管理和操作。

安装步骤:

  1. 克隆仓库:
    git clone https://github.com/disler/pocket-pick.git
    cd pocket-pick
  2. 安装依赖: 确保已安装 uv,然后运行:
    uv sync

服务器配置:

要将 Pocket Pick 添加为 MCP 服务器,您需要提供服务器的启动命令和参数给 MCP 客户端。以下是配置信息示例 (JSON 格式):

{
  "serverName": "pocket-pick",
  "command": "uv",
  "args": [
    "--directory",
    "/path/to/pocket-pick-codebase",  // 将此路径替换为您的 pocket-pick 代码库的实际路径
    "run",
    "mcp-server-pocket-pick"
  ],
  "databasePath": "/path/to/database.db" // (可选) 数据库文件路径,默认为 ~/.pocket_pick.db
}

参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "pocket-pick"。
  • 'command': 运行服务器的命令,这里使用 'uv'。
  • 'args': 传递给 'uv' 命令的参数列表:
    • '--directory': 指定代码库目录,请务必替换为您的 pocket-pick 代码库的实际路径
    • 'run': uv 的子命令,用于运行 Python 模块。
    • 'mcp-server-pocket-pick': 要运行的 Python 模块名,即启动 Pocket Pick MCP 服务器的入口。
  • 'databasePath': (可选) 指定数据库文件路径。如果需要自定义数据库存储位置,请取消注释并修改为您希望的路径。 默认情况下,数据库文件存储在 '~/.pocket_pick.db'。

在 Claude Code 中添加 MCP 服务器示例:

以下命令展示了如何在 Claude Code 中添加 Pocket Pick MCP 服务器:

# 如果您在 pocket-pick 代码库目录下
claude mcp add pocket-pick -- \
    uv --directory . \
    run mcp-server-pocket-pick

# 如果您不在 pocket-pick 代码库目录下,请指定代码库路径
claude mcp add pocket-pick -- \
    uv --directory /path/to/pocket-pick-codebase \  # 将此路径替换为您的 pocket-pick 代码库的实际路径
    run mcp-server-pocket-pick

# 使用自定义数据库路径
claude mcp add pocket-pick -- \
    uv --directory /path/to/pocket-pick-codebase \  # 将此路径替换为您的 pocket-pick 代码库的实际路径
    run mcp-server-pocket-pick --database ./database.db # 指定数据库文件路径为当前目录下的 database.db

# 验证服务器是否成功添加并运行
claude mcp list

# 启动 Claude Code
claude

基本使用方法:

成功添加 Pocket Pick MCP 服务器后,您可以在 Claude 对话中通过自然语言指令来操作您的个人知识库。

示例:

  • 添加条目:
    Add "claude mcp list" as a pocket pick item. tags: mcp, claude, code
    pbpaste and create a pocket pick item with the following tags: python, algorithm, fibonacci
  • 列出条目:
    list all my pocket picks
    list pocket pick items with python and mcp tags
  • 查找条目:
    pocket pick find "python"
    Find items containing "pyt" using substring matching
  • 获取和删除条目:
    get the pocket pick item with ID 1234-5678-90ab-cdef
    remove the pocket pick item with ID 1234-5678-90ab-cdef
  • 备份数据库:
    backup the pocket pick database to ~/Documents/pocket-pick-backup.db

请参考 'README.md' 文件获取更详细的使用说明和搜索模式信息。

信息

分类

生产力应用