Skip to main content

MCP Setup

Configure the Model Context Protocol (MCP) connection between Claude and your Meticulous machine.

What is MCP?

The Model Context Protocol is an open standard that allows AI assistants to securely connect to external tools and data sources. Meticulous Hub implements an MCP server that exposes your espresso machine's capabilities to Claude.

Cloud MCP Server

The easiest way to connect is through the Meticulous Hub cloud server.

Endpoint

https://api.meticuloushub.com/v1/mcp

Authentication

The MCP server uses OAuth 2.1 with PKCE for authentication. When you connect from Claude.ai or Claude Desktop, you'll be prompted to log in with your Meticulous Hub account.

Connecting from Claude.ai

  1. Open Claude.ai and go to Settings
  2. Navigate to IntegrationsMCP Servers
  3. Click Add Server
  4. Enter: https://api.meticuloushub.com/v1/mcp
  5. Complete the OAuth flow to authorize access

Connecting from Claude Desktop

Add the server to your Claude Desktop configuration:

macOS/Linux: ~/.claude/config.json Windows: %APPDATA%\Claude\config.json

{
"mcpServers": {
"meticulous": {
"url": "https://api.meticuloushub.com/v1/mcp"
}
}
}

Restart Claude Desktop after making changes.

Local MCP Server

For direct machine control without the cloud, use the meticulous-mcp package.

Installation

npm install -g meticulous-mcp

Configuration

Set your machine's URL:

export METICULOUS_URL=http://your-machine-ip:8080

Or for machines using mDNS:

export METICULOUS_URL=http://meticulousXXXXXX.local

Claude Desktop Configuration

{
"mcpServers": {
"meticulous": {
"command": "meticulous-mcp"
}
}
}

Available Tools

Once connected, Claude has access to these tools:

ToolDescription
get_device_infoGet machine information (model, firmware, etc.)
get_statusGet current machine status
get_settingsGet machine settings
update_settingChange a machine setting
list_profilesList available brewing profiles
get_profileGet details of a specific profile
load_profileLoad a profile for brewing
start_brewStart brewing with the loaded profile
stop_brewStop the current brew
tare_scaleTare the scale to zero
get_last_shotGet details of the most recent shot
search_shot_historySearch through shot history

Example Conversations

Loading and brewing a profile:

"Load my morning espresso profile and start brewing"

Checking shot history:

"How did my last 3 shots compare? Show me extraction times and weights"

Adjusting settings:

"Set the brew temperature to 93°C"

Creating workflows:

"Every morning, preheat the machine and load my Rao Allongé profile"