mealie-mcpSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A Model Context Protocol (MCP) server for Mealie, the self-hosted recipe manager, meal planner and shopping-list app.
It exposes every endpoint of the Mealie REST API as an MCP tool, so an LLM (Claude, etc.) can read and manage your recipes, meal plans, shopping lists, cookbooks, households, users and more.
- 🧩 Broad API coverage, sane baseline — one tool per Mealie endpoint,
trimmed to a safe baseline (~211 of ~259) so clients aren't overwhelmed and risky endpoints aren't reachable.
- 🔄 Auto-adapts to your Mealie version — on startup it fetches the OpenAPI
schema from your instance, so the tools always match exactly what your server supports. A bundled snapshot is used as a fallback if the fetch fails.
- 🚀 Zero install — runs straight from
npx, ideal for MCPHub, Claude
Desktop, Cursor, and any other MCP client.
- 🔒 Safe by default — admin/server-ops endpoints are never exposed, plus
read-only mode and per-category include/exclude filtering to narrow further.
- 🔑 Flexible auth — a static API token, or an OAuth2 client-credentials flow
that fetches and refreshes access tokens for you.
Quick start
You need three things:
- Node.js 22+ installed on your machine
- The base URL of your Mealie instance, e.g.
https://mealie.example.com - A Mealie API token (see Getting an API token)
Run it with npx:
MEALIE_BASE_URL="https://mealie.example.com" \ MEALIE_API_TOKEN="your-long-lived-token" \ npx -y mealie-mcp
The server speaks MCP over stdio, so you normally won't run it by hand — your MCP client launches it for you using the config below.
Client configuration
MCPHub / Claude Desktop / Cursor (generic MCP config)
Add an entry to your client's MCP servers config (for Claude Desktop this is claude_desktop_config.json; MCPHub uses an equivalent mcpServers blo
4724583f9a7dOBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add mealie-mcp -- npx -y [email protected]
{
"mcpServers": {
"mealie-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
test_tool | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (2)
import { safeUrl } from "../../src/utils/url.js";@modelcontextprotocol/sdk, @types/node, tsx, typescript
Gates applied: no_behavioural_pass.
4724583f9a7dfull audit observations/trust-audit/mcp-server/2fst4u__mealie-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 4724583f9a7d | SAFE | B | 89 | first audit |
Questions
What tools does mealie-mcp expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is mealie-mcp safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does mealie-mcp need?
No credential environment variables were found in its source, so it appears to need none.
How does mealie-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as mealie-mcp at 0.3.7.
How current is this page?
The grade is for one exact copy of the source (4724583f9a7d), read on 2026-10-12. The repository is watched and re-audited when it changes.