这是一个针对DuckDB的模型上下文协议(MCP)服务器实现,它提供了通过MCP工具与数据库进行交互的能力。DuckDB非常适合用于本地分析,使用该服务器可以方便地对DuckDB数据库进行各种操作。
此服务器通过模型上下文协议(MCP)实现与DuckDB数据库的交互,支持执行查询、创建表以及查看表结构等操作。
# 示例命令
将以下内容添加到配置文件中:
# 示例路径设置
目前没有自定义资源实现。
目前没有自定义提示语实现。
服务器实现了以下数据库交互工具:
| 工具名称 | 功能 | 输入 | 输出 |
|---|---|---|---|
| read-query | 执行SELECT查询以读取数据 | query(字符串)- 必须是SELECT语句 |
查询结果文本 |
| write-query | 执行INSERT、UPDATE或DELETE查询以修改数据 | query(字符串)- 必须是非SELECT语句 |
查询结果文本 |
| create-table | 创建新表 | query(字符串)- 必须是CREATE TABLE语句 |
成功确认消息 |
| list-tables | 列出数据库中的所有表 | 无 | 从information_schema获取的表列表 |
| describe-table | 获取特定表格的架构信息 | table_name(字符串)- 要描述的表格名称 |
表格架构信息 |
⚠️ 重要提示
当服务器以只读模式运行时,
write-query和create-table工具将被禁用以防止任何写入操作,这确保了语言模型(LLM)无法执行任何数据库修改操作,从而保持数据完整性并防止意外更改。
| 属性 | 详情 |
|---|---|
| db-path(字符串) | DuckDB数据库文件路径,服务器会自动创建数据库文件及其父目录(如果它们不存在) |
| 属性 | 详情 |
|---|---|
| --readonly | 以只读模式运行服务器。当此标志设置时,DuckDB数据库将使用read_only=True打开,防止任何写入操作;如果指定的数据库文件不存在,则不会创建它;具有阻止语言模型(LLM)执行任何写入操作,确保数据库保持不变的安全性优势。注意:read_only在DuckDB中是正确的术语。 |
确保安装了必要的工具和依赖项。
使用MCP Inspector进行调试,该工具提供以下功能: