Victualia MCP服务器

Victualia MCP服务器是一个用于动态获取Victualia API的OpenAPI规范并将其暴露为MCP工具的服务,使AI助手能够代表用户与Victualia API交互。

  • by dagnele
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dagnele/victualia-mcp

使用说明

食品mcp

MCP(模型上下文协议)服务器 受害者 API

什么是受害者?

受害者-你的家,有组织的

Victualia是一款生活方式应用程序,可帮助您组织家庭、跟踪家居用品、计划膳食和有效管理生活。可在Web、iOS和Android上使用。

主要特点

  • 房屋库存跟踪 -追踪从食品储藏室到车库的所有东西
  • 条形码扫描 -使用Open Food Facts数据库快速添加项目
  • 人工智能驱动的膳食计划 -根据您的喜好和可用食材获得个性化的用餐建议
  • 自动生成的购物清单 -永远不要忘记你需要什么
  • 配方管理和导入 -从任何网站导入食谱或创建自己的食谱
  • 到期日期提醒 -通过及时通知减少食物浪费
  • 多家庭支持 -从一个帐户管理多个属性
  • 多地点组织 -按位置组织物品(餐具室、冰箱、车库等)

支持的语言

英语、西班牙语、意大利语、德语、法语和葡萄牙语。

这个MCP服务器做什么?

该服务器动态地从Victuaria获取OpenAPI规范,并将所有API端点公开为MCP工具,允许AI助手(Claude、OpenCode、Cursor等)代表您与Victualia API交互。

使用此MCP服务器,您可以要求您的AI助手:

  • 检查你的餐具室里有什么东西
  • 将商品添加到购物清单中
  • 获取膳食计划建议
  • 跟踪过期项目
  • 管理你的食谱
  • 还有更多!

安装选项

选项1:npx(推荐-不安装)

VICTUALIA_API_KEY=your-api-key npx victualia-mcp

选项2:全局npm安装

npm install -g victualia-mcp
victualia-mcp

选项3:独立二进制

从以下网址下载适用于您平台的预构建二进制文件 发布 页面:

平台 二进制
Linux(x64) victualia-mcp-linux-x64
macOS(英特尔) victualia-mcp-darwin-x64
macOS(苹果硅) victualia-mcp-darwin-arm64
Windows(x64) victualia-mcp-windows-x64.exe
# Linux/macOS
chmod +x victualia-mcp-linux-x64
./victualia-mcp-linux-x64

# Windows
victualia-mcp-windows-x64.exe

选项4:Docker

docker run -e VICTUALIA_API_KEY=your-api-key ghcr.io/dagnele/victualia-mcp:latest

或者使用Docker Compose:

services:
  victualia-mcp:
    image: ghcr.io/dagnele/victualia-mcp:latest
    environment:
      - VICTUALIA_API_KEY=your-api-key

获取API密钥

API访问需要 保费账户 (9.99欧元/月)。

获取API密钥:

  1. 首选 食物app 并注册或登录
  2. 订阅高级计划
  3. 导航至 设置 > API密钥
  4. 生成一个新的API密钥并复制它

请确保API密钥的安全,切勿公开共享。

配置

服务器是通过环境变量配置的:

变量 描述 默认值
VICTUALIA_API_KEY 用于身份验证的API密钥 (必需)
VICTUALIA_API_URL API请求的基本URL https://www.victualia.app/api/v1
VICTUALIA_OPENAPI_URL 获取OpenAPI规范的URL https://www.victualia.app/api/v1/openapi.json

使用AI助手

克劳德桌面版

添加到您的Claude Desktop配置中:

  • Linux: ~/.config/claude/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "victualia": {
      "command": "npx",
      "args": ["-y", "victualia-mcp"],
      "env": {
        "VICTUALIA_API_KEY": "your-api-key-here"
      }
    }
  }
}

或者使用独立二进制文件:

{
  "mcpServers": {
    "victualia": {
      "command": "/path/to/victualia-mcp-linux-x64",
      "env": {
        "VICTUALIA_API_KEY": "your-api-key-here"
      }
    }
  }
}

OpenCode

添加到您的 opencode.json:

{
  "mcp": {
    "victualia": {
      "command": "npx",
      "args": ["-y", "victualia-mcp"],
      "env": {
        "VICTUALIA_API_KEY": "your-api-key-here"
      }
    }
  }
}

光标

添加到光标MCP设置中:

{
  "mcpServers": {
    "victualia": {
      "command": "npx",
      "args": ["-y", "victualia-mcp"],
      "env": {
        "VICTUALIA_API_KEY": "your-api-key-here"
      }
    }
  }
}

内置工具

除了动态生成的API工具外,服务器还提供:

工具 说明
list_endpoints 列出所有可用的Victualia API端点
api_info 获取有关受害者API的信息

运作原理

  1. 启动时,服务器从Victualia获取OpenAPI规范
  2. 每个API端点都转换为一个MCP工具,具有:
    • 操作ID作为工具名称
    • 路径、查询和标头参数作为工具参数
    • 请求对POST/PUT/PATCH方法的主体支持
  3. 当调用一个工具时,服务器向Victualia API发出相应的HTTP请求
  4. 响应以JSON格式返回

发展

需求

  • 包子 v1.0.0或更高版本

设置

git clone https://github.com/dagnele/victualia-mcp.git
cd victualia-mcp
bun install

命令

# Run in development mode with hot reload
bun run dev

# Type check
bun run typecheck

# Build for npm distribution
bun run build

# Build standalone binary (current platform)
bun run build:binary

# Build binaries for all platforms
bun run build:all

# Run locally
bun start

Docker构建

docker build -t victualia-mcp .
docker run -e VICTUALIA_API_KEY=your-key victualia-mcp

出版

自动发布

当您推送版本标签时,发布会自动发生:

git tag v1.0.0
git push origin v1.0.0

这将:

  1. 为所有平台构建二进制文件
  2. 发布到npm
  3. 将Docker镜像推送到GitHub容器注册表
  4. 创建包含二进制下载的GitHub版本

手工出版

npm publish

GitHub操作设置

要启用自动发布,请将以下机密添加到您的存储库中:

机密 描述
NPM_TOKEN 用于发布的npm访问令牌
DOCKERHUB_USERNAME (可选)Docker Hub用户名
DOCKERHUB_TOKEN (可选)Docker Hub访问令牌

链接

许可证

麻省理工学院