distributed sql by awslabs/mcp
npx skills add https://github.com/awslabs/mcp --skill 'distributed sql'Aurora DSQL 是一种无服务器、兼容 PostgreSQL 的分布式 SQL 数据库。此技能通过 MCP 工具提供直接的数据库交互、模式管理、迁移支持和多租户模式。
核心能力:
根据需要加载这些文件以获取详细指导:
何时使用: 在实施模式更改或数据库操作之前始终加载 包含内容: DDL 规则、连接模式、事务限制、安全最佳实践
何时使用: 为使用或更新 DSQL MCP 服务器获取指导时始终加载 包含内容: 设置 DSQL MCP 服务器的说明,包含 2 种配置选项,如 .mcp.json 中的示例所示
何时使用: 需要详细的 MCP 工具语法和示例时加载 工具参数、详细示例、使用模式
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
何时使用: 做出特定语言实现选择时必须加载 包含内容: 驱动程序选择、框架模式、Python/JS/Go/Java/Rust 的连接代码
何时使用: 寻找具体实现示例时加载 包含内容: 代码示例、存储库模式、多租户实现
何时使用: 调试错误或意外行为时加载 包含内容: 常见陷阱、错误消息、解决方案
何时使用: 用户明确请求"开始使用 DSQL"或类似短语时 包含内容: 面向新用户的交互式分步指南
何时使用: 创建数据库角色、授予权限、为应用程序设置模式或处理敏感数据时必须加载 包含内容: 范围限定角色的设置、IAM 到数据库角色的映射、敏感数据的模式分离、角色设计模式
何时使用: 尝试执行 DROP COLUMN、RENAME COLUMN、ALTER COLUMN TYPE 或 DROP CONSTRAINT 功能时必须加载 包含内容: 表重建模式、大表的批量迁移、数据验证
何时使用: 从 MySQL 迁移到 DSQL 或将 MySQL DDL 转换为 DSQL 兼容的等效语句时必须加载 包含内容: MySQL 数据类型映射、DDL 操作转换、AUTO_INCREMENT/ENUM/SET/FOREIGN KEY 迁移模式、通过表重建实现的 ALTER TABLE ALTER COLUMN 和 DROP COLUMN
aurora-dsql MCP 服务器提供以下工具:
数据库操作:
文档与知识: 4. dsql_search_documentation - 搜索 Aurora DSQL 文档 5. dsql_read_documentation - 读取特定文档页面 6. dsql_recommend - 获取 DSQL 最佳实践建议
注意: 没有 list_tables 工具。请使用 readonly_query 配合 information_schema。
详细设置说明请参阅 mcp-setup.md。详细用法和示例请参阅 mcp-tools.md。
用于集群管理和直接 psql 连接的 Bash 脚本。所有脚本都位于 scripts/ 目录下。
集群管理:
数据库连接:
快速示例:
./scripts/create-cluster.sh --region us-east-1
export CLUSTER=abc123def456
./scripts/psql-connect.sh
详细用法请参阅 scripts/README.md。
使用 readonly_query 配合 information_schema 来列出表
使用 get_schema 来理解表结构
使用 readonly_query 进行 SELECT 查询
对于多租户应用,始终在 WHERE 子句中包含 tenant_id
仔细验证输入(没有参数化查询可用)
使用 transact 工具配合 SQL 语句列表
遵循每个事务一条 DDL 的规则
始终在单独的事务中使用 CREATE INDEX ASYNC
目标: 创建具有适当租户隔离的新表
步骤:
关键规则:
transact(["CREATE TABLE ..."])目标: 安全地添加带有默认值的新列
步骤:
transact(["ALTER TABLE ... ADD COLUMN ..."])关键规则:
目标: 安全地插入/删除具有父子关系的记录
插入步骤:
删除步骤:
目标: 检索限定于特定租户的数据
步骤:
关键规则:
WHERE tenant_id = 'validated-value'目标: 创建特定于应用程序的数据库角色,而不是使用 admin 角色
必须加载 access-control.md 以获取详细指导。
步骤:
admin 身份连接(这是唯一应该使用 admin 的情况)CREATE ROLE <name> WITH LOGIN 创建数据库角色dsql:DbConnect 权限的 IAM 角色AWS IAM GRANT 将数据库角色映射到 IAM 角色users_schema)generate-db-connect-auth-token 连接(而非 admin 变体)关键规则:
public 模式dsql:DbConnect目标: 使用表重建模式执行 DROP COLUMN、RENAME COLUMN、ALTER COLUMN TYPE 或 DROP CONSTRAINT。
必须加载 ddl-migrations.md 以获取详细指导。
步骤:
readonly_query 验证表存在并获取行数get_schema 获取当前模式transact 创建具有所需结构的新表CREATE INDEX ASYNC 重新创建索引规则:
目标: 将 MySQL 表模式和 DDL 操作迁移到 DSQL 兼容的等效形式,包括数据类型映射、ALTER TABLE ALTER COLUMN 和 DROP COLUMN 操作。
必须加载 mysql-to-dsql-migrations.md 以获取详细指导。
步骤:
ALTER TABLE ... ALTER COLUMN col datatype 或 MODIFY COLUMN:必须 使用表重建模式ALTER TABLE ... DROP COLUMN col:必须 使用表重建模式CREATE INDEX ASYNC 并在单独的事务中执行规则:
CREATE INDEX ASYNC 是强制性的dsql:DbConnect 创建数据库角色;参考 访问控制每周安装数
0
仓库
GitHub 星标数
8.4K
首次出现
1970年1月1日
安全审计
Aurora DSQL is a serverless, PostgreSQL-compatible distributed SQL database. This skill provides direct database interaction via MCP tools, schema management, migration support, and multi-tenant patterns.
Key capabilities:
Load these files as needed for detailed guidance:
When: ALWAYS load before implementing schema changes or database operations Contains: DDL rules, connection patterns, transaction limits, security best practices
When: Always load for guidance using or updating the DSQL MCP server Contains: Instructions for setting up the DSQL MCP server with 2 configuration options as sampled in .mcp.json
When: Load when you need detailed MCP tool syntax and examples Contains: Tool parameters, detailed examples, usage patterns
When: MUST load when making language-specific implementation choices Contains: Driver selection, framework patterns, connection code for Python/JS/Go/Java/Rust
When: Load when looking for specific implementation examples Contains: Code examples, repository patterns, multi-tenant implementations
When: Load when debugging errors or unexpected behavior Contains: Common pitfalls, error messages, solutions
When: User explicitly requests to "Get started with DSQL" or similar phrase Contains: Interactive step-by-step guide for new users
When: MUST load when creating database roles, granting permissions, setting up schemas for applications, or handling sensitive data Contains: Scoped role setup, IAM-to-database role mapping, schema separation for sensitive data, role design patterns
When: MUST load when trying to perform DROP COLUMN, RENAME COLUMN, ALTER COLUMN TYPE, or DROP CONSTRAINT functionality Contains: Table recreation patterns, batched migration for large tables, data validation
When: MUST load when migrating from MySQL to DSQL or translating MySQL DDL to DSQL-compatible equivalents Contains: MySQL data type mappings, DDL operation translations, AUTO_INCREMENT/ENUM/SET/FOREIGN KEY migration patterns, ALTER TABLE ALTER COLUMN and DROP COLUMN via table recreation
The aurora-dsql MCP server provides these tools:
Database Operations:
Documentation & Knowledge: 4. dsql_search_documentation - Search Aurora DSQL documentation 5. dsql_read_documentation - Read specific documentation pages 6. dsql_recommend - Get DSQL best practice recommendations
Note: There is no list_tables tool. Use readonly_query with information_schema.
See mcp-setup.md for detailed setup instructions. See mcp-tools.md for detailed usage and examples.
Bash scripts for cluster management and direct psql connections. All scripts are located in scripts/.
Cluster Management:
Database Connection:
Quick example:
./scripts/create-cluster.sh --region us-east-1
export CLUSTER=abc123def456
./scripts/psql-connect.sh
See scripts/README.md for detailed usage.
Use readonly_query with information_schema to list tables
Use get_schema to understand table structure
Use readonly_query for SELECT queries
Always include tenant_id in WHERE clause for multi-tenant apps
Validate inputs carefully (no parameterized queries available)
Use transact tool with list of SQL statements
Follow one-DDL-per-transaction rule
Always use CREATE INDEX ASYNC in separate transaction
Goal: Create a new table with proper tenant isolation
Steps:
Critical rules:
transact(["CREATE TABLE ..."])Goal: Add a new column with defaults safely
Steps:
transact(["ALTER TABLE ... ADD COLUMN ..."])Critical rules:
Goal: Safely insert/delete records with parent-child relationships
Steps for INSERT:
Steps for DELETE:
Goal: Retrieve data scoped to a specific tenant
Steps:
Critical rules:
Goal: Create application-specific database roles instead of using the admin role
MUST loadaccess-control.md for detailed guidance.
Steps:
admin (the only time admin should be used)CREATE ROLE <name> WITH LOGINdsql:DbConnect for each database roleAWS IAM GRANTusers_schema)generate-db-connect-auth-token (not the admin variant)Critical rules:
publicdsql:DbConnect for application IAM rolesGoal: Perform DROP COLUMN, RENAME COLUMN, ALTER COLUMN TYPE, or DROP CONSTRAINT using the table recreation pattern.
MUST loadddl-migrations.md for detailed guidance.
Steps:
readonly_queryget_schematransactCREATE INDEX ASYNCRules:
Goal: Migrate MySQL table schemas and DDL operations to DSQL-compatible equivalents, including data type mapping, ALTER TABLE ALTER COLUMN, and DROP COLUMN operations.
MUST loadmysql-to-dsql-migrations.md for detailed guidance.
Steps:
ALTER TABLE ... ALTER COLUMN col datatype or MODIFY COLUMN: MUST use table recreation patternALTER TABLE ... DROP COLUMN col: MUST use table recreation patternCREATE INDEX ASYNC in separate transactionsRules:
CREATE INDEX ASYNC is mandatoryWeekly Installs
0
Repository
GitHub Stars
8.4K
First Seen
Jan 1, 1970
Security Audits
Azure 升级评估与自动化工具 - 轻松迁移 Functions 计划、托管层级和 SKU
64,099 周安装
dsql:DbConnect; refer to Access Control