MCP servercom.shotpulled/shotpulled
Espresso dialing: log a shot, say how it tasted, get one change in your grinder's own clicks.
Overview
Score?
UNRATED 0.776
of what a free look can see, on 25 looks
Looks
31
last 16 hr ago
Tools
44
changed 16 hr ago
More info
URL
mcp.shotpulled.com/mcp
streamable-http
Says it is
shotpulled 1.3.6
protocol 2025-06-18
In the record since
29 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.776 · highest on record 0.8561
Toolsfrom sha256:100d93165b…c46cf1 · +0 −0 16 hr ago
| Tool | Schema |
|---|---|
| compute_age Compute a bag's age in days off roast and its resting/staling verdict — the coffee's current bag by default, or the bag named. |
input · output |
| delete_shot Delete a logged shot from history. Restores the bean's remaining weight (which is derived from logged doses). Hard delete — there is no undo. To fix a mistake on an otherwise-valid |
input · output |
| diagnose_preview Sandbox-only diagnosis, writes nothing (no verdict, no recommendation-trail entry). Two modes: pass shot_id to dry-run a LOGGED shot (optionally overriding its sensory_tags — the " |
input · output |
| diagnose_shot Evaluate shot metrics to provide ranked hypotheses (C6) and warn on flip-flops (G2) or fatigue (G6). Resolves the SHOT's own bean — age computed at the shot's pulled_at — never the |
input · output |
| get_dial_state Retrieve current dialing state, active context, recent shots, recommendations, and locked recipes. |
input · output |
| get_kb_version Retrieve the current version of the knowledge base. |
input · output |
| get_maintenance_guides Step-by-step maintenance guides — tools, supplies, steps and warnings, in our own words with the maker's documents as sources. With no arguments, every guide for the user's current |
input · output |
| get_rule Retrieve the detailed text of a specific rule from the knowledge base by its rule ID. |
input · output |
| get_stats Get compact flat usage stats for a grinder, machine, or bean. |
input · output |
| grinder_math Determine steps/clicks difference and directions between setting labels (C3). |
input · output |
| kb_changelog Retrieve the changelog showing updates and version differences for the knowledge base. |
input · output |
| list_beans List the coffees registered for the account, with status filter. Each coffee carries its bags[] (every purchase, with its own freshness and grams left) and current_bag_id; the row' |
input · output |
| list_grinders List grinders registered for the account, with status filter. The `id` on each row is the number this account knows that record by, counting from 1 — safe to show, and what other t |
input · output |
| list_machines List machines registered for the account, with status filter. The `id` on each row is the number this account knows that record by, counting from 1 — safe to show, and what other t |
input · output |
| list_maintenance_due What maintenance is due across the user's current grinders and machines, most urgent first — for "is anything due?". Only tasks with an interval compete: a task the machine counts |
input · output |
| list_recipes List recipes (all or filtered by equipment and status). The `id` on each row is the number this account knows that record by, counting from 1 — safe to show, and what other tools e |
input · output |
| list_scales List registered scales for the account. The `id` on each row is the number this account knows that record by, counting from 1 — safe to show, and what other tools expect back. |
input · output |
| list_shots List shot history with support for pagination and filtering. Every shot carries a derived taste_pending flag (1 = logged with no sensory tags, no rating, and no tasted flip — the t |
input · output |
| list_waters List registered waters for the account. The `id` on each row is the number this account knows that record by, counting from 1 — safe to show, and what other tools expect back. |
input · output |
| lock_recipe Lock a successful shot as the reference dialing recipe for this equipment profile. It overwrites the recipe already locked for the same coffee, grinder, machine, program and drink |
input · output |
| log_maintenance Log a cleaning or maintenance job against a piece of equipment. A task that takes the thing apart opens a calibration epoch, and every recipe locked before it is read through that |
input · output |
| log_recommendation Log a recommended dialing change to allow contradiction/oscillation checking (G2). |
input · output |
| log_shot Log an espresso or alternative shot/brew attempt. Uses the active context (bean/grinder/machine/program) unless overridden via bean_id/grinder_id/machine_id/program_id — ALWAYS pas |
input · output |
| merge_beans Fold one coffee into another when the same coffee was registered twice. Every bag, shot, recipe and recommendation of from_bean_id moves to into_bean_id; the active coffee follows |
input · output |
| register_bag Register another bag of a coffee that is already in list_beans — the same roaster's product, bought again. It keeps the coffee's recipes, notes and history; only the purchase facts |
input · output |
| register_coffee Register a coffee that is NOT yet in list_beans, together with its first bag. It does not switch a coffee in use: it becomes active only when no coffee is in use (none active, or t |
input · output |
| register_grinder Register a manual or electric grinder with its dial settings scheme. It becomes the active grinder only when no grinder is in use (none active, or the active one archived); otherwi |
input · output |
| register_machine Register an espresso or alternative preparation machine. It becomes the active machine only when no machine is in use (none active, or the active one archived); otherwise call set_ |
input · output |
| register_program Register a programmed shot button on a machine. A program cuts the shot off either by weight (program_type "volumetric", set target_volume_g) or by time (program_type "timed", set |
input · output |
| register_scale Register a brewing scale — the instrument that weighs the dose and the yield. |
input · output |
| register_water Register a custom or commercial water formulation. |
input · output |
| set_active Switch the active bean, grinder or machine for this account. The numbers come from list_beans, list_grinders and list_machines. Registering a coffee, grinder or machine makes it ac |
input · output |
| set_equipment_archived Archive or restore a grinder, machine, water, or scale. |
input · output |
| set_grinder_position Set the current grinder collar position. source="measured" resets verification freshness. It replaces the stored position; no history of earlier positions is kept. |
input · output |
| set_maintenance_offset Record how far a maintenance job moved the reference, on an entry that opened a calibration epoch. Takes an ENTRY, not a piece of equipment: the offset belongs to the event that ca |
input · output |
| set_maintenance_schedule Set the user's own schedule for one maintenance task on one grinder or machine: their own interval, switching it off, or muting the reminder until a date. Only the keys you send in |
input · output |
| suggest_next_step Retrieve the single next experiment step from the reasoning engine. |
input · output |
| update_bag Change bag-level facts on one bag of a coffee: open, seal, freeze, thaw or finish it, correct its roast date, weight, grams left or price. Bag numbers come from the bags[] on list_ |
input · output |
| update_bean Update a coffee's own fields (roaster, origins, roast level, rest window, notes, rating…). Bag-shaped fields sent here (state, roast_date, bag_weight_g, grams_remaining, cost…) lan |
input · output |
| update_grinder Correct a registered grinder — its name, burrs, collar scheme, nominal step, layout, range or notes. Only the keys you send in fields change; send null to clear an optional field ( |
input · output |
| update_machine Correct a registered machine — its name, control type, prep type and style, basket, boiler, accessories or notes — or record where its selectors stand (settings). Only the keys you |
input · output |
| update_scale Correct a registered scale — its type, resolution, capacity, capabilities, build or notes. Only the keys you send in fields change; send null to clear an optional field (an empty s |
input · output |
| update_shot Correct fields on an already-logged shot in place — no need to delete and re-log. Use for fixing a wrong dose/yield/time or grind label, re-filing a shot onto the right bean (bean_ |
input · output |
| update_water Correct a registered water — its name, type, mineral figures or notes. Only the keys you send in fields change; send null to clear an optional field (an empty string also clears a |
input · output |
Verify it yourself
npx teppi-check https://mcp.shotpulled.com/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1RE4RRDRKTRR64X9DC7EDW5