Skip to main content
ClaudeWave
ljcl avatar
ljcl

gaggiuino-mcp

Ver en GitHub
MCP ServersRegistry oficial0 estrellas0 forksTypeScriptMITActualizado today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/ljcl/gaggiuino-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "gaggiuino-mcp": {
      "command": "node",
      "args": ["/path/to/gaggiuino-mcp/dist/index.js"],
      "env": {
        "GAGGIUINO_URL": "<gaggiuino_url>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/ljcl/gaggiuino-mcp and follow its README for install instructions.
Detected environment variables
GAGGIUINO_URL
Casos de uso

Resumen de MCP Servers

# Gaggiuino MCP Server

A Remote [MCP](https://modelcontextprotocol.io) server for integrating a [Gaggiuino](https://gaggiuino.github.io/) espresso machine with AI tools. Ask your AI assistant to check machine status, analyze shot data, and get dial-in guidance.

## Features

### MCP Tools

**Shot Analysis**
- `get_status` - Current machine status (temperature, pressure, flow, weight)
- `get_latest_shot_id` - Most recent shot ID
- `get_shot_data` - Structured shot summary with metrics
- `get_shot_raw_data` - Complete time-series data
- `view_shot_graph` - Interactive shot graph rendered in MCP-compatible hosts (pressure, flow, weight over time with target overlays and optional shot comparison)

**Profile Discovery**
- `list_profiles` - All available brew profiles with summaries
- `get_profile_info` - Detailed documentation for a specific profile
- `get_dial_in_guidance` - Expert guidance for analyzing espresso shots

**MCP Prompts** - `espresso_shot_analyst` system prompt for AI-assisted dial-in (same content as `get_dial_in_guidance`)

**MCP Resources** - `gaggiuino://profiles` and `gaggiuino://profiles/{id}` for profile data

## Quick Start

### 1. Clone and Configure

```bash
git clone https://github.com/your-username/gaggiuino-mcp.git
cd gaggiuino-mcp

cp .env.example .env
```

Edit `.env` with your Gaggiuino machine's address:

```bash
# Use the IP directly (recommended)
GAGGIUINO_URL=http://192.168.1.100

# Or if mDNS works on your network
GAGGIUINO_URL=http://gaggiuino.local
```

### 2. Start the Server

```bash
docker compose up -d
```

### 3. Verify

```bash
curl http://localhost:8000/health
```

The server is available at `http://<your-docker-host>:8000/mcp`.

## Configuration

### Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `GAGGIUINO_URL` | `http://gaggiuino.local` | URL of your Gaggiuino machine |
| `PORT` | `8000` | Port for the MCP server |
| `HOST` | `0.0.0.0` | Host to bind to |

### Customization

The server ships with generic profiles and prompts. You can customize them for your setup without modifying tracked files:

1. **Equipment-specific dial-in guidance** - Copy `apps/server/src/data/prompts.example-local.yaml` to `prompts.local.yaml` in the same directory and add your grinder model, basket, and other equipment details.

2. **Custom profiles** - Copy `apps/server/src/data/profiles.example-local.yaml` to `profiles.local.yaml` to add your own profiles or override/remove defaults (set a profile ID to `null` to remove it).

Local override files (`*.local.yaml`) are gitignored and merged on top of the defaults at startup.

## Connecting to AI Tools

Many AI tools (like Claude Desktop) route MCP requests through their own servers, not from your local machine. This means your MCP server needs to be accessible via a public HTTPS URL.

### Tailscale Funnel (Recommended)

[Tailscale Funnel](https://tailscale.com/kb/1223/funnel) exposes your server to the internet via a secure HTTPS URL:

```bash
tailscale funnel --bg 8000
# URL: https://your-machine.tail-scale.ts.net/mcp
```

### Cloudflare Tunnel

Use [cloudflared](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) to create a persistent tunnel to your server.

### ngrok

```bash
ngrok http 8000
```

### Local Network Only

If your AI tool connects directly (e.g. local MCP server config), use the direct address:

```
http://<docker-host-ip>:8000/mcp
```

### Adding to Claude Desktop

1. Go to **Settings** > **Integrations** > **Add More** > **Add Remote MCP Server**
2. Set the URL to your public HTTPS endpoint (e.g. `https://your-machine.tail-scale.ts.net/mcp`)
3. Save and enable

## Architecture

```
AI Tool (Claude Desktop, etc.)
    |
    |  HTTPS
    v
+-----------------------------+
|  HTTPS Tunnel               |
|  (Tailscale / Cloudflare /  |
|   ngrok / reverse proxy)    |
+-----------------------------+
    |
    |  HTTP (localhost:8000)
    v
+-----------------------------+
|  Gaggiuino MCP Server       |
|  (Docker container)         |
|  Bun + Streamable HTTP      |
+-----------------------------+
    |
    |  HTTP (local network)
    v
+-----------------------------+
|  Gaggiuino                  |
+-----------------------------+
```

## Development

```bash
bun install          # Install all dependencies

bun run build        # Build all packages (Turborepo)
bun run test         # Run all tests
bun run lint         # Lint all packages

# Server
cd apps/server
bun run dev          # Watch mode
bun run test         # Server tests only

# Shot graph UI
cd packages/shot-graph
bun run storybook    # Storybook on port 6006

# Regenerate JSON schemas (after changing Zod schemas in loader.ts)
cd apps/server
bun run generate-schemas
```

### Docker

```bash
docker compose build
docker compose up -d
docker compose logs -f
```

## Troubleshooting

### Can't connect to gaggiuino.local

mDNS (`.local` hostnames) may not work inside Docker containers. Use the IP address directly in `GAGGIUINO_URL`.

### AI tool can't reach the server

Ensure your server is publicly accessible via HTTPS. Tools like Claude Desktop route requests through their own servers, so Tailnet-only access (e.g. `tailscale serve`) won't work - you need a public tunnel (e.g. `tailscale funnel`).

### Server starts but can't reach Gaggiuino

The container uses `network_mode: host` to share the host's network stack. If your Gaggiuino is on a different network segment, adjust your Docker networking configuration.

## License

MIT

Lo que la gente pregunta sobre gaggiuino-mcp

¿Qué es ljcl/gaggiuino-mcp?

+

ljcl/gaggiuino-mcp es mcp servers para el ecosistema de Claude AI con 0 estrellas en GitHub.

¿Cómo se instala gaggiuino-mcp?

+

Puedes instalar gaggiuino-mcp clonando el repositorio (https://github.com/ljcl/gaggiuino-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar ljcl/gaggiuino-mcp?

+

ljcl/gaggiuino-mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene ljcl/gaggiuino-mcp?

+

ljcl/gaggiuino-mcp es mantenido por ljcl. La última actividad registrada en GitHub es de today, con 37 issues abiertos.

¿Hay alternativas a gaggiuino-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega gaggiuino-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: ljcl/gaggiuino-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/ljcl-gaggiuino-mcp)](https://claudewave.com/repo/ljcl-gaggiuino-mcp)
<a href="https://claudewave.com/repo/ljcl-gaggiuino-mcp"><img src="https://claudewave.com/api/badge/ljcl-gaggiuino-mcp" alt="Featured on ClaudeWave: ljcl/gaggiuino-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a gaggiuino-mcp