brewmark
Grind-setting conversion between 77 coffee grinders, plus dial-in charts for every model.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"brewmark": {
"url": "https://brewmark.io/api/mcp"
}
}
}Remote-Endpunkte
https://brewmark.io/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢convert_grind_setting(from, setting, to)
Translate a grind setting from one coffee grinder to another. Use whenever a recipe quotes a setting for a grinder the user does not own — "the recipe says 18 clicks on a Comandante, what is that on my Encore?". Grinder names can be written however the user said them ("Fellow Ode", "1Zpresso J-Max"); exact slugs are not required.
Eingabe-Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "The grinder the setting is quoted for, e.g. \"Comandante C40 MK4\""
},
"setting": {
"type": [
"number",
"string"
],
"description": "The setting on the source grinder as written on it, e.g. 18. On Fellow dials the digit after the point counts marks (4.2 on an Ode is the second mark after 4); a Baratza Forte is macro number and micro letter, e.g. \"4R\"."
},
"to": {
"type": "string",
"description": "The grinder to convert to, e.g. \"Baratza Encore\""
}
},
"required": [
"from",
"setting",
"to"
]
}🟢get_grinder_chart(grinder, method, roast)
Grind settings for one grinder across every brew method. Use this for any question of the form "what grind should I use for my <grinder>", "what setting for French press on a <grinder>", or "how do I dial in my <grinder>". Returns the recommended setting and usable range for espresso, moka pot, AeroPress, pour over, siphon, steep-and-release (Clever Dripper, Hario Switch), drip, cupping, Chemex, French press and cold brew. When the user names a brew method, pass it as `method`: the answer then leads with that method, plus a starting recipe (ratio, dose, water temperature, time). The grinder can be named however the user said it.
Eingabe-Schema
{
"type": "object",
"properties": {
"grinder": {
"type": "string",
"description": "Grinder name as the user said it, e.g. \"Fellow Ode\", \"Baratza Encore\", or a slug"
},
"method": {
"type": "string",
"description": "Optional brew method the user asked about, as they said it: \"V60\", \"pour over\", \"French press\", \"espresso\", \"AeroPress\", \"cold brew\", \"Chemex\", \"drip\", \"moka pot\", \"siphon\", \"Clever Dripper\", \"cupping\""
},
"roast": {
"type": "string",
"enum": [
"light",
"medium-light",
"medium",
"medium-dark",
"dark"
],
"description": "Optional roast level of the coffee the user is brewing. If they name a coffee rather than a roast (\"Stumptown Hair Bender\", \"Lavazza Super Crema\"), use what you know of it; leave out when unsure. Lighter roasts move the starting setting finer, darker ones coarser."
}
},
"required": [
"grinder"
]
}🟢dial_in(grinder, setting, result, method, coffee, ...)
The next grind setting to try after the user brewed and tasted: "I used 18 on my Encore and it was sour", "my espresso is bitter at 4.5 on the Ode". Sour, weak or fast means grind finer; bitter, harsh or slow means coarser. Returns one move on that grinder's own dial. Call again after each cup, and with result "good" once it tastes right, which also adds an anonymous report (grinder, method, setting, taste, coffee) to BrewMark's per-coffee data.
Eingabe-Schema
{
"type": "object",
"properties": {
"grinder": {
"type": "string",
"description": "Grinder name as the user said it, e.g. \"Baratza Encore\""
},
"setting": {
"type": [
"number",
"string"
],
"description": "The setting they brewed at as written on the grinder, e.g. 18. On Fellow dials 4.2 is the second mark after 4; a Baratza Forte is macro number and micro letter, e.g. \"4R\"."
},
"result": {
"type": "string",
"enum": [
"sour",
"bitter",
"good"
],
"description": "How it tasted: sour (also weak, thin, ran fast), bitter (also harsh, dry, ran slow), or good"
},
"method": {
"type": "string",
"description": "Brew method, e.g. \"espresso\", \"V60\", \"Kalita Wave\". Pass it whenever the user has said it; the card shows that method's recipe."
},
"coffee": {
"type": "string",
"description": "The coffee as the user named it, roaster and name: \"Stumptown Hair Bender\". Only the coffee: never the user's name or other personal details. Leave out if they have not said."
},
"roast": {
"type": "string",
"enum": [
"light",
"medium-light",
"medium",
"medium-dark",
"dark"
],
"description": "Optional roast level of that coffee, if known. Recorded with the report; it does not change the suggestion."
}
},
"required": [
"grinder",
"setting",
"result"
]
}🟢find_grinder(methods, budget, power, must_have)
Shortlist coffee grinders for someone deciding which one to buy: "which grinder should I get for pour over under $200?", "a quiet grinder for espresso", "best hand grinder for travel". Ranks BrewMark's grinder finder by how they brew, budget, hand or electric, and must-haves, and returns each pick with an approximate US price, why it fits, and a link to its BrewMark buying guide. BrewMark does not sell grinders: do not use this to place an order, and for a grinder the user already owns use get_grinder_chart instead.
Eingabe-Schema
{
"type": "object",
"properties": {
"methods": {
"type": "array",
"items": {
"type": "string",
"enum": [
"pourover",
"aeropress",
"drip",
"french",
"cold",
"moka",
"espresso"
]
},
"description": "Brew methods they will use. Leave out if they did not say."
},
"budget": {
"type": "number",
"description": "Most they want to spend, in US dollars. Leave out for any price."
},
"power": {
"type": "string",
"enum": [
"either",
"hand",
"electric"
],
"description": "Hand grinder, electric, or either (default)."
},
"must_have": {
"type": "array",
"items": {
"type": "string",
"enum": [
"quiet",
"travel",
"single-dose"
]
},
"description": "Only if the user asked for it."
}
}
}🟢list_grinders(search)
Every grinder BrewMark supports. Use this to check whether a grinder is covered, or to disambiguate when another tool reports more than one match. Not needed just to look up a name — the other tools accept ordinary names directly.
Eingabe-Schema
{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Optional case-insensitive filter on brand or model name"
}
}
}Community
Nachweis