mcp server aistor
Official MCP server for AIStor
Official MCP server for AIStor
This is a Model Context Protocol (MCP) server for interacting with AIStor object stores.
More information about MCP can be found on its official site.
More information about AIStor MCP server can be found in our blog posts.
ask-object
functionThese operations should be enabled by using the --allow-write
flag in the config.
These operations should be enabled by using the --allow-delete
flag in the config.
These operations should be enabled by using the --allow-admin
flag in the config.
Download and install Claude for Desktop application from Claude. This MCP server works with other MCP-enabled clients, but let's start with Claude.
Make sure you have Docker or Podman installed and ready to use on your desktop/laptop.
Get your AIStor (or MinIO) object store credentials (MINIO_ACCESS_KEY
and MINIO_SECRET_KEY
) and its endpoint location.
If you don't have an AIStor or MinIO server available, feel free to use the values for MinIO Playground server.
Open the Claude for Desktop configuration file with your favorite text editor. To find the config file in your system follow the Quickstart instructions from the Model Context Protocol site. Its default location is:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%Claudeclaude_desktop_config.json
Add the following lines to the config file, replacing the credentials, endpoint, and YOUR_USERNAME
with their actual values.
This example uses Podman, but if you use Docker replace podman
in the command:
field with docker
.
If you have other MCP servers configured just insert the AIStor config in the list.
Be careful when adding the --allow-*
flags. By default without any flags the server will be running in read-only mode.
Add --allow-write
and --allow-delete
flags to this configuration only when you need them.
The --allow-admin
flag enables admin functions that collect information about the cluster.
{
"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"
]
}
}
}
By default, the number of objects or buckets that the server lists and send to LLM is limited by 1000 objects.
This is done to avoid hitting the limit of the model's context window in tokens.
If your model allows wider context window you can increase this number by adding the --max-keys
parameter to the configuration file.
Keep in mind that each object record contains several dozen of tokens.
Here are some examples of what you can do:
Each command will return human-readable responses with relevant information.
Usually the Large Language Model (LLM) will be able to figure out which tool to use for your request. Sometimes, you may want to tell the model explicitly which tool to use. For such cases and also to let you know what else is possible with this MCP server, here is the list of tools available in this version.
You can always get this list by clicking the hammer icon in your Claude for Desktop application.
ask-object
copy-object
create-bucket
delete-bucket
delete-object
download-object
get-admin-info
get-bucket-lifecycle
get-bucket-replication
get-bucket-tags
get-bucket-versioning
get-data-usage-info
get-object-metadata
get-object-presigned-url
get-object-tags
get-object-versions
list-allowed-directories
list-bucket-contents
list-buckets
list-local-files
move-object
set-bucket-tags
set-bucket-versioning
set-object-tags
upload-object