食谱管理服务器

一个为Paprika食谱管理器提供MCP服务器功能的服务,支持食谱的创建、搜索、分类和管理。

  • by deutschmn
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 deutschmn/paprika-mcp

使用说明

paprika-mcp

这是一个MCP服务器 辣椒粉配方经理.

免责声明: 该项目与Paprika或其开发商无关、不受其认可或以任何方式与之相关。

设置

需要 紫外线.

cp .env.example .env
# Edit .env with your Paprika email and password

工具

工具 说明
list_recipes 列出所有食谱(名称、uid、类别、评级)
get_recipe 通过UID获取完整的食谱详细信息
search_recipes 按关键字在名称、配料、描述和注释中搜索食谱
create_recipe 创建一个新的食谱(名称、配料、说明、时间等)
list_categories 列出所有食谱类别

使用Claude Desktop

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "paprika": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/paprika-mcp", "paprika-mcp"],
      "env": {
        "PAPRIKA_EMAIL": "your-email@example.com",
        "PAPRIKA_PASSWORD": "your-password"
      }
    }
  }
}

使用Claude代码

添加 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "paprika": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/paprika-mcp", "paprika-mcp"],
      "env": {
        "PAPRIKA_EMAIL": "your-email@example.com",
        "PAPRIKA_PASSWORD": "your-password"
      }
    }
  }
}

远程部署(Koyeb)

在上部署为Docker容器 科耶布 (免费等级,法兰克福欧盟地区),因此您可以在手机上使用Claude。

辣椒粉凭据作为env变量存储在Koyeb上。访问受秘密URL路径保护,不需要身份验证标头。

1.生成一个秘密

uvx python -c "import secrets; print(secrets.token_urlsafe(32))"

2.部署到Koyeb

安装CLI并登录:

brew install koyeb/tap/koyeb
koyeb login

将此仓库推送到GitHub,然后部署:

koyeb app create paprika-mcp

koyeb service create paprika-mcp \
  --app paprika-mcp \
  --git github.com/deutschmn/paprika-mcp \
  --git-branch main \
  --git-builder docker \
  --regions fra \
  --port 8000:http \
  --route /:8000 \
  --checks 8000:http:/health \
  --env "MCP_TRANSPORT=http" \
  --env "PORT=8000" \
  --env "PAPRIKA_EMAIL=you@example.com" \
  --env "PAPRIKA_PASSWORD=your-paprika-password" \
  --env "MCP_SECRET=your-generated-secret"

您的服务器URL将是 https://paprika-mcp-YOUR_USER.koyeb.app/mcp/your-generated-secret.

检查状态:

koyeb service list --app paprika-mcp

更新现有部署

要使用最新代码重新部署,请从当前分支触发新的构建:

koyeb service redeploy paprika-mcp/paprika-mcp

3.从Claude连接(移动/网络)

在Claude.ai中,请访问 设置>连接器>添加连接器 并粘贴包括秘密路径的完整URL。不需要凭据。

4.测试部署

curl https://your-app-name.koyeb.app/mcp/your-secret

本地Docker测试

docker build -t paprika-mcp .
docker run --rm -p 8000:8000 \
  -e PAPRIKA_EMAIL="$PAPRIKA_EMAIL" \
  -e PAPRIKA_PASSWORD="$PAPRIKA_PASSWORD" \
  -e MCP_TRANSPORT=http \
  -e MCP_SECRET="$MCP_SECRET" \
  paprika-mcp
curl http://localhost:8000/mcp/test-secret

发展

一次性工具调用

每次调用都会启动一个新的服务器(没有缓存持久性):

uv run fastmcp call src/paprika_mcp/server.py list_categories
uv run fastmcp call src/paprika_mcp/server.py list_recipes
uv run fastmcp call src/paprika_mcp/server.py search_recipes '{"query": "chicken"}'
uv run fastmcp call src/paprika_mcp/server.py get_recipe '{"uid": "some-recipe-uid"}'
uv run fastmcp call src/paprika_mcp/server.py create_recipe '{"name": "Test Recipe", "ingredients": "1 cup flour\n2 eggs", "directions": "Mix and bake."}'

运行持久服务器

在HTTP上启动服务器,以便配方缓存在调用过程中保持温暖:

uv run fastmcp run src/paprika_mcp/server.py --transport streamable-http --port 8000

然后对正在运行的服务器调用工具:

uv run fastmcp call http://localhost:8000/mcp list_recipes
uv run fastmcp call http://localhost:8000/mcp search_recipes '{"query": "chicken"}'
uv run fastmcp call http://localhost:8000/mcp get_recipe '{"uid": "some-recipe-uid"}'
uv run fastmcp call http://localhost:8000/mcp create_recipe '{"name": "Test Recipe", "ingredients": "1 cup flour\n2 eggs", "directions": "Mix and bake."}'