PostgreSQL-DynamoDB转换服务器

一个模型上下文协议(MCP)服务器,提供工具帮助客户像使用PostgreSQL一样使用Amazon DynamoDB。该服务器将PostgreSQL风格的操作转换为DynamoDB操作,使熟悉关系数据库的开发人员更容易使用DynamoDB。

  • by swethasalunke-tech
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 swethasalunke-tech/postgres-dynamodb-mcp-server

使用说明

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:要描述的表的名称

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置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许可证