Skip to main content
Glama

PySqlitMCP

by Python51888

PySqlitMCP

PySqlitMCP 是一个基于 FastMCP 框架和 PySqlit 库的数据库操作工具集,提供了完整的 SQLite 数据库管理功能,包括数据库创建、表操作、数据增删改查、备份恢复、数据导入导出等功能。

功能特性

数据库管理

  • 创建新的数据库
  • 获取数据库详细信息
  • 备份数据库到指定文件
  • 从备份文件恢复数据库
  • 列出所有备份文件

表操作

  • 创建新的数据表
  • 删除指定的数据表
  • 获取指定表的详细信息
  • 统计表中的记录总数
  • 列出数据库中的所有表

数据操作

  • 向表中插入单条数据
  • 向表中批量插入数据
  • 查询表中的数据
  • 更新表中的数据
  • 删除表中的数据
  • 执行自定义SQL语句

数据导入导出

  • 从CSV文件导入数据到表
  • 将表数据导出到CSV文件

安装依赖

使用 pip 安装

uv pip install -r requirements.txt

使用 uv 安装(推荐)

uv sync

快速开始

  1. 确保已安装所有依赖
  2. 运行主程序:
    python main.py

使用指南

  1. 操作前先获取数据库信息了解结构
  2. 表操作前检查表是否存在
  3. 数据操作注意数据类型匹配
  4. 大量数据使用批量操作
  5. 重要操作前备份数据库
  6. 自定义SQL语句谨慎执行,避免误操作,优先使用封装好的方法
  7. 创建数据库时可以指定保存路径
  8. 导入导出数据时可以指定文件路径
  9. 批量操作时请务必检查数据格式和数量,避免错误操作
  10. 如果提供的参数或者格式有错误,请自动提示错误信息,并给出正确的使用方法
  11. 不要擅自对数据库表操作
  12. 动态使用提示词根据传入的参数给出提示

API 接口说明

数据库管理接口

create_database(db_name="test", db_path=None)

创建一个新的数据库

参数:

  • db_name (str, optional): 要创建的数据库名,默认为 "test"
  • db_path (str, optional): 数据库文件保存的完整路径,如果未提供,则使用当前工作目录

返回:

  • 数据库文件的完整路径
get_database_info()

获取数据库详细信息

返回:

  • 包含数据库详细信息的字典,包括:
    • path: 数据库文件路径
    • tables: 表列表及其结构信息
    • table_count: 表的数量
backup_database(backup_file)

备份数据库到指定文件

参数:

  • backup_file (str): 备份文件路径

返回:

  • 成功返回True,失败返回False
restore_database(backup_file)

从备份文件恢复数据库

参数:

  • backup_file (str): 备份文件路径

返回:

  • 成功返回True,失败返回False
list_backup_files()

列出所有备份文件

返回:

  • 备份文件信息列表,每个元素包含文件名和创建时间

表操作接口

create_tables(table_name, columnss, pk=None, unique=None, check=None)

创建新的数据表

参数:

  • table_name (str): 要创建的表名
  • columnss (list): 列定义列表
  • pk (str/list, optional): 主键列名或主键列名列表
  • unique (list, optional): 唯一约束列名列表
  • check (str, optional): 检查约束条件

返回:

  • 创建成功返回True,失败返回False
drop_tables(table_name)

删除指定的数据表

参数:

  • table_name (str): 要删除的表名

返回:

  • 删除成功返回True,失败返回False
get_table_info(table_name)

获取指定表的详细信息

参数:

  • table_name (str): 要查询的表名

返回:

  • 包含表结构的字典
list_tables()

列出数据库中的所有表

返回:

  • 表名列表
get_table_count(table_name)

统计表中的记录总数

参数:

  • table_name (str): 要统计的表名

返回:

  • 表中的记录总数

数据操作接口

insert_data(table_name, data)

向表中插入单条数据

参数:

  • table_name (str): 目标表名
  • data (dict): 要插入的数据

返回:

  • 成功插入返回新记录的ID,失败返回-1
insert_multiple_data(table_name, datas)

向表中批量插入数据

参数:

  • table_name (str): 目标表名
  • datas (list): 要插入的数据列表

返回:

  • 成功插入的记录数量
select_data(table_name, condition=None)

查询表中的数据

参数:

  • table_name (str): 要查询的表名
  • condition (str, optional): WHERE条件语句

返回:

  • 查询结果列表
update_data(table_name, data, condition)

更新表中的数据

参数:

  • table_name (str): 目标表名
  • data (dict): 要更新的数据
  • condition (str): WHERE条件语句

返回:

  • 成功更新的记录数量
delete_data(table_name, condition)

删除表中的数据

参数:

  • table_name (str): 目标表名
  • condition (str): WHERE条件语句

返回:

  • 成功删除的记录数量
execute_sql_statement(sql)

执行自定义SQL语句

参数:

  • sql (str): 要执行的SQL语句

返回:

  • 查询结果列表(对于SELECT语句)或受影响的行数(对于INSERT/UPDATE/DELETE语句)

数据导入导出接口

import_from_csv(table_name, import_file)

从CSV文件导入数据到表

参数:

  • table_name (str): 目标表名
  • import_file (str): 要导入的CSV文件路径

返回:

  • 成功导入的记录数量
export_to_csv(table_name, export_file)

将表数据导出到CSV文件

参数:

  • table_name (str): 要导出的表名
  • export_file (str): 导出的CSV文件路径

返回:

  • 导出成功返回True,失败返回False

技术栈

许可证

本项目采用 MIT 许可证。详情请见 LICENSE 文件。

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables comprehensive SQLite database management through natural language, including database creation, table operations, data CRUD operations, backup/restore functionality, and CSV import/export capabilities.

  1. 功能特性
    1. 数据库管理
    2. 表操作
    3. 数据操作
    4. 数据导入导出
  2. 安装依赖
    1. 使用 pip 安装
    2. 使用 uv 安装(推荐)
  3. 快速开始
    1. 使用指南
      1. API 接口说明
        1. 数据库管理接口
        2. 表操作接口
        3. 数据操作接口
        4. 数据导入导出接口
      2. 技术栈
        1. 许可证

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/Python51888/PySqlit_mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server