Log a shot, say how it tasted, get one change in your grinder
This listing identifies a third-party MCP server. MCPBundles is not affiliated with, sponsored by, or endorsed by the service or its operator unless stated on this page.
This server may ask you to sign in when your AI client connects.
Last probed Nov 3, 2026 · mcp.shotpulled.com
41tools discovered
For AI agents — MCPBundles Directory API
For MCP client apps (human connect):
MCP connect URL: https://mcp.shotpulled.com/mcp
Skill page: https://www.mcpbundles.com/skills/shotpulled-mcp-3c41731a2f
Explore capabilities (41)
read 5
write 20
Showing 25 of 41
Showing 25 of 41 tools from the public preview. Connect the server to inspect the full live tool list.
Register6
Update6
Set4
List3
Get2
Log2
Other capabilities2
Register a grinder
write
register_grinder
Register a manual or electric grinder with its dial settings scheme.
Register a grinder — Register a manual or electric grinder with its dial settings scheme.
Set grinder position — Set the current grinder collar position. source="measured" resets verification freshness.
Register an espresso machine — Register an espresso or alternative preparation machine.
Archive or restore equipment — Archive or restore a grinder, machine, water, or scale.
Update a 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 (an empty string also clears a text field, but not a number or a closed list). Required fields can be changed but not cleared. fields may be omitted when only reason is sent. setting_scheme, nominal_step and components_spec describe the collar every recorded grind label is read through: call with dry_run first to see wh
Update a machine — Correct a registered machine — its name, control type, prep type and style, basket, boiler, accessories or notes. Only the keys you send in fields change; send null to clear an optional field (an empty string also clears a text field, but not a number or a closed list). Required fields can be changed but not cleared. fields may be omitted when only reason is sent. prep_style decides whether shots on this machine are diagnosed at all: only "espresso" is. Programs are edited with register_program,
Update a 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 string also clears a text field, but not a number or a closed list). Required fields can be changed but not cleared. fields may be omitted when only reason is sent. The three capabilities are 1, 0, or null for "the maker never said"; leave one out rather than sending 0 when nobody knows.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Log a shot, say how it tasted, get one change in your grinder
How do I connect ShotPulled to my AI agent?
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
How many tools does ShotPulled provide?
Operate this server?
Request removal if you do not want ShotPulled listed here, or claim the listing if you want to manage it on MCPBundles.
Operate ShotPulled?
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles publishes this directory for MCP discovery. Except where we host or operate an offering, third-party services run under their own terms. Product and company names on this page are used in a descriptive, identifying way (including under nominative fair use where applicable); they remain the property of their owners. Nothing here grants you rights in those marks, and nothing here is an offer to sell a third party's services. Terms · Request removal
More in developer tools
Other MCP servers in this category from the directory index
— 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 text field, but not a number or a closed list). Required fields can be changed but not cleared. fields may be omitted when only reason is sent.
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 epoch's offset — so record the offset here if you counted the clicks while reassembling, which is the one moment anybody actually knows it. Read the available tasks, their intervals and their due state from list_grinders.
Set calibration 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 caused it, which is what lets several of them compose for a recipe locked before all of them. Zero is a legitimate measurement and means "measured, and it had not moved" — omit offset_value entirely to clear it back to unmeasured.
Register a water recipe — Register a custom or commercial water formulation.
List water recipes — 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.
Register a scale — Register a brewing scale — the instrument that weighs the dose and the yield.
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.
Register a machine 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 target_time_s). One machine can have a mix of both.
Register a coffee — Register a coffee that is NOT yet in list_beans, together with its first bag, and make it the active coffee. The coffee is the roaster's product (roaster, origins, variety, process, roast level, roasting type, cupping score, aromatics, roaster notes, rest window); the bag is this purchase (roast date, weight, price, state). For another bag of a coffee already on file call register_bag instead — it keeps the recipes and notes. Returns bean_id and the first bag's bag_id.
Set active equipment — Switch the active bean, grinder or machine for this account. The numbers come from list_beans, list_grinders and list_machines. Registering something already makes it active, so use this to switch back to something that exists, not after register_coffee.
Update a coffee — 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…) land on the coffee's CURRENT bag — use update_bag when it has more than one. Changing dial_category changes what the engine advises (G5, C10), so say why in the optional note.
Get current dial state — Retrieve current dialing state, active context, recent shots, recommendations, and locked recipes.
Log a 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 pass bean_id explicitly when the user names a specific coffee, so the shot cannot land on the wrong bag. Backdate with pulled_at when the shot happened earlier. When the user reports taste (bitter, sour, harsh, hollow…), include matching sensory_tags — the diagnosis engine reads tags and metrics, not free-text flavor_note
Lock a recipe — Lock a successful shot as the reference dialing recipe for this equipment profile.
Delete a 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 shot, prefer update_shot over delete-and-relog.
Update a 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_id), backfilling rating/tasting notes, or fixing the timestamp (pulled_at). Changing grind_label re-derives the numeric grind position from the shot's grinder; changing yield/time/dose/tds keeps flow rate and extraction yield consistent automatically.
List locked 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 expect back.
Get statistics — Get compact flat usage stats for a grinder, machine, or bean.
Showing the first 25 tools — full list and schemas: Directory API.
MCPBundles probed 41 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
What authentication does ShotPulled require?
ShotPulled may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
Don't want this listed?
Request removal from the MCPBundles directory. We stop publishing this listing on mcpbundles.com.
MCPBundles is an independent platform built on the open Model Context Protocol standard. MCPBundles is not affiliated with, sponsored by, or endorsed by Anthropic PBC.