PostgreSQL DynamoDB MCP服务器
一个模型上下文协议(MCP)服务器,提供工具帮助客户使用Amazon DynamoDB,就像使用PostgreSQL一样。该服务器将PostgreSQL风格的操作转换为DynamoDB操作,使熟悉关系数据库的开发人员更容易使用DynamoDB。
特性
- 类似PostgreSQL的接口:在DynamoDB中使用熟悉的SQL风格操作
- 表格管理:使用PostgreSQL样式的模式定义创建表
- CRUD操作:使用直观的命令插入、选择、更新和删除记录
- 架构检查:描述表格及其结构
- AWS集成:与AWS DynamoDB服务无缝集成
可用工具
create_table
使用类似PostgreSQL的模式定义创建DynamoDB表。
参数:
table_name:要创建的表的名称columns:包含名称、类型和键属性的列定义数组
insert_record
在DynamoDB表中插入一条记录(相当于PostgreSQL Insert)。
参数:
table_name:目标表名data:表示要插入的记录的键值对
select_records
从DynamoDB表中查询记录(相当于PostgreSQL SELECT)。
参数:
table_name:源表名称key_condition:查询的主键条件filter_expression:附加条件下的可选过滤器limit:要返回的最大记录数
update_record
更新DynamoDB表中的现有记录(相当于PostgreSQL Update)。
参数:
table_name:目标表名key:要更新的记录的主键updates:要更新的字段和值
delete_record
从DynamoDB表中删除记录(相当于PostgreSQL Delete)。
参数:
table_name:目标表名key:要删除的记录的主键
describe_table
获取表的模式和属性的详细信息(相当于PostgreSQL\\d)。
参数:
table_name:要描述的表的名称
安装
- 安装依赖项:
pip install -r requirements.txt- 配置AWS凭据:
aws configure用法
运行MCP服务器:
python server.py服务器将启动并通过stdio监听MCP协议消息。
配置
确保您的AWS凭据已正确配置,并具有以下权限:
- 创建DynamoDB表
- 读取/写入DynamoDB项目
- 描述DynamoDB表
示例用法
创建表格
{
"table_name": "users",
"columns": [
{"name": "user_id", "type": "string", "primary_key": true},
{"name": "email", "type": "string"},
{"name": "created_at", "type": "string", "sort_key": true}
]
}插入数据
{
"table_name": "users",
"data": {
"user_id": "123",
"email": "user@example.com",
"created_at": "2024-01-01T00:00:00Z"
}
}查询数据
{
"table_name": "users",
"key_condition": {"user_id": "123"},
"limit": 10
}益处
- 熟悉的界面:在DynamoDB中使用PostgreSQL风格的操作
- 缩短学习曲线:更容易从关系数据库过渡到NoSQL数据库
- MCP集成:与MCP兼容的AI助手和工具无缝协作
- AWS原生:专为Amazon DynamoDB构建,采用最佳实践
许可证
MIT许可证
