Alibaba Cloud Yaochi DB MCP Server

by aliyun

1 stars
415 downloads
Not rated
GitHub

Description

# Alibaba Cloud Yaochi DB MCP Server Yaochi Database AI Native MCP Server — One MCP Server to manage all Alibaba Cloud databases. [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)…

About

# Alibaba Cloud Yaochi DB MCP Server Yaochi Database AI Native MCP Server — One MCP Server to manage all Alibaba Cloud databases. [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-green.svg)](https://python.org) [中文版…

Details

Author
aliyun
GitHub stars
1
Downloads
415
Categories
Database, Cloud Service, Infrastructure, AI

- Supports multiple database engines: RDS MySQL, PolarDB MySQL, MongoDB, Tair (Redis).
- Ephemeral account mode – no persistent database credentials.
- Built‑in Yaochi Database Agent for AI‑driven diagnosis and best practices.
- SQL safety checks that block DROP/TRUNCATE and dangerous operations.
- Restrictive whitelist that automatically provisions only the current IP.
- Fine‑grained write control via environment variables (DML/DDL permissions).

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Alibaba Cloud Yaochi DB MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, create a Python 3.10+ virtual environment, install with pip install ., and run yaochi-db-mcp-server (it enters stdio waiting mode). Then configure your AI client’s MCP settings with the command path and required environment variables (ALIBABA_CLOUD_ACCESS_KEY_ID, ALIBABA_CLOUD_ACCESS_KEY_SECRET, ALIBABA_CLOUD_REGION_ID).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "alibaba cloud yaochi db mcp server": {
            "yaochi-db": {
                "command": "<project-path>/alibabacloud-yaochi-db-mcp-server/.venv/bin/yaochi-db-mcp-server",
                "env": {
                    "ALIBABA_CLOUD_ACCESS_KEY_ID": "your-ak",
                    "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "your-sk",
                    "ALIBABA_CLOUD_REGION_ID": "cn-hangzhou",
                    "YAOCHI_ENABLE_WRITE_SQL": "true",
                    "YAOCHI_ENABLE_DDL_SQL": "true"
                }
            }
        }
    }
}

McpServers

{
    "yaochi-db": {
        "command": "<project-path>/alibabacloud-yaochi-db-mcp-server/.venv/bin/yaochi-db-mcp-server",
        "env": {
            "ALIBABA_CLOUD_ACCESS_KEY_ID": "your-ak",
            "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "your-sk",
            "ALIBABA_CLOUD_REGION_ID": "cn-hangzhou",
            "YAOCHI_ENABLE_WRITE_SQL": "true",
            "YAOCHI_ENABLE_DDL_SQL": "true"
        }
    }
}

Alibaba Cloud Yaochi DB MCP Server

Yaochi Database AI Native MCP Server — One MCP Server to manage all Alibaba Cloud databases.

License
Python

中文版 README

What is Yaochi DB MCP Server?

A database tool service built on Model Context Protocol (MCP), enabling AI coding assistants (Cursor, Claude Desktop, Qoder, etc.) to directly operate Alibaba Cloud databases.

Core Scenario: After AI writes code, it automatically creates a database → creates tables → executes SQL to verify → calls Yaochi Database Agent for performance diagnosis — all without leaving the IDE.

Supported Database Engines

| Engine | Operations |
|--------|------------|
| RDS MySQL | Create instance, execute SQL, ephemeral account mode |
| PolarDB MySQL | Create cluster, execute SQL, ephemeral account mode |
| MongoDB | Create replica set, execute MongoDB commands |
| Tair (Redis) | Create instance, execute Redis commands |

Yaochi Database Agent

Built-in AI database advisor powered by Alibaba Cloud’s official documentation and expert knowledge:

- Knowledge Q&A — Instantly answers database usage questions, reducing support tickets
- Intelligent Diagnosis — Auto-executes performance diagnostics via OpenAPI, pinpointing issues
- Best Practices — Provides architecture recommendations and optimization suggestions tailored to your workload

Supports multi-turn conversations and covers all Alibaba Cloud database engines (RDS, PolarDB, MongoDB, Tair, Lindorm, etc.).

Available Tools

| Tool | Description |
|------|-------------|
| ask_yaochi_agent | Yaochi Database Agent — AI database advisor (diagnosis, best practices, architecture) |
| create_instance | Create a database instance |
| list_instances | List existing instances |
| execute_instance_sql | Execute SQL via instance ID (ephemeral account, no password needed) |
| execute_mysql | Direct connect to MySQL/PolarDB and execute SQL |
| execute_mongo | Direct connect to MongoDB and execute commands |
| execute_redis | Direct connect to Tair/Redis and execute commands |
| search_database | Search databases in DMS |
| execute_sql | Execute SQL via DMS |
| register_to_dms | Register instance to DMS |

Quick Start

Installation

git clone http://gitlab.alibaba-inc.com/cloudmon/alibabacloud-yaochi-db-mcp-server.git
cd alibabacloud-yaochi-db-mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install .

Verify

yaochi-db-mcp-server

It enters stdio waiting mode (no output) on success. Press Ctrl+C to exit.

Configure AI Client

Add to your AI client's MCP configuration:

{
  "mcpServers": {
    "yaochi-db": {
      "command": "<project-path>/alibabacloud-yaochi-db-mcp-server/.venv/bin/yaochi-db-mcp-server",
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "your-ak",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "your-sk",
        "ALIBABA_CLOUD_REGION_ID": "cn-hangzhou",
        "YAOCHI_ENABLE_WRITE_SQL": "true",
        "YAOCHI_ENABLE_DDL_SQL": "true"
      }
    }
  }
}

Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| ALIBABA_CLOUD_ACCESS_KEY_ID | — | Alibaba Cloud AccessKey ID (required) |
| ALIBABA_CLOUD_ACCESS_KEY_SECRET | — | Alibaba Cloud AccessKey Secret (required) |
| ALIBABA_CLOUD_REGION_ID | cn-hangzhou | Default region |
| YAOCHI_ENABLE_WRITE_SQL | true | Allow INSERT/UPDATE/DELETE |
| YAOCHI_ENABLE_DDL_SQL | false | Allow CREATE/ALTER DDL |
| YAOCHI_PUBLIC_IP | Auto-detect | Manually specify public IP |

Security Features

- Ephemeral Accounts: Automatically creates/destroys temporary database accounts per SQL execution — no persistent credentials
- SQL Safety Checks: Blocks DROP/TRUNCATE and other dangerous operations; disallows comments and multi-statements
- Restrictive Whitelist: Auto-provisions public access with current IP only (/32), without affecting existing rules
- Write Control: Fine-grained DML/DDL permissions via environment variables

Usage Example

User: Create a PolarDB MySQL cluster, build an orders table, and set up a Tair cache

AI automatically:
1. create_instance(engine="polardb-mysql")
→ Returns instance_id="pc-bp1xxx"

2. execute_instance_sql(instance_id="pc-bp1xxx", engine="polardb-mysql", database="testdb",
sql="CREATE TABLE orders (id BIGINT PRIMARY KEY, amount DECIMAL(10,2))", force=true)
→ Auto-provisions public access + whitelist + creates DB + creates table

3. create_instance(engine="tair")
→ Returns instance_id="r-bp1xxx"

4. execute_redis(host="r-bp1xxx.redis.rds.aliyuncs.com", port=6379, password="xxx",
command="SET order:1001 '{\"amount\":99.9}'")
→ OK

5. ask_yaochi_agent(query="PolarDB cluster pc-bp1xxx performance diagnosis")
→ Returns optimization suggestions from Yaochi Database Agent

License

Apache License 2.0

Contributing

Issues and Pull Requests are welcome.

Links

- MCP Protocol Documentation
- Alibaba Cloud RAM Console
- DMS Console

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.