Back to the catalog

Émile

MCP server for the Émile wine cellar — list, add, recommend, scan and search 100k+ wines.

Open source Open in the app JSON README (API)

About

MCP server for the Émile wine cellar — list, add, recommend, scan and search 100k+ wines.

Details

Kind
MCP servers
Topic
No topic detected
Publisher
sebastiengal
Origin
official
Category
ferramentas
Transport
http
Version
0.2.5
Added
2026-08-29 03:02:14
Updated
2026-08-29 03:02:14
Origin id
io.github.SebastienGal/emile-wine

README

# @emile-wine/mcp-server

> Émile is your French wine cellar app. This MCP server lets you query and manage your cellar from Claude Desktop, Cursor, or any [Model Context Protocol](https://modelcontextprotocol.io) client.

[![npm](https://img.shields.io/npm/v/@emile-wine/mcp-server.svg)](https://www.npmjs.com/package/@emile-wine/mcp-server)

## What it does

10 tools to talk to your Émile cellar:

| Tool | Description |
|---|---|
| `search_wines` | Search the catalog by name/producer/appellation |
| `list_cellars` | List your cellars |
| `list_bottles` | List bottles in a cellar |
| `add_bottle` | Add 1 bottle |
| `add_bottles_batch` | Add up to 100 bottles in one call |
| `update_bottle` | Change status, notes, location, price, vintage, quantity |
| `delete_bottle` | Remove a bottle (prefer `update_bottle status=drunk` for history) |
| `recommend_bottles` | Get bottle recommendations for a meal or maturity |
| `scan_label` | Identify a wine from a label photo (base64) |
| `scan_labels_batch` | Up to 10 label photos in one call |

## Quick start (Claude Desktop)

### 1. Get an API key

Open the Émile iOS app → **Profile → Settings → API Keys** → tap **+ Generate**. Copy the `emile_live_...` value (shown only once).

### 2. Edit your Claude Desktop config

`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):

```json
{
  "mcpServers": {
    "emile": {
      "command": "npx",
      "args": ["-y", "@emile-wine/mcp-server"],
      "env": {
        "EMILE_API_KEY": "emile_live_xxxxxxxxxxxxxxxx"
      }
    }
  }
}
```

### 3. Restart Claude Desktop

You should see the 🔌 indicator in the bottom of the input box, with `emile` listed.

### 4. Try it

> "Show me my main cellar"
> "Recommend a bottle for tonight's pasta with mushrooms"
> "Add a 2018 Pomerol to Cave A"

## Configuration

| Env var | Required | Default | Description |
|---|---|---|---|
| `EMILE_API_KEY` | yes | — | API key from the iOS app |
| `EMILE_API_URL` | no | `https://api.emile.wine` | Override for local dev (`http://localhost:8000` allowed) |
| `EMILE_LOG_LEVEL` | no | `info` | One of `debug`, `info`, `warn`, `error` |

## Troubleshooting

**"Émile API key is invalid or revoked"** — Generate a new key in the iOS app. Old keys are revoked when you delete them or when global key rotation happens (rare).

**"Cannot reach Émile API"** — Check your internet connection. The default endpoint `https://api.emile.wine` should be reachable; you can verify with:

```bash
curl https://api.emile.wine/health
```

**"Rate limit exceeded"** — The MCP server inherits the API's rate limits (varies by endpoint, typically 10-60 req/min). Wait the suggested retry seconds.

**Need to debug a tool call** — set `EMILE_LOG_LEVEL=debug` in the config and check Claude Desktop's MCP logs at `~/Library/Logs/Claude/mcp*.log`.

## Privacy

This MCP server is **stateless and doesn't persist anything**. Your API key is read from env at startup. All requests go directly to `https://api.emile.wine` (or your override). Photo data sent to `scan_label` is processed transient by the backend (not stored). See https://api.emile.wine/privacy for the full policy.

## Other MCP clients

The same `npx -y @emile-wine/mcp-server` invocation works in any client supporting stdio MCP servers:

- **Cursor** — `~/.cursor/mcp.json`
- **Continue** — `~/.continue/config.json` `experimental.modelContextProtocolServer`
- Custom clients — connect to stdout/stdin, speak [MCP](https://modelcontextprotocol.io)

## License

MIT — see LICENSE.

More