数据库MCP服务器(Access和SQLite 3)
一个简单的MCP服务器,让AI与Microsoft Access和SQLite 3数据库交互。 支持CSV和Excel文件的导入/导出,并存储人类可读的文件注释。
警告:此服务器可以完全访问数据库,因此可以读取和修改其中的任何数据。 谨慎使用 为了避免数据丢失!
配置
要将此MCP服务器与Claude Desktop(或任何其他MCP主机)一起使用,请克隆仓库并将以下内容添加到您的 config.json:
{
"mcpServers": {
"access-mdb": {
"command": "uv",
"args": [
"run",
"--with", "fastmcp",
"--with", "pandas",
"--with", "sqlalchemy-access",
"--with", "openpyxl",
"fastmcp", "run",
"path/to/repo/server.py"
],
}
}
}开发人员注意:要与uvx一起使用,我们需要创建一个包并将其发布到PyPI。
支持的数据库类型
- 数据库:
.mdb和.accdb文件 - SQLite 3:
.db,.sqlite,以及.sqlite3文件 - 内存SQLite:未指定数据库路径时
可用工具
数据库管理:
list:列出服务器中可用的所有活动数据库。create:创建新的数据库文件(对于Microsoft Access,复制空的.mdb模板)。connect:连接到现有的数据库文件,或者如果未指定文件,则创建内存中的数据库。disconnect:关闭数据库连接。对于内存数据库,这将清除其所有数据。
数据管理:
query:执行SQL查询以从数据库中检索数据。update:执行SQL查询以在数据库中插入/更新/删除数据。import_csv:将CSV文件中的数据导入数据库表。export_csv:将数据从数据库表导出到CSV文件。import_excel:将数据从Excel文件导入数据库表。
笔记管理:
read_notes:从指定文件读取笔记,或在指定目录中查找笔记。write_notes:将笔记写入指定文件或链接到指定数据库。
注意:Excel导出未实现,请改用haris-musa/Excel-mcp服务器。 主要问题是跟踪Excel文件中行和列的索引,以便将数据正确导入/导出到相同的单元格,和/或插入新行/列。 此外,合并的单元使过程复杂化,实现起来太复杂了。
项目结构
主要文件:
server.py:MCP服务器实现。
测验:
test_tools.py:测试单个MCP工具的功能。test_mcp.py:在典型工作流程中测试所有MCP工具。
文档:
侦察脚本,用于开发基本功能的第一阶段:
scouting_mdb.py:SQLAlchemy和pandas与Microsoft Access数据库交互。scouting_csv.py:SQLAlchemy和pandas用于与CSV文件交互。
全部
- \[x\] 添加工具以创建新数据库,将empty.mdb复制到指定路径。
- \[x\] 添加同时连接到多个数据库的能力。
- \[x\] 添加工具以列出数据库中的所有表。
- \[x\] 添加工具以从CSV文件导入/导出数据。
- \[x\] 添加工具以从Excel文件导入数据或将数据导入Excel文件。
- \[x\] 添加提示,引导AI向用户询问数据库信息。
- \[x\] 存储有关文件(.AImotes文件)的信息,以便以后检索。
- \[\]添加工具以记住导入/导出的CSV和Excel文件。
