Dynamo Readonly Mcp

Dynamo Readonly Mcp

🚀 DynamoDB 读取-only 控制台

DynamoDB 读取-only 控制台是一个借助 DynamoDB 消息协议 (MCP) 实现的服务器。它能让像 Claude 这样的大语言模型(LLM)通过自然语言查询来访问 DynamoDB 数据。用户只需发送自然语言请求,就能实现对 DynamoDB 表的只读访问。

🚀 快速开始

DynamoDB 读取-only 控制台允许大语言模型通过自然语言查询访问 DynamoDB 数据。以下是使用前的准备步骤:

项目克隆

使用 Git 克隆仓库:

git clone https://github.com/yourusername/dynamodb-read-only-console.git

环境依赖安装

进入项目目录后,安装所需依赖:

npm install

配置环境变量

创建并编辑 .env 文件:

DYNAMODB_ENDPOINT=your-endpoint
DYNAMODB_REGION=your-region

服务构建与启动

构建项目:

npm run build

启动服务器:

npm start

连接到 Claude Desktop

clay.json 文件中添加以下配置,使 Claude 能够连接到您的 MCP 服务:

{
"mcp": {
"servers": [
{
"url": "http://localhost:3000",
"options": {
"keepalive": true,
"family": 4
}
}
]
}
}

✨ 主要特性

表管理工具

  • 列出所有表 (list-tables):返回所有 DynamoDB 表的信息。
  • 描述表 (describe-table):获取指定表的详细信息。
  • 表存在性检查 (table-exists):验证指定表是否存在。

数据查询工具

  • 基本查询 (query-table):通过键条件表达式查询表数据。
  • 高级查询 (advanced-query):支持复杂的过滤和排序操作。
  • 扫描表 (scan-table):返回表中的所有项,可按条件筛选。

资源管理

  • 表信息资源 (dynamodb-tables-info):提供所有表的元数据。
  • 特定表结构 (dynamodb-table-schema):返回指定表的 schema 信息。
  • 索引详情 (dynamodb-indexes-info):列出表中的所有索引及其配置。

提示语支持

  • 查询帮助 (dynamodb-query-help):提供如何编写有效 DynamoDB 查询的指导。
  • 最佳实践提示 (best-practices-tip):推荐高效的数据访问策略。
  • 错误恢复提示 (error-recovery-tip):在出现错误时,提供建议的修复步骤。

💻 使用示例

基础用法

示例1:获取所有表信息

用户发送查询: "显示所有的 DynamoDB 表" Claude 调用 list-tables 工具,返回结果如下:

[
{
"TableName": "Users",
"TableStatus": "ACTIVE",
"CreationDateTime": "2023-10-01T12:00:00Z"
},
{
"TableName": "Orders",
"TableStatus": "ACTIVE",
"CreationDateTime": "2023-10-02T14:30:00Z"
}
]

示例2:描述特定表

用户发送查询: "告诉我 Users 表的结构" Claude 调用 describe-table 工具,传递参数 {tableName: "Users"},返回结果如下:

{
"TableName": "Users",
"TableStatus": "ACTIVE",
"KeySchema": [
{ "AttributeName": "Username", "KeyType": "HASH" },
{ "AttributeName": "UserId", "KeyType": " RANGE" }
],
"ProvisionedThroughput": {
"ReadCapacityUnits": 10,
"WriteCapacityUnits": 5
}
}

示例3:扫描表数据

用户发送查询: "列出 Users 表中所有用户的用户名" Claude 调用 scan-table 工具,传递过滤条件 { TableName: "Users", Filter: { Username: {"contains": "admin"} } },返回结果如下:

[
{ "Username": "admin123" },
{ "Username": "superuser" },
{ "Username": "administrator" }
]

📚 详细文档

数据流摘要

  1. 用户向 Claude 发送自然语言查询。
  2. Claude 分析请求并选择合适的 MCP 工具。
  3. 调用相应的 DynamoDB 操作(如 query, scan)。
  4. 处理返回结果,生成用户友好的响应。
  5. 将结果以结构化或自然语言形式返回给用户。

📄 许可证

本项目使用 MIT 许可证。请查看 LICENSE 文件获取详细信息。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 18:45

相似服务问题