
Aistor
AIStor 官方 MCP 服务器
AIStor MCP 服务器
这是一个用于与 AIStor 对象存储交互的模型上下文协议 (MCP) 服务器。
有关 MCP 的更多信息,请访问其官方网站。
有关 AIStor MCP 服务器的更多信息,请参阅我们的博客文章。
功能
读取操作
- 列出存储桶
- 列出存储桶中的对象
- 获取对象的元数据和标签
- 为对象创建一个带过期时间的预签名 URL
AI 操作
- 使用
ask-object
函数描述对象的内容
写入操作
这些操作应通过在配置中使用 --allow-write
标志启用。
- 创建存储桶
- 将对象上传到存储桶
- 为对象添加标签
删除操作
这些操作应通过在配置中使用 --allow-delete
标志启用。
- 删除对象
- 删除存储桶
管理操作
这些操作应通过在配置中使用 --allow-admin
标志启用。
- 以人类可读的形式获取集群信息(配置、健康状态、可用空间)
配置
先决条件
-
从 Claude 下载并安装 Claude for Desktop 应用程序。
此 MCP 服务器适用于其他支持 MCP 的客户端,但让我们先从 Claude 开始。 -
确保您的桌面/笔记本电脑上已安装并准备好使用 Docker 或 Podman。
-
获取您的 AIStor(或 MinIO)对象存储凭据(
MINIO_ACCESS_KEY
和MINIO_SECRET_KEY
)及其端点位置。
如果您没有可用的 AIStor 或 MinIO 服务器,可以随意使用 MinIO Playground 服务器的值。
配置文件
使用您喜欢的文本编辑器打开 Claude for Desktop 配置文件。
要找到系统中的配置文件,请遵循 Model Context Protocol 网站上的快速入门说明。
其默认位置是:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
将以下行添加到配置文件中,替换凭据、端点和 YOUR_USERNAME
为实际值。
此示例使用 Podman,但如果您使用 Docker,请将 command:
字段中的 podman
替换为 docker
。
如果您已配置了其他 MCP 服务器,只需将 AIStor 配置插入列表中。
添加 --allow-*
标志时请小心。默认情况下,没有任何标志时,服务器将以只读模式运行。
仅在需要时将 --allow-write
和 --allow-delete
标志添加到此配置中。
--allow-admin
标志启用了收集集群信息的管理功能。
json
{
"mcpServers": {
"aistor": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-v",
"/Users/YOUR_USERNAME/Downloads:/Downloads",
"-e",
"MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT",
"-e",
"MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY",
"-e",
"MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY",
"-e",
"MINIO_USE_SSL=true",
"quay.io/minio/aistor/mcp-server-aistor:latest",
"--allowed-directories",
"/Downloads",
"--allow-write",
"--allow-delete",
"--allow-admin"
]
}
}
}
默认情况下,服务器列出并发送给 LLM 的对象或存储桶的数量限制为 1000 个对象。
这是为了防止超出模型上下文窗口的令牌限制。
如果您的模型允许更宽的上下文窗口,则可以通过向配置文件中添加 --max-keys
参数来增加此数字。
请记住,每个对象记录包含几十个令牌。
使用方法
以下是一些您可以执行的操作示例:
基本操作
- "列出我的 AIStor 服务器上的所有存储桶"
- "列出存储桶 test 的内容"
文件操作
- "将文件 example.pdf 下载到我的 Downloads 目录"
- "创建存储桶 my-bucket"
- "将 document.pdf 从 Downloads 上传到存储桶 my-bucket"
元数据操作
- "获取存储桶 my-bucket 中 file.pdf 的元数据"
- "列出对象 config.json 的所有标签"
管理操作
- "显示服务器健康状态"
- "获取存储使用统计信息"
每个命令将返回包含相关信息的人类可读响应。
可用工具
通常,大型语言模型 (LLM) 将能够确定哪个工具适合您的请求。
有时,您可能希望明确告诉模型使用哪个工具。
对于这种情况,也为了让您知道此 MCP 服务器还可以实现哪些功能,以下是此版本中可用工具的列表。
您始终可以通过点击 Claude for Desktop 应用程序中的锤子图标来获取此列表。
ask-object
: 使用 AI 询问对象内容的问题,支持各种文件格式并返回上下文相关的答案
copy-object
: 将对象从一个存储桶复制到另一个存储桶,同时保留元数据并可选修改属性。您还可以指定版本 ID 以复制对象的特定版本。
create-bucket
: 创建具有指定配置和可选版本控制设置的新存储桶
delete-bucket
: 删除存储桶,并可选强制移除所有包含的对象
delete-object
: 从存储桶中删除特定对象或版本,并支持可选的软删除。您还可以指定版本 ID 以删除对象的特定版本。
download-object
: 将对象从指定存储桶下载到本地文件系统,同时保留元数据。您还可以指定版本 ID 以下载对象的特定版本。
get-admin-info
: 获取有关 AIStor 对象存储的全面技术信息,包括状态、性能指标和配置
get-bucket-lifecycle
: 获取指定存储桶的生命周期(也称为生命周期规则或 ILM 配置)
get-bucket-replication
: 获取指定存储桶的复制配置
get-bucket-tags
: 获取指定存储桶的标签
get-bucket-versioning
: 获取指定存储桶的版本控制状态和配置
get-data-usage-info
: 获取 AIStor 对象存储的数据使用信息,包括总存储数据量、对象数量以及每个存储桶的使用情况
get-object-metadata
: 获取对象的详细元数据,包括内容类型、大小、自定义标头和系统属性
get-object-presigned-url
: 获取存储桶中对象的预签名 URL,并带有可选的过期时间。默认为 7 天。
get-object-tags
: 获取存储桶中特定对象的所有标签
get-object-versions
: 获取存储桶中对象的所有版本
list-allowed-directories
: 列出所有允许与服务器进行操作的目录
list-bucket-contents
: 列出指定存储桶中的所有对象,包括它们的大小和最后修改日期。您还可以指定前缀以过滤对象以及是否列出版本。
list-buckets
: 列出 AIStor 对象存储中的所有存储桶及其基本信息
list-local-files
: 列出指定本地目录路径中的所有文件和目录及其属性
move-object
: 通过复制到目标并从源移除来移动对象。您还可以指定版本 ID 以移动对象的特定版本。
set-bucket-tags
: 设置指定存储桶的标签
set-bucket-versioning
: 使用管理权限配置存储桶的版本控制设置
set-object-tags
: 为存储桶中的现有对象设置或更新标签,支持多个键值对。您还可以指定版本 ID 以为对象的特定版本设置标签。
upload-object
: 从本地文件系统上传文件到指定存储桶,支持元数据和标签