Token导航 LogoToken导航TokenDH.com
MCP LLM Db Gateway logo
数据服务stdio官方级别未说明来源级核验

MCP LLM Db Gateway

MCP Server

一个通过Model Context Protocol (MCP)实现的安全API网关,允许大型语言模型(LLM)查询数据库但阻止数据修改操作,适用于需要LLM与数据库安全交互的场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API网关Python模型集成

安装说明

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

作者 / 组织

ajaybhatiya1234

提供方

ajaybhatiya1234

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

mcp-llm-db网关

这个项目是我解决一个常见问题的方法:如何让大型语言模型(LLM)使用数据库,而不给它城堡的钥匙。目标是用Python构建一个安全的API网关,让LLM查询数据库以获取信息,但阻止任何更改或删除数据的尝试。

核心思想:“模型上下文协议”(MCP)

经过一番尝试和错误,我最终使用了一个名为“模型上下文协议”(MCP)的系统。

要求LLM编写SQL的主要问题是它可能不可靠。对于PostgreSQL这样的特定数据库,它可能会出现语法错误,或者只是编造表名。

MCP通过使LLM的工作更容易来解决这个问题。LLM不需要编写SQL,只需要根据用户的问题创建一个简单的JSON对象。然后,我的Flask服务器接收这个JSON并构建真实、安全的SQL查询。这将复杂的逻辑从不可预测的LLM转移到可预测的Python代码。

此存储库包括两个客户端,以显示为什么MCP方法更好:

  1. client_structured_query.py:使用MCP的推荐客户端。
  2. client_raw_sql.py:我的第一次尝试,它显示了要求LLM编写原始SQL的问题。

入门指南

你需要什么

  • Python 3.8+
  • Docker(这是运行PostgreSQL数据库最简单的方法)
  • Ollama安装了一个现成的模型(我用 llama3).

设置步骤

  1. 克隆项目:
   git clone https://github.com/your-username/mcp-llm-db-gateway.git
   cd mcp-llm-db-gateway
  1. 设置Python虚拟环境:
   # On macOS/Linux
   python3 -m venv venv
   source venv/bin/activate

   # On Windows
   python -m venv venv
   .\venv\Scripts\activate
  1. 安装软件包:
   pip install -r requirements.txt
  1. 使用Docker运行数据库:

这些命令将启动一个PostgreSQL容器,并用示例Chinook数据集填充它。

- 启动容器:

     docker run --name mcp-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

- 创建数据库:

     docker exec -it mcp-postgres psql -U postgres -c "CREATE DATABASE chinook_db;"

- 下载数据脚本:

     # On macOS/Linux:
     curl -o Chinook_PostgreSql.sql https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_PostgreSql.sql
     # On Windows PowerShell, use this instead:
     # Invoke-WebRequest -Uri https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_PostgreSql.sql -OutFile Chinook_PostgreSql.sql

- 加载数据(密码为 mysecretpassword):

     psql -h localhost -U postgres -d chinook_db -f Chinook_PostgreSql.sql

如何运行它

  1. 启动服务器:

在第一个终端中,运行Flask服务器。

   python app.py
  1. 运行客户端:

在第二个终端中,运行客户端脚本。

   # This is the main client that uses the MCP
   python client_structured_query.py

然后,脚本将要求您为数据库键入一个问题。

技术选择

  • python & 烧瓶:用于构建API。Flask非常适合构建像这样简单干净的web服务器。
  • SQL炼金术:这个库是与数据库通信的关键。它处理PostgreSQL和SQLite之间的差异,最重要的是,通过使用参数化查询来防止SQL注入。
  • PostgreSQL:用于发展的数据库。
  • 码头工人:我用它在容器中运行PostgreSQL。这比直接在我的机器上安装要容易得多,也使其他人更容易设置项目。
  • 没有:用于在本地运行Llama 3型号。

目录标签

目录标签

API网关Python模型集成数据库安全本地部署LLM集成SQL防护Python开发

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP