AIStor MCP服务器
这是一个用于与 AIStor 对象存储交互的模型上下文协议 (MCP) 服务器。
有关 MCP 的更多信息可以在其官方网站上找到。
有关 AIStor MCP 服务器的更多信息,请参阅我们的博客文章。
特征
读取操作
- 列出存储桶
- 列出存储桶中的对象
- 获取对象的元数据和标签
- 为对象创建具有有效期的预签名 URL
AI操作
- 使用
ask-object
函数描述对象的内容
写入操作
应使用配置中的--allow-write
标志来启用这些操作。
- 创建存储桶
- 将对象上传到存储桶
- 为对象添加标签
删除操作
应使用配置中的--allow-delete
标志来启用这些操作。
- 删除对象
- 删除存储桶
管理员操作
应使用配置中的--allow-admin
标志来启用这些操作。
- 以人类可读的形式获取集群信息(配置、健康状态、可用空间)
配置
先决条件
- 从Claude下载并安装 Claude 桌面版应用程序。此 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
将以下行添加到配置文件中,将 credentials、endpoint 和YOUR_USERNAME
替换为实际值。本示例使用 Podman,但如果您使用 Docker,请将command:
字段中的podman
替换为docker
。如果您配置了其他 MCP 服务器,只需在列表中插入 AIStor 配置即可。
添加--allow-*
标志时请务必小心。默认情况下,如果未添加任何标志,服务器将以只读模式运行。仅在需要时才将--allow-write
和--allow-delete
标志添加到此配置中。-- --allow-admin
标志用于启用收集集群信息的管理功能。
默认情况下,服务器列出并发送到 LLM 的对象或存储桶数量限制为 1000 个。这样做是为了避免达到模型上下文窗口(以令牌为单位)的限制。如果您的模型允许更宽的上下文窗口,您可以通过在配置文件中添加--max-keys
参数来增加此数量。请记住,每个对象记录包含数十个令牌。
用法
以下是您可以执行的操作的一些示例:
基本操作
- “列出我的 AIStor 服务器上的所有存储桶”
- “列出桶测试的内容”
文件操作
- “将文件 example.pdf 下载到我的下载目录”
- “创建一个存储桶 my-bucket”
- “将 document.pdf 从下载上传到存储桶 my-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
:从存储桶中删除特定对象或版本,并可选地支持软删除。您还可以指定版本 ID 来删除对象的特定版本。
download-object
:将对象从指定的存储桶下载到本地文件系统,并保留元数据。您还可以指定版本 ID 来下载对象的特定版本。
get-admin-info
:获取有关 AIStor 对象存储的全面技术信息,包括状态、性能指标和配置
get-bucket-lifecycle
:获取指定 bucket 的生命周期(也称为生命周期规则,也称为 ILM 配置)
get-bucket-replication
:获取指定 bucket 的复制配置
get-bucket-tags
:获取指定 bucket 的标签
get-bucket-versioning
:获取指定 bucket 的版本控制状态和配置
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
:将文件从本地文件系统上传到指定的存储桶,支持元数据和标签
Related MCP Servers
- Python
- PythonMIT License
- PythonMIT License
- PythonMIT License