使用说明

项目简介

AIStor MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,专为 AIStor 对象存储系统设计。它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议,安全、可扩展地访问和操作 AIStor 存储中的数据资源,并能调用预定义的功能工具。该服务器旨在桥接 LLM 应用和 AIStor 对象存储,为 LLM 提供丰富的上下文信息和操作能力。

主要功能点

  • 资源访问: 提供对 AIStor 对象存储桶和对象的读取、列表等操作,使 LLM 能够获取存储在 AIStor 中的数据信息。
  • AI 能力: 集成了 'ask-object' 工具,允许 LLM 分析对象内容,例如文档摘要、图片描述等,增强 LLM 的理解和推理能力。
  • 数据管理: 支持对象和存储桶的创建、上传、删除等写操作(默认禁用,需配置开启),方便 LLM 应用进行数据管理。
  • 元数据和标签: 允许 LLM 获取和管理对象及存储桶的元数据和标签,实现更精细化的数据管理和检索。
  • 管理功能: 提供集群健康状态、存储使用量等管理信息查询(默认禁用,需配置开启),帮助监控和维护 AIStor 服务。
  • 工具扩展: 提供丰富的预定义工具集,涵盖对象存储的常见操作,并支持未来扩展更多工具。

安装步骤

本仓库已容器化,无需手动编译安装,使用 Docker 或 Podman 即可快速部署。

  1. 安装 Claude for Desktop 客户端 (或其他 MCP 客户端): 根据仓库 README 推荐,首先需要安装 Claude for Desktop 应用。虽然理论上支持其他 MCP 客户端,但使用 Claude 可以保证最佳兼容性。
  2. 安装 Docker 或 Podman: 确保你的机器上已安装并运行 Docker 或 Podman 容器运行时环境。
  3. 准备 AIStor (或 MinIO) 存储凭证: 你需要拥有 AIStor 或 MinIO 对象存储服务的访问密钥 (Access Key) 和秘密密钥 (Secret Key) 以及服务终端地址 (Endpoint)。如果没有可用的 AIStor 或 MinIO 服务,可以使用 MinIO Playground 测试环境。

服务器配置

要让 Claude for Desktop (或其他 MCP 客户端) 连接到 AIStor MCP Server,需要修改 Claude 的配置文件 'claude_desktop_config.json'。

配置文件位置:

  • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%\Claude\claude_desktop_config.json'

配置内容 (JSON 格式):

将以下 JSON 代码片段添加到 'claude_desktop_config.json' 文件的 '"mcpServers"' 字段中。请根据你的实际情况修改以下参数:

{
  "mcpServers": {
    "aistor": {
      "command": "podman",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/Users/YOUR_USERNAME/Downloads:/Downloads",
        "-e",
        "MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT",  // 替换为你的 AIStor 或 MinIO 服务终端地址,例如 "play.min.io:9000"
        "-e",
        "MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY", // 替换为你的访问密钥
        "-e",
        "MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY", // 替换为你的秘密密钥
        "-e",
        "MINIO_USE_SSL=true", // 是否使用 SSL 连接,根据你的 AIStor/MinIO 服务配置设置
        "quay.io/minio/aistor/mcp-server-aistor:latest", // AIStor MCP Server 容器镜像
        "--allowed-directories", // 允许服务器访问的本地目录,用于文件上传/下载等操作
        "/Downloads", // 示例:允许访问用户下载目录
        "--allow-write", // 启用写操作 (可选,默认禁用)
        "--allow-delete", // 启用删除操作 (可选,默认禁用)
        "--allow-admin"  // 启用管理操作 (可选,默认禁用)
      ]
    }
  }
}

参数说明:

  • '"command": "podman"': 指定运行容器的命令,如果使用 Docker,请替换为 '"docker"'。
  • '"args": [...]': 容器运行的参数列表。
    • '"run", "-i", "--rm"': Docker/Podman 运行容器的标准参数,'-i' 表示交互模式,'--rm' 表示容器退出后自动删除。
    • '"-v", "/Users/YOUR_USERNAME/Downloads:/Downloads"': 挂载本地目录到容器内,'/Users/YOUR_USERNAME/Downloads' 是宿主机目录,'/Downloads' 是容器内目录。请根据你的实际用户目录和需要挂载的目录进行修改。
    • '"-e", "MINIO_ENDPOINT=..."', '"-e", "MINIO_ACCESS_KEY=..."', '"-e", "MINIO_SECRET_KEY=..."', '"-e", "MINIO_USE_SSL=..."': 通过环境变量传递 AIStor/MinIO 服务的连接信息。务必替换为你的实际凭证和终端地址
    • '"quay.io/minio/aistor/mcp-server-aistor:latest"': 指定要使用的 AIStor MCP Server Docker 镜像。
    • '"--allowed-directories", "/Downloads"': 重要: 限制服务器可以访问的本地目录,增强安全性。请根据实际需要配置允许的目录。
    • '"--allow-write", "--allow-delete", "--allow-admin"': 可选: 通过添加这些 flag 启用写操作、删除操作和管理操作。默认情况下,服务器以只读模式运行,为了安全,请谨慎启用这些功能,仅在必要时添加
    • '"--max-keys", "number"': 可选: 设置单次列表操作返回的最大对象或存储桶数量,默认为 1000。可以根据 LLM 的上下文窗口大小调整。

基本使用方法

配置完成后,在 Claude for Desktop (或其他 MCP 客户端) 中,你可以通过自然语言指令与 AIStor MCP Server 交互,例如:

  • 列出所有存储桶: 在 Claude 中输入 "List all buckets on my AIStor server"。
  • 列出存储桶内容: 输入 "List the contents of bucket test" (将 "test" 替换为你的存储桶名称)。
  • 下载文件: 输入 "Download the file example.pdf to my Downloads directory" (将 "example.pdf" 替换为文件名,"Downloads" 替换为配置的允许目录)。
  • 询问对象内容: 输入 "Ask about the content of the file document.pdf in bucket my-bucket" (使用 'ask-object' 工具分析对象内容)。
  • 获取服务器健康状态: 输入 "Show server health status" (需要启用 '--allow-admin' 功能)。

LLM 通常能够根据你的指令自动选择合适的工具进行操作。你也可以显式指定要使用的工具,参考 "Available tools" 章节的工具列表。

信息

分类

数据库与文件