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
- Open Claude.ai and go to Settings
- Navigate to Integrations → MCP Servers
- Click Add Server
- Enter:
https://api.meticuloushub.com/v1/mcp - 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:
| Tool | Description |
|---|---|
get_device_info | Get machine information (model, firmware, etc.) |
get_status | Get current machine status |
get_settings | Get machine settings |
update_setting | Change a machine setting |
list_profiles | List available brewing profiles |
get_profile | Get details of a specific profile |
load_profile | Load a profile for brewing |
start_brew | Start brewing with the loaded profile |
stop_brew | Stop the current brew |
tare_scale | Tare the scale to zero |
get_last_shot | Get details of the most recent shot |
search_shot_history | Search 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"