关于 SQLite Database Demo
SQLite Database Demo 展示如何在 FastMCP 应用中使用支持异步操作的 SQLite 数据库,适合学习和测试 MCP 服务端与客户端相关用法。项目包含自动初始化的示例数据库,以及用于查询用户数据的工具。
主要功能
- 01使用 aiosqlite 执行异步数据库操作
- 02自动初始化数据库和示例数据
- 03类型安全的数据库上下文管理
- 04处理连接生命周期与清理
适用场景
- 01学习 FastMCP 中的异步 SQLite 用法
- 02测试通过 MCP 工具查询用户数据
MCP 相关
该项目通过 FastMCP 提供 MCP 服务端示例,暴露 `query_db` 工具以检索数据库中的用户。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SQLite 数据库演示
本项目演示了如何在 FastMCP 应用中使用支持异步操作的 SQLite 数据库。
功能
- 使用
aiosqlite执行异步 SQLite 数据库操作 - 自动初始化数据库并插入示例数据
- 类型安全的数据库上下文管理
- 妥善处理连接生命周期
前提条件
- Python 3.7+
- pip(Python 软件包安装程序)
安装
- 克隆此仓库
- 安装所需的依赖项:
pip install -r requirements.txt
项目结构
server.py:FastMCP 服务主实现,包含数据库上下文管理database.py:支持异步操作的 SQLite 数据库实现demo.db:SQLite 数据库文件(首次运行时自动创建)
数据库架构
演示数据库包含一个 users 表,其结构如下:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
)
首次运行时会自动插入示例数据:
- John Doe([email protected])
- Jane Smith([email protected])
用法
- 启动服务:
python server.py
-
首次运行时,数据库会自动初始化并插入示例数据。
-
使用
query_db工具从数据库中检索数据。
数据库操作
Database 类提供以下方法:
connect():创建新的数据库连接并初始化架构query():执行示例查询以检索所有用户disconnect():关闭数据库连接
自定义
如需修改数据库架构或添加新表:
- 编辑
database.py中的_init_db()方法 - 在
Database类中添加用于自定义查询的新方法 - 更新
server.py中的query_db工具以使用新方法
错误处理
数据库实现包含:
- 服务关闭时自动清理连接
- 妥善管理异步上下文
- 使用 Python 类型提示确保类型安全
依赖项
- aiosqlite>=0.19.0:异步 SQLite 数据库驱动程序
- pandas>=2.0.0:数据处理库
- numpy>=1.24.0:数值计算库
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。