Token导航 LogoToken导航TokenDH.com
DynamoDB Read-Only MCP logo
开发工具stdio官方级别未说明来源级核验

DynamoDB Read-Only MCP

MCP Server

@smithery/cli

AWS DynamoDB Read-Only MCP Server

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
数据分析JavaScriptClaude自然语言处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jjikky

提供方

jjikky

最后核验

2026/5/18 04:06

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @jjikky/dynamo-readonly-mcp --client claude

详细介绍

](https://mseep.ai/app/jjikky-dynamo-readonly-mcp)

DynamoDB只读MCP

](https://badge.fury.io/js/dynamo-readonly-mcp) ](https://smithery.ai/server/@jjikky/dynamo-readonly-mcp)

利用模型上下文协议(MCP)查询AWS DynamoDB数据库的服务器。该服务器允许像Claude这样的LLM通过自然语言请求查询DynamoDB数据。

特性

此MCP服务器提供以下功能:

  • 表管理工具:

- list-tables:查看所有DynamoDB表的列表 - describe-table:查看特定表的详细信息

  • 数据查询工具:

- scan-table:扫描表的全部或部分数据 - query-table:在表中搜索符合特定条件的数据 - paginate-query-table:跨多个页面检索符合特定条件的数据 - get-item:使用特定密钥检索项目 - count-items:计算表中的项目数

  • 资源:

- dynamodb-tables-info:为所有表提供元数据的资源 - dynamodb-table-schema:为特定表提供架构信息的资源

  • 提示:

- dynamodb-query-help:编写DynamoDB查询的帮助提示

安装和执行

您可以使用 Run with NPX 方法如下。

通过Smithery安装

通过以下方式自动安装用于Claude Desktop的DynamoDB只读服务器 史密瑟里:

npx -y @smithery/cli install @jjikky/dynamo-readonly-mcp --client claude

安装

  1. 克隆存储库:
   git clone https://github.com/jjikky/dynamo-readonly-mcp.git
   cd dynamo-readonly-mcp
  1. 安装所需的软件包:
   npm install
  1. 创建一个 .env 文件并设置您的AWS凭据:
   AWS_ACCESS_KEY_ID=your_access_key
   AWS_SECRET_ACCESS_KEY=your_secret_key
   AWS_REGION=your_region

构建并运行

npm run build
npm start

连接到克劳德桌面

要将此MCP服务器与Claude Desktop一起使用,您需要修改Claude Desktop配置文件。

  1. 打开Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json

  1. 添加服务器配置如下:
   {
     "mcpServers": {
       "dynamodb-readonly": {
         "command": "node",
         "args": ["/absolute-path/dynamo-readonly-mcp/dist/index.js"],
         "env": {
           "AWS_ACCESS_KEY_ID": "your_access_key",
           "AWS_SECRET_ACCESS_KEY": "your_secret_key",
           "AWS_REGION": "your_region"
         }
       }
     }
   }
  1. 重新启动克劳德桌面。

使用NPX运行

您还可以使用以下命令运行此服务器 npx 无需全局安装:

{
  "mcpServers": {
    "dynamodb-readonly": {
      "command": "npx",
      "args": ["-y", "dynamo-readonly-mcp"],
      "env": {
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key",
        "AWS_REGION": "your_region"
      }
    }
  }
}

使用示例

你可以问克劳德这样的问题:

  1. “你能告诉我DynamoDB中有哪些表吗?”
  2. “解释Users表的结构”
  3. 在“users”表中查找groupId为“0lxp4paxk7”的用户数

______________________________________________________________________

建筑

此MCP服务器由以下分层结构组成:

  1. 客户端界面(克劳德桌面) -用户与LLM之间的交互
  2. MCP协议层 -提供标准化的消息交换方法
  3. DynamoDB服务器 -实现与DynamoDB交互的函数
  4. AWS SDK -与AWS DynamoDB服务通信

关键运行机制

1.初始化和连接

服务器启动时,会发生以下过程:

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.error('DynamoDB read-only MCP server is running...');
}
  • StdioServerTransport 通过标准输入/输出建立通信信道。
  • server.connect(transport) 通过MCP协议连接到克劳德桌面。
  • 在连接期间,服务器向客户端发送有关支持的工具、资源和提示的信息。

2.工具请求处理

当用户问Claude“显示DynamoDB表列表”这样的问题时:

  1. Claude分析了这个请求并调用 list-tables 工具。
  2. 此请求通过MCP协议发送到服务器。
  3. 服务器执行相应的工具处理程序:
server.tool('list-tables', 'Gets a list of all DynamoDB tables', {}, async () => {
  try {
    const tables = await listTables();
    return {
      content: [{ type: 'text', text: JSON.stringify(tables, null, 2) }],
    };
  } catch (error) {
    return { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] };
  }
});
  1. 结果通过MCP协议返回给Claude。
  2. Claude将这个结果处理成自然语言并呈现给用户。

3.具体参数处理

当用户请求“告诉我Users表的结构”时:

  1. Claude确定此请求应使用 describe-table 工具。
  2. Claude将参数配置为 { tableName: "Users" }.
  3. 此信息将发送到MCP服务器:
server.tool(
  'describe-table',
  'Gets detailed information about a DynamoDB table',
  {
    tableName: z.string().describe('Name of the table to get detailed information for'),
  },
  async ({ tableName }) => {
    // Query table information using the tableName parameter
    const tableInfo = await describeTable(tableName);
    // Return results
  }
);

在这里, z.string() 使用Zod库来验证参数。

4.资源处理

资源是另一个提供只读数据的MCP功能:

server.resource('dynamodb-tables-info', 'DynamoDB table information', async () => {
  // Create and return resource data
  const tables = await listTables();
  const tablesInfo = await Promise.all(/* Query table information */);

  return {
    contents: [
      {
        uri: 'dynamodb://tables-info',
        text: JSON.stringify(tablesInfo, null, 2),
        mimeType: 'application/json',
      },
    ],
  };
});

Claude访问资源并将其用作上下文信息。

5.及时处理

MCP服务器可以为特定任务提供提示模板:

server.prompt(
  'dynamodb-query-help',
  'A prompt that helps write DynamoDB queries',
  {
    tableName: z.string().describe('Table name to query'),
    queryType: z.enum(['basic', 'advanced']).default('basic'),
  },
  async ({ tableName, queryType }) => {
    // Generate prompt content
    return {
      messages: [
        {
          role: 'user',
          content: { type: 'text', text: helpContent },
        },
      ],
    };
  }
);

当用户请求“显示如何为Users表编写查询”时,会使用此提示

数据流摘要

  1. 用户用自然语言向Claude发出请求
  2. Claude分析请求并选择适当的MCP工具/资源/提示
  3. MCP客户端以标准化格式向服务器发送请求
  4. 服务器处理请求并调用AWS DynamoDB API
  5. DynamoDB返回结果
  6. 服务器将结果转换为MCP格式并将其发送到客户端
  7. Claude将结果处理成自然语言并呈现给用户

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

目录标签

目录标签

数据分析JavaScriptClaude自然语言处理developer-toolsDynamoDB查询本地部署AWS服务数据库管理LLM集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP