mcpField
A
Aiven

Aiven

远程服务
aiven.io开发工具281 周前更新

关于 Aiven

Aiven 是用于管理 Aiven 云数据平台服务的 MCP 服务,适用于通过 AI 助手操作 PostgreSQL、Kafka 等服务的团队。工具涵盖服务管理和数据操作,并可限制为只读或指定服务范围。

主要功能

  1. 01列出和管理 Aiven 项目及服务
  2. 02查看服务指标、日志和活动
  3. 03读写 Kafka Topic 并管理 Connector
  4. 04执行 PostgreSQL 查询并查看统计信息
  5. 05按服务范围或只读模式限制工具

适用场景

  1. 01检查 Aiven 服务状态和日志
  2. 02创建或更新 Kafka Topic 与 Connector
  3. 03查询 PostgreSQL 数据或统计信息
  4. 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 CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmmcp-aiven1.18.0

工具

详细介绍

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

安装 MCP 服务

或者手动添加到 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 Marketplacehttps://mcp.aiven.live/mcp/aws
Azure Marketplacehttps://mcp.aiven.live/mcp/azure
Google Cloud Marketplacehttps://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否60000MCP_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。

请按以下顺序启用:

  1. Cloudflare Transform Rule — 添加一条规则,为发往 MCP 源站的流量设置 X-Edge-Auth(如果用于 PG 工具,还需设置 X-Client-IP)。记下配置的密钥值。
  2. MCP_EDGE_AUTH_SECRET — 部署服务器时设置此环境变量,使其与 Transform Rule 中的密钥相同。暂时不要设置 EXTRA_PROTECTION,或将其设为 false;验证源站仍能接受流量。
  3. EXTRA_PROTECTION=true — 仅在步骤 1–2 已生效且匹配后启用。确认普通 MCP 请求成功,并且不带 X-Edge-Auth 直接访问源站会被拒绝。
  4. 密钥轮换 — 同时更新 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_queryAI 驱动的查询优化(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。

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。