项目简介
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' 工具。
从源代码安装 (适用于开发):
- 克隆仓库:
git clone https://github.com/pixeltable/mcp-server-pixeltable-developer - 进入项目目录:
cd mcp-server-pixeltable-developer - 同步依赖 (使用 '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 可能需要一些时间来理解并调用正确的工具。尝试用清晰、具体的语言描述您的需求。
信息
分类
开发者工具