返回市场
食品柜数据库

食品柜数据库

作者:camille-vanhoffelen2 星标更新:2025-08-29

项目介绍

食品储藏室照片

🥫 PantryDB

远程MCP服务器,用于跟踪食品储藏室中的物品。

提供一个简单的数据库来列出、添加和移除食品储藏室中的物品。

该服务器是远程的,因此可以在移动设备上随时访问(例如在手机上)。 它支持使用GitHub OAuth进行单一用户身份验证。

PantryDB 使用了 CloudFlare 的 MCP 和 OAuth 库,并部署在 CloudFlare Workers 上。

📋 目录

🥫 示例

购物时寻求建议。

鹰嘴豆截图

扫描收据以添加到食品储藏室中。

蜂蜜截图

留下语音备忘,让 Claude 知道你吃了一些薯片。

薯片截图

🚀 开始使用

前提条件

  • Node.js (v18 或更高版本) 和 npm - 用于运行项目和管理依赖项
  • OpenSSL - 用于生成 Cookie 加密密钥 (openssl rand -hex 32)
  • GitHub 账户 - 用于 OAuth 身份验证设置
  • Cloudflare 账户 - 用于 Workers 部署和 D1/KV 服务

安装

安装依赖项:

npm install

登录 Wrangler:

npx wrangler login

🚢 部署

  • 本地:在本地运行 PantryDB 并在同一台机器上通过 MCP 客户端访问它。
  • 远程:远程部署 PantryDB 并从任何 MCP 客户端访问。

GitHub OAuth

本地

为本地开发创建一个新的 OAuth 应用。

导航至 github.com/settings/developers,创建一个具有以下设置的新 OAuth 应用:

应用名称: PantryDB (本地)
主页 URL: http://localhost:8788
授权回调 URL: http://localhost:8788/callback

记下你的客户端ID并生成一个客户端密钥。将两者添加到项目根目录下的 .dev.vars 文件中,这将在本地开发中用来设置密钥:

touch .dev.vars
echo 'GITHUB_CLIENT_ID="your-client-id"' >> .dev.vars
echo 'GITHUB_CLIENT_SECRET="your-client-secret"' >> .dev.vars

然后,添加唯一允许使用你的 PantryDB 的 GitHub 账户用户名:

echo 'ALLOWED_GITHUB_USERNAME="your-username"' >> .dev.vars

远程

为远程服务器创建一个新的 OAuth 应用:

导航至 github.com/settings/developers,创建一个具有以下设置的新 OAuth 应用:

应用名称: Pan