项目简介

Pixeltable MCP 服务器 (开发者版) 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将 Pixeltable——一个专为多模态AI数据设计的数据库(不仅仅是数据库),提供给大型语言模型 (LLM) 客户端。它允许LLM以标准化的方式访问和操作多模态数据(如图片、视频、音频、文档),运行AI/ML模型,并执行复杂的AI数据工作流。尽管目前处于实验性阶段,但它提供了一系列强大的功能,赋能LLM构建更智能、更具上下文感知的应用。

主要功能点

  • 多模态数据管理: 创建、管理和查询包含图片、视频、音频和文档等多种数据类型的表格。
  • AI模型集成: 直接在数据上运行各种AI/ML模型,如YOLOX目标检测、Whisper语音识别、OpenAI Vision、Hugging Face模型等。
  • 智能依赖安装: 自动检测并安装AI模型所需的Python依赖包,简化环境配置。
  • 交互式Python REPL: 提供持久化的Python执行环境,允许LLM动态执行Python代码、探索Pixeltable API和进行复杂数据操作。
  • 功能自省: 获取任何函数或对象的文档和签名,帮助LLM理解可用功能。
  • 问题与功能日志: 结构化地记录开发过程中遇到的bug、缺失功能和成功操作,以便于反馈和改进。
  • 数据存储配置: 灵活配置Pixeltable数据存储路径,支持在不同位置管理数据。
  • Prompt 指导: 提供详细的Prompt模板,指导LLM客户端如何有效利用Pixeltable MCP服务器进行AI数据工作流。

安装步骤

该服务器可以作为 'uv' 工具进行安装,也可以从源代码安装。推荐使用 'uv' 进行安装。

前提条件: 确保您的系统已安装 'uv'。如果尚未安装,请运行:

curl -LsSf https://astral.sh/uv/install.sh | sh

或参考 uv 安装指南

作为 'uv' 工具安装 (推荐): 在您的终端中运行以下命令:

uv tool install --from git+https://github.com/pixeltable/mcp-server-pixeltable-developer.git mcp-server-pixeltable-developer

这会将 Pixeltable MCP 服务器安装为一个全局可执行的 'uv' 工具。

从源代码安装 (适用于开发):

  1. 克隆仓库:
    git clone https://github.com/pixeltable/mcp-server-pixeltable-developer
  2. 进入项目目录:
    cd mcp-server-pixeltable-developer
  3. 同步依赖 (使用 'uv'):
    uv sync

服务器配置

MCP 客户端(如 Claude Desktop 或 Cursor)需要通过配置来启动并连接到 Pixeltable MCP 服务器。以下是 JSON 格式的配置示例,您需要将其添加到客户端的 MCP 服务器配置中:

对于通过 'uv' 工具安装的版本: (推荐用于大多数用户)

{
  "mcpServers": {
    "pixeltable": {
      "command": "mcp-server-pixeltable-developer",
      "env": {
        "PIXELTABLE_HOME": "/Users/{您的用户名}/.pixeltable",
        "PIXELTABLE_FILE_CACHE_SIZE_G": "10"
      },
      "description": "连接到Pixeltable多模态AI数据基础设施的MCP服务器,用于数据管理和AI模型集成。"
    }
  }
}
  • 'mcpServers.pixeltable': 这是您为该 MCP 服务器定义的名称,可以在客户端中自定义。
  • 'command': 这是启动 Pixeltable MCP 服务器的可执行命令。如果您通过 'uv tool install' 安装,命令就是 'mcp-server-pixeltable-developer'。
  • 'env': 环境变量配置。
    • 'PIXELTABLE_HOME': 指定 Pixeltable 数据存储的根目录。请将 '{您的用户名}' 替换为您的实际用户目录。
    • 'PIXELTABLE_FILE_CACHE_SIZE_G': 配置 Pixeltable 文件缓存大小,单位为GB。

对于从源代码安装的版本: (适用于开发或需要自定义启动的用户)

{
  "mcpServers": {
    "pixeltable": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "{您的仓库路径}",
        "python",
        "-m",
        "mcp_server_pixeltable_stio"
      ],
      "env": {
        "PIXELTABLE_HOME": "/Users/{您的用户名}/.pixeltable",
        "PIXELTABLE_FILE_CACHE_SIZE_G": "10"
      },
      "description": "连接到Pixeltable多模态AI数据基础设施的MCP服务器(从源代码运行),用于数据管理和AI模型集成。"
    }
  }
}
  • 'command': 这里是 'uv',因为它被用来运行 Python 模块。
  • 'args': 传递给 'uv run' 的参数列表。
    • '--directory {您的仓库路径}': 指定您的 Pixeltable MCP 服务器源代码所在的目录。请将 '{您的仓库路径}' 替换为实际路径。
    • 'python -m mcp_server_pixeltable_stio': 告诉 'uv' 运行 'mcp_server_pixeltable_stio' 模块作为 Python 应用程序。
  • 'env': 同上。

基本使用方法

配置完成后,您的 MCP 客户端即可通过自然语言与 Pixeltable MCP 服务器交互。以下是一些可以尝试的示例:

  • 创建数据表:
    • "为我的截图创建一个表格。"
    • "创建一个名为 'documents' 的表格,用于存储 PDF 文件。"
  • 导入数据:
    • "将我桌面上的所有图片添加到表格中。"
    • "从我的 Downloads 文件夹中添加视频到 'video_library' 表格。"
  • 应用AI模型:
    • "对所有图像执行目标检测。"
    • "使用 Whisper 识别所有音频文件中的语音。"
    • "使用 Ollama 分析这些图片。"
    • "为我的文档生成嵌入,用于语义搜索。"
  • 数据查询与分析:
    • "显示所有检测到汽车的图片。"
    • "查找所有提及 'AI' 的文档。"
    • "生成这个视频的摘要。"
  • 配置数据存储路径:
    • "将数据存储路径设置为 ~/my-pixeltable-data。"
    • "获取当前的数据存储配置。"
  • 执行Python代码 (高级):
    • 'execute_python("tables = pxt.list_tables(); print(f'Found {len(tables)} tables')")'
    • 'introspect_function("pxt.create_table")'
    • 'list_available_functions("pxt")'
  • 记录问题和建议:
    • 'log_bug("无法保存图像", severity="high", function_name="pxt.create_table")'
    • 'generate_bug_report()'

注意: 初次使用时,LLM 可能需要一些时间来理解并调用正确的工具。尝试用清晰、具体的语言描述您的需求。

信息

分类

开发者工具