使用说明
项目简介
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 即可快速部署。
- 安装 Claude for Desktop 客户端 (或其他 MCP 客户端): 根据仓库 README 推荐,首先需要安装 Claude for Desktop 应用。虽然理论上支持其他 MCP 客户端,但使用 Claude 可以保证最佳兼容性。
- 安装 Docker 或 Podman: 确保你的机器上已安装并运行 Docker 或 Podman 容器运行时环境。
- 准备 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" 章节的工具列表。
信息
分类
数据库与文件