关于 Model Context Protocol and Fireproof Demo: JSON Document Collection Server
这是一个基于 Fireproof 管理多个 JSON 文档数据库的 MCP 服务示例,适合将结构化数据接入 AI 系统;支持文档增删改查、按字段排序查询及通过 Fireproof Cloud 共享数据库。
主要功能
- 01创建多个 JSON 文档数据库
- 02对文档执行增删改查
- 03按任意字段查询和排序
- 04通过 Fireproof Cloud 共享数据库
适用场景
- 01按主题分别存储文档集合
- 02添加、更新或删除 JSON 文档
- 03按字段排序检索文档
- 04通过 Fireproof Cloud 共享数据库
MCP 相关
该服务向 MCP 客户端提供数据库创建、文档增删改查、查询、排序和云端共享能力。README 介绍了在 Claude Desktop 中配置此服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| databaseName | string | 是 |
详细介绍
模型上下文协议与 Fireproof 演示:JSON 文档集合服务
❤️
这是一个示例,展示如何在 模型上下文协议 服务中使用 Fireproof 数据库(用于将代码和数据接入 Claude Desktop 等 AI 系统)。
此服务:
- 允许创建多个“JSON 文档数据库”(使用 Fireproof 实现)
- 在任意数据库中实现基本的 CRUD 操作(创建、读取、更新、删除),并支持按任意字段排序查询文档。
- 允许使用 Fireproof Cloud 服务和控制面板与他人共享任意数据库
前期项目:此项目基于 https://github.com/fireproof-storage/mcp-database-server,并新增了多数据库支持以及同步到云端的功能。
运行服务
首先,构建它:
npm install
npm build
要在 Claude Desktop 中使用,请添加服务配置:
在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"json-db-collections": {
"command": "<base-dir>/mcp-json-db-collection-server/build/index.js"
}
}
}
Claude Desktop 聊天会话示例
下面是使用 Claude Desktop 创建 3 个文档数据库并将它们同步到云端的示例会话:
1. 聊天会话:元素数据库
human(2024 年 12 月 29 日,03:59 PM)
创建一个名为 elements 的 JSON 文档数据库
assistant(2024 年 12 月 29 日,04:00 PM)
我来帮你创建一个名为“elements”的 JSON 文档数据库。
数据库已成功创建。你现在可以使用此数据库存储和管理 JSON 文档。要向其中添加文档吗?
human(2024 年 12 月 29 日,04:00 PM)
将元素周期表中的稀有气体作为单独的文档添加进去
assistant(2024 年 12 月 29 日,04:00 PM)
我来帮你将稀有气体作为单独的文档添加到 elements 数据库中。我会为每种稀有气体添加关键属性。
我已将七种稀有气体(氦、氖、氩、氪、氙、氡和鿫)全部添加到数据库中。每种元素都包含以下信息:
- 名称和符号
- 原子序数和原子质量
- 周期、族和区
- 电子排布
- 熔点和沸点(单位为开尔文)
- 密度(单位为 g/cm³)
请注意,鿫的某些物理性质标记为 null,因为它是一种合成元素,半衰期极短,其性质尚未通过实验准确测定。
你想从数据库中查询这些稀有气体的哪些具体信息吗?
human(2024 年 12 月 29 日,04:01 PM)
显示文档
assistant(2024 年 12 月 29 日,04:01 PM)
我来查询 elements 数据库中的所有文档,并按原子序数排序。
以下是数据库中的所有稀有气体,按原子序数从高到低排列:
- 鿫(Og)— 元素 118
- 氡(Rn)— 元素 86
- 氙(Xe)— 元素 54
- 氪(Kr)— 元素 36
- 氩(Ar)— 元素 18
- 氖(Ne)— 元素 10
- 氦(He)— 元素 2
每个文档都包含该元素的详细信息,包括原子质量、密度、熔点和沸点(已知时),以及电子排布。你想查看哪些具体性质,或比较这些元素的哪些方面吗?
2. 聊天会话:曲奇原料数据库
用户(Dec 29, 2024, 04:01 PM)
创建名为 cookie_ingredients 的 JSON 文档数据库
助手(Dec 29, 2024, 04:01 PM)
我将创建一个名为 "cookie_ingredients" 的新 JSON 文档数据库。
数据库已成功创建。你想在其中添加一些原料吗?
用户(Dec 29, 2024, 04:02 PM)
将巧克力豆曲奇食谱中的原料作为单独的文档添加进去
助手(Dec 29, 2024, 04:02 PM)
我将把巧克力豆曲奇的常见原料作为单独的文档添加,并附上它们的常用用量和属性。
我已为经典巧克力豆曲奇食谱添加了所有必需原料。每种原料都包含:
- 名称和用量
- 计量单位
- 类型(干性、湿性、膨松剂等)
- 在食谱中的作用
- 可能的替代品
- 重量计量
- 使用注意事项
你想从数据库中查询这些原料的特定信息吗?
用户(Dec 29, 2024, 04:02 PM)
以表格形式显示原料
助手(Dec 29, 2024, 04:03 PM)
我将查询原料并将其整理为 Markdown 表格。
| 原料 | 用量 | 单位 | 类型 | 作用 | 重量/单位 |
|---|---|---|---|---|---|
| 通用面粉 | 2¼ | 杯 | 干性 | 形成结构 | 120g/杯 |
| 无盐黄油 | 1 | 杯 | 脂肪 | 口感和风味 | 227g/杯 |
| 砂糖 | ¾ | 杯 | 甜味剂 | 甜味和口感 | 200g/杯 |
| 红糖 | ¾ | 杯 | 甜味剂 | 保湿和风味 | 220g/杯 |
| 大鸡蛋 | 2 | 个 | 黏合剂 | 形成结构并增加浓郁口感 | 每个 50g |
| 香草精 | 1 | 茶匙 | 调味料 | 提升风味 | 5g/茶匙 |
| 盐 | 1 | 茶匙 | 调味料 | 提升风味 | 6g/茶匙 |
| 小苏打 | 1 | 茶匙 | 膨松剂 | 使饼干膨起并摊开 | 4.8g/茶匙 |
| 巧克力豆 | 2 | 杯 | 混入原料 | 风味和口感 | 170g/杯 |
我已按类型整理原料,并列出了用量、单位、作用和重量计量。你想查看任何特定原料的更多详情吗?
3. 聊天会话:马匹品种数据库
用户(Dec 29, 2024, 04:03 PM)
创建名为 horse_breeds 的新 JSON 文档数据库
助手(Dec 29, 2024, 04:03 PM)
我将创建一个用于存储马匹品种的新 JSON 文档数据库。
数据库已成功创建。你想在其中添加一些马匹品种吗?
用户(Dec 29, 2024, 04:03 PM)
是
助手(Dec 29, 2024, 04:04 PM)
我将添加几种常见马匹品种,并附上它们的主要特征、起源和典型用途。
我已向数据库添加了六种各具特色的马匹品种:
- 阿拉伯马——以耐力和优雅著称
- 纯血马——以赛马能力和运动天赋闻名
- 克莱兹代尔马——强壮的挽马
- 夸特马——美国用途广泛的牧场马
- 弗里斯兰马——来自荷兰的优雅黑马
- 阿帕卢萨马——以斑点花纹和美洲原住民文化渊源著称
每条记录都包含以下信息:
- 起源和类型
- 身高范围(以掌为单位——1 掌 = 4 英寸)
- 常见毛色
- 身体特征
- 典型用途
- 性情
- 显著特征
你想以特定方式查看这些信息,或了解某个特定品种的更多信息吗?
4. 聊天会话:同步到云端
human(2024 年 12 月 29 日,下午 04:04)
列出 JSON 文档数据库
assistant(2024 年 12 月 29 日,下午 04:04)
我来列出已创建的所有 JSON 文档数据库。
目前有三个 JSON 文档数据库:
- horse_breeds
- elements
- cookie_ingredients
每个数据库都包含与其特定主题相关的文档:
- horse_breeds 包含不同马匹品种的信息
- elements 包含稀有气体的数据
- cookie_ingredients 包含巧克力豆曲奇原料的详细信息
你想查询这些数据库中的特定信息吗?
human(2024 年 12 月 29 日,下午 04:04)
将 horse_breeds 同步到云端
assistant(2024 年 12 月 29 日,下午 04:04)
我来帮你将 horse_breeds 数据库连接到云同步服务。
horse_breeds 数据库已成功连接到云端。你可以使用上方提供的 URL 访问控制面板。通过云端界面,你可以查看和管理马匹品种数据。你还想将其他数据库同步到云端吗?
human(2024 年 12 月 29 日,下午 04:05)
显示 URL
assistant(2024 年 12 月 29 日,下午 04:05)
以下是 horse_breeds 数据库的控制面板 URL:
你可以使用此 URL 通过云端界面访问和管理马匹品种数据。
human(2024 年 12 月 29 日,下午 04:05)
将 elements 数据库同步到云端
assistant(2024 年 12 月 29 日,下午 04:05)
我来将 elements 数据库连接到云同步服务。
elements 数据库已成功连接到云端。你可以通过以下 URL 访问控制面板:
你还想同步 cookie_ingredients 数据库吗?
human(2024 年 12 月 29 日,下午 04:05)
想
assistant(2024 年 12 月 29 日,下午 04:05)
我来将 cookie_ingredients 数据库连接到云同步服务。
以下是 cookie_ingredients 数据库的控制面板 URL:
现在,三个数据库(horse_breeds、elements 和 cookie_ingredients)都已同步到云端,可通过各自的控制面板 URL 访问。
5. 聊天会话:清理
human(2024 年 12 月 29 日,下午 04:06)
删除所有数据库
assistant(2024 年 12 月 29 日,下午 04:06)
我来帮你删除所有三个数据库。
所有三个数据库均已成功删除:
- horse_breeds
- elements
- cookie_ingredients
我来确认它们是否都已删除。
已确认,系统中没有剩余数据库。你想创建新数据库吗?
转换为 Markdown 的工具:https://simonwillison.net/2024/Aug/8/convert-claude-json-to-markdown/
未来开发构想
- 提示词
- 资源
- 支持带权限的多用户
- 索引
- 使用 Firebase npm 库,通过 Claude Desktop 生成静态网站
开发
pnpm install
pnpm build
pnpm run inspector
# To reset, do: rm -rf ~/.fireproof /tmp/dist
~/Library/Application\ Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"json-db-collections": {
"command": "<base-dir>/mcp-json-db-collection-server/build/index.js"
}
}
}
许可证
MIT 或 Apache 2
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。