Developers
MCP server
Grind conversion as a callable tool. Connect it to Claude, ChatGPT or any MCP client and the assistant can work out the setting for the grinder in front of the person asking, instead of quoting a chart for a different one.
https://brewmark.io/api/mcp
Streamable HTTP, JSON-RPC 2.0 over POST. No authentication, no API key, no rate tier — it is read-only and public. The same maths the website runs, so a conversion here and a conversion on a grinder page cannot disagree.
A setting on one grinder translated to the equivalent on another.
One grinder’s full dial-in chart, espresso through cold brew, with usable ranges.
Every supported grinder with its slug. Call this when the user names a grinder in prose.
Add to claude_desktop_config.json:
{
"mcpServers": {
"brewmark": {
"type": "http",
"url": "https://brewmark.io/api/mcp"
}
}
}claude mcp add --transport http brewmark https://brewmark.io/api/mcp
Enable Developer Mode (Plus or Pro), then add a connector pointing at the endpoint above.
curl -X POST https://brewmark.io/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://brewmark.io/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
"name":"convert_grind_setting",
"arguments":{"from":"comandante-c40-mk4","setting":18,"to":"baratza-encore"}}}'There is a plain REST equivalent too, if you would rather not speak JSON-RPC: /api/v1/convert?from=…&setting=…&to=…
Where the numbers come from
Every grinder is mapped onto a shared 0–100 grind index — 0 espresso-fine, 40 filter, 100 coarsest — from five reference points per model. Those come from the manufacturer’s published grind chart where one exists, and from what experienced users report where it does not. They are a starting point, not a measurement: burr wear, bean density and roast level all move the target, which is why every answer carries a range as well as a number.