Back to MCP directory
publicPublicdnsLocal runtime

sample-for-bedrock-integration-with-database-mcp-server

该项目展示了如何将AWS Bedrock的对话式AI能力通过MCP服务器架构与关系型数据库集成,实现自然语言查询数据库的功能。

article

README

🚀 亚马逊Bedrock Converse API与数据库MCP服务器集成示例

本示例展示了如何借助模型上下文协议(Model Context Protocol,简称MCP),将AWS Bedrock的对话式人工智能功能与关系型数据库进行集成。具体而言,这是一个利用Bedrock开展自然语言查询数据库的示例。

🚀 快速开始

具体实现步骤

1. 克隆代码仓库

使用以下命令克隆示例代码:

git clone https://github.com/your-username/chat-with-database.git

2. 安装依赖项

运行以下命令安装所需的Python包:

pip install -r requirements.txt

3. 配置数据库连接

修改config/database_config.py文件,填写你的数据库信息:

DATABASE_TYPE = 'sqlite'  # 或者 'postgres'
SQLITE_DB_NAME = 'mymcpdb.db'  # SQLite默认数据库名称
POSTGRES_CONFIG = {
    'host': 'your-rds-endpoint',
    'database': 'your-database-name',
    'user': 'your-db-user',
    'password': 'your-db-password',
    'ssl_cert_path': '/path/to/global-bundle.pem'
}

4. 启动应用

运行以下命令启动程序:

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

✨ 主要特性

架构图

架构图

组件说明

  1. Amazon Bedrock Converse API:用于处理对话式交互的人工智能服务。
  2. Database MCP Server:连接和管理数据库的服务器,支持SQLite和PostgreSQL。
  3. SSL Certificate Path:安全证书路径,用于加密通信。

💻 使用示例

示例查询

  • 列出所有用户:

    查询users表中的所有记录。
    
  • 按价格排序产品:

    将products表中的产品按价格从高到低排序。
    

📚 详细文档

成本估算

  1. RDS PostgreSQL数据库:根据实例类型和使用时长计费,具体费用可参考Amazon RDS定价

  2. Bedrock Claude模型调用API:费用根据调用次数和所选模型版本决定,详细信息请查看Bedrock定价

  3. Guardrail服务:提供额外的安全防护功能,费用参考Guardrail定价.

补充说明

测试数据表结构

用户表
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
示例数据插入
INSERT INTO users (name, email) VALUES
    ('John Doe', 'john.doe@example.com'),
    ('Jane Smith', 'jane.smith@example.com'),
    ('Bob Wilson', 'bob.wilson@example.com'),
    ('Alice Johnson', 'alice.j@example.com'),
    ('Tom Brown', 'tom.brown@example.com');
产品表
CREATE TABLE products (
    product_id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL(10,2) NOT NULL
);

INSERT INTO products (name, price) VALUES
    ('Amazon Echo Dot (5th Gen)', 49.99),
    ('Kindle Paperwhite 8GB', 139.99),
    ('Fire TV Stick 4K', 49.99),
    ('Ring Video Doorbell', 99.99),
    ('Amazon Smart Plug', 24.99);

这些表和数据仅用于测试目的,实际使用时可根据需求进行调整。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client