Token导航 LogoToken导航TokenDH.com
Sample For Bedrock Integration With Database MCP Server logo
AI代理stdio官方级别未说明来源级核验

Sample For Bedrock Integration With Database MCP Server

MCP Server

通过AWS Bedrock的对话式AI能力与关系型数据库集成,实现自然语言查询功能,适用于需要将生成式AI能力整合到数据库应用中的开发场景。

工具数

0

提示词数

0

GitHub Stars

8

资源数

0
自然语言处理PythonClaude数据库集成ClaudeVS Code

安装说明

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

作者 / 组织

aws-samples

提供方

aws-samples

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python3 -m venv .venv

详细介绍

Amazon Bedrock Converse API和数据库MCP服务器集成

此示例演示了AWS Bedrock的会话式AI功能通过以下方式与关系数据库的集成 模型上下文协议(MCP) 服务器架构。该示例利用Bedrock的Converse API,在查询模式下实现与数据库的自然语言交互,而MCP服务器则处理数据库操作和安全协议的复杂性。

arch diagram

该架构为希望将生成式AI功能整合到数据库应用程序中的开发人员提供了参考实现。虽然该示例侧重于RDS PostgreSQL和SQLite,但该模式可以很容易地适用于支持MCP服务器集成的其他数据库系统。

此示例演示了:

  • 使用模型上下文协议(MCP)将RDS PostgreSQL和SQLite与AWS Bedrock的基础模型集成
  • Bedrock Converse API与MCP服务器集成
  • 使用基岩基础模型对数据库进行自然语言查询(只读)
  • 通过MCP服务器实现安全高效的数据库操作
  • 将GenAI功能添加到现有应用程序中
  • 跨数据库GenAI解决方案的基础

AWS组件

此示例中使用的AWS资源列表

  • Bedrock Converse API:通过管理与基础模型(FM)的多个交互中的上下文、内存和状态,实现实时对话体验。 链接
  • 基岩模型:克洛德·十四行诗3.5或基岩中可用的其他LLM。 链接
  • 基岩护栏:实施根据您的应用程序要求和负责任的人工智能政策定制的保障措施。 链接
  • RDS Postgres:用于查询数据库。 链接

先决条件

  • 具有AWS身份和访问管理(IAM)权限以创建RDS PostgreSQL数据库的AWS帐户
  • 获取基岩LLM
  • 用户与 只读的 访问RDS Postgress
  • Python与Boto3库一起安装
  • 类似于Visual Studio代码的IDE
  • 本地系统上的SQLite数据库
  • 从下载AWS RDS根证书 这里
  • 可选设置 基岩护栏 在LLM级别停止DDL查询。这将确保即使数据库用户允许DDL操作,也不会在数据库中执行任何DDL操作。

克隆仓库

git clone https://github.com/aws-samples/sample-for-bedrock-integration-with-database-mcp-server

步骤1

使用VS Code IDE设置您的开发环境。

确保您已安装Node.js(v10.13.0或更高版本)

安装AWS CDK

npm install -g aws-cdk

使用您的凭据配置AWS CLI并使用 基岩可用的地区

aws configure

在MacOS和Linux上手动创建虚拟环境:

python3 -m venv .venv

激活您的虚拟环境

source .venv/bin/activate

激活虚拟环境后,您可以安装所需的依赖项。

pip install -r requirements.txt

使用npm安装PostgreSQL MCP服务器:

npm install -g @modelcontextprotocol/server-postgres

pip install mcp psycopg2-binary

基岩通道

用户必须能够访问用于样品的基岩模型。此示例正在进行以下设置

  • 区域:这是在中设置的 agent.py 从您的AWS会话
  • LLM:美国.人择.claude-3-5-connect-20240620-v1:0#使用跨区域推理 mcpmain.py。如果不需要跨区域,请使用 LLM端点 相反。

步骤2:RDS Postgres设置和访问

创建和设置RDS

改变 dbconfig.ini 包含以下信息的文件

  • db_user=“xxx”
  • db_password=“xxx”//出于安全原因,已将其从文件中删除。请确保将其添加回
  • db_host=“xxx.us-east-1.rds.amazonaws.com”
  • db_port=“5432”
  • db_name=“xxx”
  • ssl_cert_path=“/xxx/global bundle.pem”//.pem文件的位置

步骤3:运行应用程序并使用自然语言查询配置的数据库

使用适当的数据库类型选项运行。如果没有提供数据库类型,聊天会话将假定SQLite为默认数据库,并在src/data文件夹中创建一个名为mymcpdb.db的数据库。您可以通过修改来指向现有的SQLite数据库 这个文件

cd src

python3 chat.py --db-type [sqlite / postgres]

提出以下问题:(数据库用户有权在数据库中执行这些操作)

  • 在产品表中列出所有可用的产品
  • 价格超过50.00的产品列表

运行此示例的成本

以下服务将根据使用情况和正常运行时间产生成本。请在最后根据需要删除/禁用对此资源的访问。

  • RDS Postgres数据库(https://aws.amazon.com/rds/postgresql/pricing/)
  • 贝德罗克·克劳德 模型调用API
  • 基岩 护栏

附加信息

用于测试的RDS Postgres表和数据示例。这只是为了快速测试。

配置的数据库用户必须具有足够的权限来执行这些操作。由于此示例仅适用于只读指令,因此必须使用数据库工具在此示例之外执行这些操作

创建TABLE用户( id串行主键, 名称VARCHAR(255)非空, 电子邮件VARCHAR(255)唯一非空, created_at带有时区默认电流的时间戳_TIMESTAMP );

在用户(姓名、电子邮件)中插入值 (“无名氏”john.doe@example.com'), (“简·史密斯”jane.smith@example.com'), (“鲍勃·威尔逊”bob.wilson@example.com'), (“爱丽丝·约翰逊”alice.j@example.com'), (“汤姆·布朗”tom.brown@example.com');

创建TABLE产品( product_id序列主键, 名称VARCHAR(255)非空, 价格决策(10,2)不为空 );

插入产品(名称、价格)值 (《亚马逊回声点(第五代)》,49.99), (“Kindle Paperwhite 8GB”,139.99), (“Fire TV Stick 4K”,49.99), (“红色视频门铃”,99.99), (“亚马逊智能插头”,24.99);

目录标签

目录标签

自然语言处理PythonClaude数据库集成本地部署生成式AIAWSBedrockMCP协议

支持客户端

ClaudeVS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP