关于 Aiven
Aiven 是用于管理 Aiven 云数据平台服务的 MCP 服务,适用于通过 AI 助手操作 PostgreSQL、Kafka 等服务的团队。工具涵盖服务管理和数据操作,并可限制为只读或指定服务范围。
主要功能
- 01列出和管理 Aiven 项目及服务
- 02查看服务指标、日志和活动
- 03读写 Kafka Topic 并管理 Connector
- 04执行 PostgreSQL 查询并查看统计信息
- 05按服务范围或只读模式限制工具
适用场景
- 01检查 Aiven 服务状态和日志
- 02创建或更新 Kafka Topic 与 Connector
- 03查询 PostgreSQL 数据或统计信息
- 04将 Agent 限制为指定服务或只读操作
MCP 相关
将 Aiven 平台操作作为 MCP 工具提供给 AI 助手。客户端可连接 Aiven 托管的 HTTP 端点,或通过 stdio 在本地运行服务;工具可限定范围或设为只读。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}claude mcp add --transport http aiven https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}{"mcpServers":{"aiven":{"type":"http","url":"https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"}}}在 Cursor 中打开{"servers":{"aiven":{"type":"http","url":"https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"}}}在 VS Code 中打开{"mcpServers":{"aiven":{"type":"http","url":"https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"}}}{"mcpServers":{"aiven":{"serverUrl":"https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Aiven MCP 服务
面向 Aiven 云数据平台的 Model Context Protocol(MCP)服务。
通过 Claude、Cursor 和 VS Code Copilot 等 AI 助手,直接管理 PostgreSQL、Apache Kafka、应用程序和其他 Aiven 服务。
警告
请谨慎使用。 此 MCP 服务可以代表你创建、修改和删除 Aiven 服务与数据。AI Agent 可能会根据对提示词的理解执行破坏性操作(删除数据库、删除服务、发送消息)。你需对通过此工具执行的操作承担全部责任。
权限: 访问权限由经过身份验证的账户所关联的 Aiven 用户权限决定。MCP 服务只能执行 Aiven 用户获准执行的操作。
AI Agent 安全: AI Agent 可能需要访问凭据(数据库连接字符串、流式传输令牌)才能代表你执行操作。请检查 Agent 的操作,尤其是在生产环境中。向 AI Agent 提供敏感资源的访问权限前,请遵循组织的安全政策并进行风险评估。
快速开始
选项 1:远程(由 Aiven 托管)
MCP 服务托管在 https://mcp.aiven.live/mcp。你的 MCP 客户端会提示你在 Aiven 上进行授权。
Claude Code
claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"
Cursor
或者手动添加到 Cursor MCP 设置中:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp"
}
}
}
VS Code / Copilot
将以下内容添加到工作区的 .vscode/mcp.json:
{
"servers": {
"aiven-mcp": {
"type": "http",
"url": "https://mcp.aiven.live/mcp"
}
}
}
只读模式(远程)
在 URL 中添加 ?read_only=true 即可启用只读模式。MCP 中将排除所有写入操作:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?read_only=true"
}
}
}
限定工具范围(远程)
在 URL 中添加 ?services_scope=,以减少向 AI Agent 暴露的工具范围。如果你只使用部分 Aiven 服务,并希望让 Agent 的上下文保持聚焦,这会很有用。使用逗号组合多个值。core(项目/服务发现)始终会隐式包含。
有效范围:all、core、pg、kafka、application、integrations、opensearch。使用 all 可显式加载所有工具(与省略此参数相同)。all 不能与其他范围组合。opensearch 遵循与 kafka 或 pg 相同的规则(core 加 OpenSearch 类别工具);目前还没有专用的 OpenSearch 工具,因此当前仅会公开 core。
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?services_scope=kafka"
}
}
}
你也可以与 read_only 组合使用:
https://mcp.aiven.live/mcp?services_scope=pg&read_only=true
只读模式中的写入例外(远程)
启用 read_only=true 时,添加 ?write_allowlist= 可重新启用特定写入工具,同时保持其他操作为只读。如果你大多需要只读访问,但仍需允许某项写入操作(例如创建 Kafka 主题),这会很有用。使用逗号组合多个工具名称。未启用 read_only 时,此参数会被忽略。
https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create
Marketplace 客户(远程)
如果你通过云 Marketplace 订阅了 Aiven,请将 Marketplace 名称作为路径段添加,以便使用正确的控制台进行登录:
| Marketplace | 路径段 |
|---|---|
| AWS Marketplace | https://mcp.aiven.live/mcp/aws |
| Azure Marketplace | https://mcp.aiven.live/mcp/azure |
| Google Cloud Marketplace | https://mcp.aiven.live/mcp/gcp |
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp/<marketplace>"
}
}
}
路径段可以与上述查询参数组合使用,例如 https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true。
选项 2:stdio(本地)
在本地运行服务,并将其作为 MCP 客户端的子进程。需要 Node.js 18+。
你必须通过 AIVEN_TOKEN 环境变量提供 Aiven API 令牌。在此创建令牌。
Claude Code
claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven
Cursor、VS Code —— 添加到 MCP 客户端配置中:
{
"mcpServers": {
"aiven-mcp": {
"command": "npx",
"args": ["-y", "mcp-aiven"],
"env": {
"AIVEN_TOKEN": "your-token-here"
}
}
}
}
配置文件位置:
- Cursor:Cursor 设置 > MCP Servers
- VS Code:工作区中的
.vscode/mcp.json
选项 3:本地开发
运行服务器的本地构建版本(适用于开发和测试):
pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js
服务器默认监听端口 3000。将 MCP 客户端连接到 http://localhost:3000/mcp。
若要将远程部署指向自定义主机(例如你的本地构建版本),请设置 MCP_HOST:
MCP_HOST=http://localhost:3000 node dist/index.js
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
AIVEN_TOKEN | 仅 stdio | -- | Aiven API 令牌(在此创建) |
AIVEN_READ_ONLY | 否 | false | 设置为 true 可仅开放只读工具 |
AIVEN_SERVICES_SCOPE | 否 | -- | 要开放的逗号分隔范围(例如 kafka、pg,kafka 或 all)。有效值:all、core、pg、kafka、application、integrations、opensearch。对于指定范围的服务类型,会隐式包含 core。opensearch 目前没有专用工具(在添加 OpenSearch 工具之前仅包含 core)。省略此变量或将其设为 all 会加载所有工具。 |
AIVEN_ALLOW_SECRETS | 否 | false | 设置为 true 可开放 aiven_service_connection_info 工具,该工具会将实时凭据(密码、连接 URI、证书)返回到对话中。当 AIVEN_READ_ONLY=true 时,此项会被禁用。 |
AIVEN_WRITE_ALLOWLIST | 否 | -- | 当 AIVEN_READ_ONLY=true 时,用逗号分隔的工具名称列表,用于重新启用指定工具(例如 aiven_kafka_topic_create)。未启用只读模式时会忽略此项。 |
MCP_HOST | 否 | https://mcp.aiven.live | 覆盖 OAuth 受保护资源主机 |
MCP_TRANSPORT | 否 | stdio | 设置为 http,以启动 HTTP 服务,而不是使用 stdio |
MCP_HTTP_RATE_LIMIT_MAX | 否 | 1000 | 每个窗口内 POST /mcp(HTTP 传输)的最大请求数,按 Bearer 令牌计算。客户端 IP 限流预计由 Cloudflare 负责。 |
MCP_HTTP_RATE_LIMIT_WINDOW_MS | 否 | 60000 | MCP_HTTP_RATE_LIMIT_MAX 的窗口长度,单位为毫秒。 |
EXTRA_PROTECTION | 否 | false | 在 HTTP 部署中设置为 true,要求除 GET /health 之外的每个请求都包含有效的 X-Edge-Auth 标头。请参阅下文的边缘保护推出。 |
MCP_EDGE_AUTH_SECRET | 当 EXTRA_PROTECTION=true 时 | -- | 共享密钥;必须与 Cloudflare 通过 Transform Rules 注入为 X-Edge-Auth 的值一致。 |
在远程(HTTP)模式下,无需 AIVEN_TOKEN。MCP 客户端会在每个请求中将你的令牌作为 Bearer 令牌发送。
生产环境中的 HTTP 流量通过两层进行限流:Cloudflare 按客户端 IP 限流(在 Cloudflare 控制面板中配置),此服务则在 POST /mcp 上按 Bearer 令牌应用 MCP_HTTP_RATE_LIMIT_* 限流。
边缘防护部署
当 EXTRA_PROTECTION=true 时,只要 MCP_EDGE_AUTH_SECRET 与 Cloudflare 注入为 X-Edge-Auth 的值不匹配,所有请求都会返回 403(GET /health 除外)。这两个值分别是网络两端的环境变量/配置,因此唯一的恢复方式是修正密钥并重新部署,或更新 Cloudflare。
请按以下顺序启用:
- Cloudflare Transform Rule — 添加一条规则,为发往 MCP 源站的流量设置
X-Edge-Auth(如果用于 PG 工具,还需设置X-Client-IP)。记下配置的密钥值。 MCP_EDGE_AUTH_SECRET— 部署服务器时设置此环境变量,使其与 Transform Rule 中的密钥相同。暂时不要设置EXTRA_PROTECTION,或将其设为false;验证源站仍能接受流量。EXTRA_PROTECTION=true— 仅在步骤 1–2 已生效且匹配后启用。确认普通 MCP 请求成功,并且不带X-Edge-Auth直接访问源站会被拒绝。- 密钥轮换 — 同时更新 Cloudflare 和
MCP_EDGE_AUTH_SECRET(或短暂设置EXTRA_PROTECTION=false),重新部署,然后重新启用。标志开启时,切勿只轮换一端。
如果启动时 EXTRA_PROTECTION=true,但未设置 MCP_EDGE_AUTH_SECRET,进程会立即报错并退出。
拒绝请求期间,服务器最多每 15 分钟记录一次配置错误警告(收到带有效 X-Edge-Auth 的请求后会重置计时),因此密钥不匹配会在日志中清晰可见,而不会对每个被拒绝的请求都记录一行。
工具
核心
| 工具 | 描述 |
|---|---|
aiven_project_list | 列出项目 |
aiven_project_get | 获取项目详情 |
aiven_list_project_clouds | 列出项目可用的云平台 |
aiven_project_vpc_list | 列出项目的 VPC |
aiven_service_list | 列出服务 |
aiven_service_type_plans | 列出套餐及其云平台可用情况 |
aiven_service_type_get | 获取服务类型的默认和可用引擎版本 |
aiven_service_plan_pricing | 获取特定云平台上某个套餐的定价 |
aiven_service_create | 创建服务 |
aiven_service_get | 获取服务信息 |
aiven_service_update | 更新服务(套餐、配置、电源状态) |
aiven_service_metrics_fetch | 获取托管数据服务的指标 |
aiven_service_application_metrics_get | 获取应用服务的指标 |
aiven_project_get_service_logs | 获取服务日志条目 |
aiven_service_query_activity | 获取服务当前正在执行的查询 |
aiven_project_get_event_logs | 获取项目事件日志条目 |
Kafka
| 工具 | 描述 |
|---|---|
aiven_kafka_topic_list | 列出 Kafka 主题 |
aiven_kafka_topic_create | 创建 Kafka 主题 |
aiven_kafka_topic_get | 获取 Kafka 主题信息 |
aiven_kafka_topic_update | 更新 Kafka 主题 |
aiven_kafka_topic_delete | 删除 Kafka 主题 |
aiven_kafka_topic_message_list | 读取 Kafka 主题中的消息 |
aiven_kafka_topic_message_produce | 向 Kafka 主题写入消息 |
aiven_kafka_connect_available_connectors | 列出可用的连接器类型 |
aiven_kafka_connect_list | 列出正在运行的连接器 |
aiven_kafka_connect_create_connector | 创建连接器 |
aiven_kafka_connect_edit_connector | 编辑连接器 |
aiven_kafka_connect_get_connector_status | 获取连接器状态 |
aiven_kafka_connect_pause_connector | 暂停连接器 |
aiven_kafka_connect_resume_connector | 恢复连接器 |
aiven_kafka_connect_restart_connector | 重启连接器 |
aiven_kafka_connect_delete_connector | 删除连接器 |
aiven_kafka_schema_registry_subjects | 列出 Schema Registry 主体 |
aiven_kafka_schema_registry_subject_version_get | 获取 Schema Registry 主体版本 |
PostgreSQL
| 工具 | 描述 |
|---|---|
aiven_pg_service_available_extensions | 列出可用扩展 |
aiven_pg_service_query_statistics | 获取查询统计信息 |
aiven_pg_bouncer_create | 创建 PgBouncer 连接池 |
aiven_pg_bouncer_update | 更新 PgBouncer 连接池 |
aiven_pg_bouncer_delete | 删除 PgBouncer 连接池 |
aiven_pg_read | 执行只读 SQL 查询 |
aiven_pg_write | 执行写入 SQL 语句(INSERT、UPDATE、DELETE、CREATE TABLE 等) |
aiven_pg_optimize_query | AI 驱动的查询优化(EverSQL) |
应用程序
| 工具 | 描述 |
|---|---|
aiven_application_create | 创建并首次部署 Containerfile/Dockerfile 应用;如果服务已存在,则返回 409 |
aiven_application_redeploy | 根据已配置的仓库重新构建现有应用,不更改服务配置 |
aiven_vcs_integration_initialize | 启动基于浏览器的流程,以连接 GitHub 账户 |
aiven_vcs_integration_list | 列出已连接的 VCS(GitHub)账户 |
aiven_vcs_integration_repository_list | 列出 VCS 集成的仓库 |
aiven_vcs_integration_repository_branch_list | 列出仓库分支及其当前提交 SHA |
aiven_vcs_integration_repository_container_manifest_files_list | 查找候选 Containerfile、Dockerfile 和 Compose 清单 |
aiven_vcs_integration_repository_scan_container_manifest | 根据 Containerfile、Dockerfile 或 Compose 文件中受支持的部分,推导候选 Aiven 服务配置 |
文档
| 工具 | 描述 |
|---|---|
aiven_docs_search | 使用自然语言搜索 Aiven 官方文档。仅在托管服务(https://mcp.aiven.live/mcp)上可用;自托管部署不提供此工具。 |
贡献
有关开发环境设置、本地运行和添加新工具的信息,请参阅 CONTRIBUTING.md。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。