A simple Docker container for the MCP Aiven server.
- Create a
.envfile with your Aiven credentials:
# Aiven API configuration
AIVEN_BASE_URL=https://api.aiven.io
AIVEN_PROJECT_NAME=your-project-name
# Aiven Authentication Token
AIVEN_TOKEN=your-token-here
- Build and run the Docker container:
docker-compose up -d- Access the server at http://localhost:8000
GET /: HTML page showing the server status and environment variablesGET /api/projects: JSON response with the list of projects
docker-compose downAn MCP server for Aiven.
-
list_projects- List all projects on your Aiven account.
-
list_services- List all services in a specific Aiven project.
-
get_service_details- Get the detail of your service in a specific Aiven project.
-
get_metadata- Get the metadata of a specific Aiven service, currently only working for Aiven for PostgreSQL®.
-
run_query- Run a query against a specific Aiven service, currently only working for Aiven for PostgreSQL®.
-
Open the Claude Desktop configuration file located at:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - On Windows:
%APPDATA%/Claude/claude_desktop_config.json
- On macOS:
-
Add the following:
{
"mcpServers": {
"mcp-clickhouse": {
"command": "uv",
"args": [
"--directory",
"$REPOSITORY_DIRECTORY",
"run",
"--with-editable",
"$REPOSITORY_DIRECTORY",
"--python",
"3.13",
"mcp-aiven"
],
"env": {
"AIVEN_BASE_URL": "https://api.aiven.io",
"AIVEN_PROJECT_NAME": "$DEFAULT_PROJECT_NAME",
"AIVEN_TOKEN": "$AIVEN_TOKEN"
}
}
}
}Update the environment variables:
$REPOSITORY_DIRECTORYto point to the folder cointaining the repositoryAIVEN_PROJECT_NAMEto the default project nameAIVEN_TOKENto the Aiven login token.
-
Locate the command entry for
uvand replace it with the absolute path to theuvexecutable. This ensures that the correct version ofuvis used when starting the server. On a mac, you can find this path usingwhich uv. -
Restart Claude Desktop to apply the changes.
-
Navigate to Cursor -> Settings -> Cursor Settings
-
Select "MCP Servers"
-
Add a new server with
- Name:
mcp-aiven - Type:
command - Command:
uv --directory $REPOSITORY_DIRECTORY run --with-editable $REPOSITORY_DIRECTORY --python 3.13 mcp-aiven
- Name:
Where $REPOSITORY_DIRECTORY is the path to the repository. You might need to add the AIVEN_BASE_URL, AIVEN_PROJECT_NAME and AIVEN_TOKEN as variables
- Add the following variables to a
.envfile in the root of the repository.
AIVEN_BASE_URL=https://api.aiven.io
AIVEN_PROJECT_NAME=$DEFAULT_PROJECT_NAME
AIVEN_TOKEN=$AIVEN_TOKEN
-
Run
uv syncto install the dependencies. To installuvfollow the instructions here. Then dosource .venv/bin/activate. -
For easy testing, you can run
mcp dev mcp_aiven/mcp_server.pyto start the MCP server.
The following environment variables are used to configure the ClickHouse connection:
AIVEN_BASE_URL: The Aiven API urlAIVEN_PROJECT_NAME: The default project nameAIVEN_TOKEN: The authentication token =======
Demo private repo for testing mcp hosting on Aiven.