AIStor MCP服务器
这是一个用于与AIStor对象存储交互的模型上下文协议(MCP)服务器。
有关MCP的更多信息,请访问其 官方网站.
有关AIStor MCP服务器的更多信息,请参阅我们的博客文章:
更新
- 2025-05-28
- 增加了对MCP版本的支持 2025-03-26 - 增加了对以下内容的支持 流式HTTP 协议 - 添加了 text_to_object 工具
特性
读取操作
- 列出桶
- 列出bucket中的对象
- 获取对象的元数据和标签
- 为对象创建过期的预签名URL
人工智能操作
- 使用以下方式描述对象的内容
ask_object工具
写入操作
应使用 --allow-write 配置中的标志。
- 创建一个bucket
- 将对象上传到bucket
- 为对象添加标签
删除操作
应使用 --allow-delete 配置中的标志。
- 删除对象
- 删除bucket
管理操作
应使用 --allow-admin 配置中的标志。
- 以人类可读的形式获取集群信息(配置、运行状况、可用空间)
桌面版Claude的配置
此MCP服务器可与其他启用MCP的客户端配合使用,但让我们从Claude开始。 它使用 STDIO 传输以与服务器交互。 有关使用配置服务器的说明,请参阅下一节 StreamableHTTP 运输。
先决条件
- 从以下网址下载并安装Claude for Desktop应用程序 克劳德.
此MCP服务器可与其他启用MCP的客户端配合使用,但让我们从Claude开始。
- 确保你已经安装了Docker或Podman,可以在你的台式机/笔记本电脑上使用。
- 获取您的AIStor(或MinIO)对象存储凭据(
MINIO_ACCESS_KEY和MINIO_SECRET_KEY)以及其端点位置。
如果您没有可用的AIStor或MinIO服务器,请随时使用以下值 MinIO游乐场服务器.
配置文件
使用您最喜欢的文本编辑器打开Claude for Desktop配置文件。 要在系统中查找配置文件,请按照以下步骤操作 快速入门说明 从模型上下文协议站点。 其默认位置为:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
将以下行添加到配置文件中,替换凭据、终结点和 YOUR_USERNAME 与他们的实际价值。 这个例子使用Podman,但如果你使用Docker替换 podman 在 command: 现场与 docker. 如果您配置了其他MCP服务器,只需在列表中插入AIStor配置。
添加时要小心 --allow-* 旗帜。默认情况下,如果没有任何标志,服务器将以只读模式运行。 添加 --allow-write 和 --allow-delete 仅在需要时标记此配置。 这 --allow-admin flag启用收集集群信息的管理功能。
{
"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 配置文件的参数。 请记住,每个对象记录都包含几十个令牌。
StreamableHTTP的配置
此MCP服务器与其他支持MCP的客户端协同工作,这些客户端支持 StreamableHTTP 运输。
先决条件
- 下载并安装支持MCP和StreamableHTTP的LLM客户端。
例如,您可以使用 樱桃工作室.
- 确保你已经安装了Docker或Podman,可以在你的台式机/笔记本电脑上使用。
- 获取您的AIStor(或MinIO)对象存储凭据(
MINIO_ACCESS_KEY和MINIO_SECRET_KEY)以及其端点位置。
如果您没有可用的AIStor或MinIO服务器,请随时使用以下值 MinIO游乐场服务器.
运行服务器
运行以下命令以启动服务器。 替换以下值 MINIO_ENDPOINT, MINIO_ACCESS_KEY,以及 MINIO_SECRET_KEY 与你的实际价值观。 替换 8090 (在三个地方!)使用系统上可用的端口号。
podman run -d --name aistor-mcp-server \
-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 \
-p 8090:8090 \
quay.io/minio/aistor/mcp-server-aistor:latest \
--allowed-directories /Downloads \
--allow-admin \
--allow-delete \
--allow-write \
--http \
--http-port 8090配置客户端
在客户端中,添加以下配置:
- MCP服务器名称:
aistor - 类型:
StreamableHTTP - 网址:
http://localhost:8090/mcp
测试连接
检查是否可以列出服务器中可用的工具。使用客户端中的“工具”选项卡。
停止服务器
podman stop aistor-mcp-server用法
以下是一些你可以做的事情的例子:
基本操作
- “列出我的AIStor服务器上的所有存储桶”
- “列出铲斗测试的内容”
文件操作
- “将文件example.pdf下载到我的下载目录”
- “创建一个桶,我的桶”
- “将下载中的document.pdf上传到bucket”
元数据操作
- “获取bucket my bucket中file.pdf的元数据”
- “列出对象config.json的所有标签”
管理操作
- “显示服务器运行状况”
- “获取存储使用统计信息”
每个命令都将返回具有相关信息的人类可读响应。
可用工具
通常,大型语言模型(LLM)能够找出用于您的请求的工具。 有时,您可能想明确地告诉模型要使用哪个工具。 对于此类情况,为了让您了解此MCP服务器还可以使用哪些工具,以下是此版本中可用的工具列表。
您始终可以通过单击Claude for Desktop应用程序中的锤子图标来获取此列表。
ask_object :使用AI询问有关对象内容的问题,支持各种文件格式并返回上下文答案
copy_object :将对象从一个桶复制到另一个桶,同时保留元数据并可选择修改属性。您还可以指定一个版本ID来复制对象的特定版本。
create_bucket :使用指定的配置和可选的版本控制设置创建新bucket
delete_bucket :删除一个桶,并可选择强制移除所有包含的对象
delete_object :使用可选的软删除支持从bucket中删除特定对象或版本。您还可以指定一个版本ID来删除对象的特定版本。
download_object :将对象从指定的bucket下载到本地文件系统,保留元数据。您还可以指定一个版本ID来下载对象的特定版本。
get_admin_info :获取有关AIStor对象存储的全面技术信息,包括状态、性能指标和配置
get_bucket_lifecycle :获取指定存储桶的生命周期,也称为生命周期规则,也称为ILM配置
get_bucket_replication :获取指定bucket的复制配置
get_bucket_tags :获取指定bucket的标签
get_bucket_versioning :获取指定bucket的版本状态和配置
get_data_usage_info :获取AIStor对象存储的数据使用信息,包括存储的总数据、对象数量和每个bucket的使用情况
get_object_metadata :获取对象的详细元数据,包括内容类型、大小、自定义标头和系统属性
get_object_presigned_url :获取bucket中对象的预签名URL,并提供可选的过期时间。默认值为7天。
get_object_tags :获取bucket中与特定对象关联的所有标签
get_object_versions :获取bucket中对象的所有版本
list_allowed_directories :列出允许与服务器进行操作的所有目录
list_bucket_contents :列出指定存储桶中的所有对象,包括它们的大小和上次修改日期。您还可以指定前缀来过滤对象以及是否列出版本。
list_buckets :列出AIStor对象存储中的所有bucket及其基本信息
list_local_files :列出指定本地目录路径中的所有文件和目录及其属性
move_object :通过复制到目标并从源中删除,在桶之间移动对象。您还可以指定一个版本ID来移动对象的特定版本。
set_bucket_tags :为指定的bucket设置标签
set_bucket_versioning :为具有管理权限的存储桶配置版本设置
set_object_tags :设置或更新bucket中现有对象的标签,支持多个键值对。您还可以指定版本ID,为对象的特定版本设置标记。
text_to_object :将文本转换为bucket中的对象,支持不同的内容类型。
upload_object :将文件从本地文件系统上传到指定的bucket。
