Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Db Assistant

БесплатноНе проверен

A database operation server based on the MCP protocol, providing database connection, querying, schema exploration, data analysis, and SQL generation tools.

GitHubEmbed

Описание

A database operation server based on the MCP protocol, providing database connection, querying, schema exploration, data analysis, and SQL generation tools.

README

基于 MCP (Model Context Protocol) 协议的数据库操作服务器,使用 FastMCP 框架构建,为 AI 客户端提供数据库连接、查询、Schema 探索、数据分析和 SQL 生成工具。

特性

  • 26个MCP工具,覆盖数据库操作全流程
  • SQLite内置支持,启动即用,无需额外安装数据库
  • PostgreSQL可选支持,通过 psycopg2 扩展
  • 自动示例数据库,包含 employees / departments / salaries 三张表和索引
  • pandas数据分析,提供表统计、列统计、数据质量报告、值分布等高级分析
  • SQL构建器,参数化生成 SELECT / INSERT / UPDATE / CREATE TABLE / JOIN
  • 安全防护,标识符验证防止 SQL 注入,SELECT/UPDATE 分离执行

快速开始

安装依赖

pip install -r requirements.txt

启动服务器

python server.py

服务器启动后会自动创建示例数据库 sample.db 并连接。

在MCP客户端中配置

在 MCP 客户端配置文件中添加:

{
  "mcpServers": {
    "db-assistant": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/path/to/mcp-db-assistant"
    }
  }
}

示例数据库

启动时自动创建的 sample.db 包含以下表:

departments(部门表)

列名 类型 说明
id INTEGER PK 部门ID
name TEXT 部门名称
manager_id INTEGER FK 部门经理(引用employees.id)
location TEXT 所在地
budget REAL 预算

employees(员工表)

列名 类型 说明
id INTEGER PK 员工ID
name TEXT 姓名
department_id INTEGER FK 部门ID(引用departments.id)
position TEXT 职位
hire_date TEXT 入职日期
email TEXT UNIQUE 邮箱
is_active INTEGER 是否在职(1=是, 0=否)

salaries(工资表)

列名 类型 说明
id INTEGER PK 工资记录ID
employee_id INTEGER FK 员工ID(引用employees.id)
amount REAL 工资金额
effective_date TEXT 生效日期
end_date TEXT 结束日期(NULL表示当前有效)

工具列表

连接管理(4个)

工具 说明
connect_sqlite(db_path) 连接 SQLite 数据库
connect_postgres(host, port, db, user, password) 连接 PostgreSQL(可选)
list_databases() 列出所有数据库
get_connection_status() 获取当前连接状态

查询工具(6个)

工具 说明
execute_query(sql) 执行 SELECT 查询,返回 Markdown 表格
execute_update(sql) 执行 INSERT/UPDATE/DELETE
query_with_pagination(sql, page, page_size) 分页查询
export_query_result(sql, format) 导出结果(CSV/JSON/Markdown)
explain_query(sql) 执行计划分析
count_rows(table_name) 统计表行数

Schema 探索(5个)

工具 说明
list_tables() 列出所有表
describe_table(table_name) 表结构详情
list_indexes(table_name) 列出索引
get_table_ddl(table_name) 获取建表语句
get_foreign_keys(table_name) 获取外键关系

数据分析(6个)

工具 说明
table_stats(table_name) 表统计(行数/列数/大小)
column_stats(table_name, column) 列统计(distinct/NULL/min/max/avg)
data_quality_report(table_name) 数据质量报告(完整性/唯一性)
table_sample(table_name, n) 表采样数据
null_analysis(table_name) NULL 值分析
value_distribution(table_name, column, bins) 值分布分析(直方图)

SQL 构建(5个)

工具 说明
build_select(table, columns, where, order_by, limit) 构建 SELECT 语句
build_insert(table, data) 构建 INSERT 语句(参数化)
build_update(table, set_values, where) 构建 UPDATE 语句(参数化)
build_create_table(table_name, columns) 构建 CREATE TABLE 语句
build_join(table1, table2, on, select_columns, join_type) 构建 JOIN 查询

项目结构

mcp-db-assistant/
├── server.py                # MCP Server入口(创建示例数据库+启动服务)
├── mcp_db_assistant/
│   ├── __init__.py           # 包初始化(创建FastMCP实例+注册工具)
│   ├── connection.py         # 数据库连接管理(4个工具)
│   ├── query_tools.py       # 查询工具(6个工具)
│   ├── schema_tools.py      # Schema探索工具(5个工具)
│   ├── analysis.py          # 数据分析工具(6个工具)
│   └── sql_builder.py       # SQL构建工具(5个工具)
├── README.md
├── SKILL.md
└── requirements.txt

技术栈

  • FastMCP - MCP协议Python实现
  • sqlite3 - Python标准库,SQLite数据库引擎
  • pandas - 数据分析和处理
  • psycopg2(可选) - PostgreSQL数据库适配器

许可证

MIT License

from github.com/wzx11223344/mcp-db-assistant

Установка Db Assistant

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/wzx11223344/mcp-db-assistant

FAQ

Db Assistant MCP бесплатный?

Да, Db Assistant MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Db Assistant?

Нет, Db Assistant работает без API-ключей и переменных окружения.

Db Assistant — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Db Assistant в Claude Desktop, Claude Code или Cursor?

Открой Db Assistant на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Db Assistant with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории data