这是一个用于与AIStor对象存储进行交互的模型上下文协议(MCP)服务器。
更多关于MCP的信息,请访问其官方网站。
更多关于AIStor MCP服务器的信息,请参阅我们的博客文章:
ask_object工具描述对象的内容这些操作应通过在配置中使用--allow-write标志来启用。
这些操作应通过在配置中使用--allow-delete标志来启用。
这些操作应通过在配置中使用--allow-admin标志来启用。
此MCP服务器可以与其他支持MCP的客户端一起工作,但让我们从Claude开始。
它使用STDIO传输与服务器进行交互。
请参阅下一节以了解如何使用StreamableHTTP传输配置服务器。
从Claude下载并安装桌面版Claude应用程序。 此MCP服务器可以与其他支持MCP的客户端一起工作,但让我们从Claude开始。
确保您已安装并准备好在您的台式机或笔记本电脑上使用Docker或Podman。
获取您的AIStor(或MinIO)对象存储凭据(MINIO_ACCESS_KEY和MINIO_SECRET_KEY)及其端点位置。
如果您没有可用的AIStor或MinIO服务器,您可以自由使用MinIO游乐场服务器的值。
使用您喜欢的文本编辑器打开桌面版Claude的配置文件。 要找到系统中的配置文件,请遵循快速入门说明中的说明。 默认位置如下:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json向配置文件中添加以下行,并替换凭据、端点和YOUR_USERNAME的实际值。
此示例使用Podman,如果您使用Docker,请将command:字段中的podman替换为docker。
如果您已经配置了其他MCP服务器,请将AIStor配置插入列表中。
请注意,在添加--allow-*标志时要小心。默认情况下,不带任何标志的服务器将以只读模式运行。
仅当需要时才向此配置添加--allow-write和--allow-delete标志。
--allow-admin标志启用收集有关集群信息的管理功能。
{
"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参数来增加这个数字。
请记住,每个对象记录包含几十个标记。
此MCP服务器可以与其他支持MCP和StreamableHTTP传输的客户端一起工作。
下载并安装支持MCP和StreamableHTTP的LLM客户端。 例如,您可以使用Cherry Studio。
确保您已安装并准备好在您的台式机或笔记本电脑上使用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=_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
在客户端中添加以下配置:
aistorStreamableHTTPhttp://localhost:8090/mcp检查是否可以列出服务器中可用的工具。使用客户端中的“工具”选项卡。
podman stop aistor-mcp-server
这里有一些您可以执行的操作示例:
每个命令都会返回带有相关信息的人类可读响应。
通常,大型语言模型(LLM)能够根据您的请求确定使用哪个工具。 有时,您可能希望明确告诉模型使用哪个工具。 为了这种情况以及让您知道使用此MCP服务器还可以做些什么,这里是此版本中可用工具的列表。
您始终可以通过点击桌面版Claude应用程序中的锤子图标来获取此列表。
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来设置特定版本对象的标签。
text_to_object
: 将文本转换为桶中的对象,支持不同的内容类型。
upload_object
: 从本地文件系统上传文件到指定的桶。