Support
Connecting, how it decides, and account help
How ShotPulled works
Is it free?
Yes. Everything — the phone app, the web dashboard and the AI-assistant connection — is free while ShotPulled grows. If it ever charges for something, it will be for new things, never for what you already have. There is no feed, no streaks and no ads.
The only thing that costs money is the assistant you bring. ChatGPT needs a plan that can install plugins; Claude does not.
Connect an assistant
ShotPulled speaks the Model Context Protocol over one endpoint, and every client below reaches the same one with the same account as the dashboard and the app.
- Server URL:
https://mcp.shotpulled.com/mcp - Sign-in: OAuth 2.1 through Clerk, discovered from the server — leave any client ID and client secret box empty.
ChatGPT
Works on a free ChatGPT account, plus a free ShotPulled account.
OpenAI publishes no plan rule any more: whether you can install a plugin depends on your plan, your workspace, your role and your region, and the Connect button is simply greyed out when one of those is the reason. If it is grey for you, that is what happened, and nothing at this end will change it. (ChatGPT folded its app directory into the Plugins Directory in July 2026, so that is the name you will see.)
- Open ShotPulled in ChatGPT’s Plugins Directory and click Connect.
- Sign in with your ShotPulled account — the same email as the dashboard.
- In any chat, type
@ShotPulledto bring it in. - If ChatGPT shows an approval card before writing, allow it — decline and the conversation looks like it worked while nothing was written. Whether it asks at all depends on your app-permission setting; on a new account with the default, it does not.
Say this first @ShotPulled log 18g in, 36g out, 30 seconds — tasted sour.
Claude, on the web and on the desktop
Works on every Claude plan, Free included — though a Free account can hold only one custom connector at a time.
ShotPulled is not in Claude’s connector directory yet, so it goes in as a custom connector. Five fields, and everything works the same afterwards.
- Open Settings → Connectors in Claude.
- Click Add, then Add custom connector — it is an item inside that menu, not a button on the page.
- Name:
ShotPulled - Remote MCP server URL:
https://mcp.shotpulled.com/mcp - Leave client ID and client secret empty. Click Add, then Connect, and sign in.
Say this first I just opened a bag of Kenya Nyeri AA, roasted on the 12th. Set it up and tell me when it’ll be ready.
Claude on iPhone and Android
Nothing to install — but you cannot add it from the phone.
Anthropic’s own answer, checked on 4 September 2026: a connector you added on the web or the desktop “will be available to use the next time you log in to your account on Claude for iOS or Android”, and installing connectors on mobile is still in beta with web and desktop the primary path. So do the five fields above once on a computer, then sign in on the phone and it is there.
Say this first What should I change on my next shot?
Claude Code and other MCP clients
Any client that speaks streamable HTTP. No key to paste.
Sign-in is discovered from the server (/.well-known/oauth-protected-resource), so a client that supports OAuth will open a browser and finish on its own. In Claude Code that is one command:
claude mcp add --transport http shotpulled https://mcp.shotpulled.com/mcp
Anywhere else, give it the URL above and the transport streamable-http.
Say this first Show me every shot I pulled this week and whether they’re getting better.
“It signed in, but it sees none of my data”
Almost always two accounts. The assistant signed you in with one email and the dashboard is holding your shots under another — usually because one went through Google and the other through a password, or one was created on the phone months earlier. Check the address in both before writing in: Settings shows it on the dashboard, and asking the assistant “which account am I signed in as?” shows it on the other side. Nothing is lost either way, and if the wrong one is the one you have been using, say so in an email and it can be sorted out.
How it decides
The recommendation is not written by a language model. It comes from a versioned, deterministic knowledge base: the same shot on the same bag with the same equipment produces the same answer today, next month, and on somebody else’s account. The assistant does the talking — reading your history back, asking what you tasted, phrasing the reply — but it does not do the deciding, and it cannot talk the engine into a different one.
Every recommendation names the rule it applied, and you can read that rule. Three tools exist for nothing else: get_rule returns the text of a rule by id, get_kb_version says which release of the knowledge base answered you, and kb_changelog says what changed between releases. Ask your assistant “which rule was that, and what does it say?” and it will fetch it. An answer you cannot audit is an opinion; this one has a citation.
The guardrails are enforced on the server, not suggested in a prompt, so no phrasing gets around them. Two worth knowing by name. G1, the state-verification gate: if the engine has only recalled or assumed where your grinder is set, it refuses to dial at all until you measure the collar and say so — a confident number from an unknown starting point is the one failure that wastes a whole bag. G3/G4, no micron fabrication: burr geometry stays internal and absolute micron figures are never emitted, because the honest unit is clicks on your own collar and everything else is a number dressed as a measurement. Alongside them, G2 blocks finer↔coarser flip-flops with no shot in between, which is the machine-enforced half of changing one thing at a time.
Common questions
Does it work with my grinder and machine?
The catalog covers 66 grinders, 124 machines and 17 scales, every entry checked against the maker’s own manual — and anything not in it you can register by hand in about a minute. A hand-registered grinder is a first-class one: you tell it the dial scheme and which way is finer, and it does the click maths from there.
Which scales connect over Bluetooth?
Bookoo, Decent, DiFluid, Felicita, Timemore and Varia — those are the protocols the phone app has actually decoded, which is a shorter list than the scales that merely have a radio in them. Every scale on earth works the other way: type the numbers in. Nothing in ShotPulled needs a connected scale.
Why only one change per shot?
Because two changes tell you nothing: if the next shot is better you don’t know which one did it, and if it is worse you don’t know which to undo. It is the whole method, and it is explained under The rules behind the advice above.
Do I need the phone app?
No. The web dashboard and the assistant are each complete on their own — register equipment, log shots, taste them, lock recipes, read history. The app adds Bluetooth scales, working with no signal, and being in your pocket at the machine.
Is there an Android app?
Yes, free on Google Play, Android 8.0 or later. Same account as the iPhone app, the web dashboard and the assistants, so anything you already logged is there.
What happens to my locked recipes when I clean the grinder?
They survive untouched, and they stop pretending. Only cleans that take the burrs out matter — a backflush is logged the same way and changes nothing. But on a hand grinder the true zero is wherever the burrs touch, and reassembly decides where the printed collar sits relative to it, so a number recorded last week can describe a different gap today.
Log the clean and every recipe locked before it reports its setting as unknown rather than as a number that happens to be wrong. Nothing is rewritten — what you locked is still what you locked, and the reading is worked out through the cleans since, every time it is shown. Measure the collar once afterwards and every one of them comes back.
Skip that measurement on one clean and the chain stays broken through every clean after it: unknown, not approximate. That is deliberate. “Nobody looked” and “measured, and it had not moved” produce identical numbers and opposite amounts of trust, so they are never allowed to look the same.
Can I import from Beanconqueror?
Not yet, and there is no import of any kind today. If you are moving over, the fastest honest path is to register the bags you are actually drinking and start logging forward — the engine needs a handful of shots on your equipment before it has anything to say, and old shots from a different grinder position would not give it that.
Is this “AI”?
The conversation is. The advice is not — it comes from the rulebook described in How it decides, and the assistant is the interface to it rather than the source of it.
How do I delete my account?
Delete account in Settings, on the web dashboard or in the phone app. It is self-service, it erases everything belonging to the account, and it cannot be undone — see Your data and your account below for exports and the rest.
ShotPulled is run by one person, so support is an email address rather than a helpdesk. That also means you are writing to whoever wrote the code — include what you tried and what happened, and the reply will be a real answer rather than a triage number.
- Email: support [at] shotpulled [dot] com
- Typical reply: within two working days. Anything touching account access or data loss is answered first.
- Language: English or Romanian.
What to include
The fastest fixes come from reports that say which surface you were on. Where you can:
- Where: the AI assistant (Claude, ChatGPT), the phone app, or the web dashboard — and which version of the app, from Settings.
- What you asked for and what came back. A screenshot of the whole screen beats a crop.
- When, roughly, with your timezone. Server logs are timestamped in UTC and that is what makes them findable.
- The account email you signed in with, if it is about your own data.
Please do not send passwords or authentication tokens. Nobody here will ever ask you for one — sign-in is handled entirely by Clerk and no password ever reaches our server.
Your data and your account
- Deleting your account is self-service: Delete account in Settings, on the web dashboard or in the phone app. It erases everything belonging to the account and cannot be undone.
- Exporting your data, and any access, correction or restriction request under the GDPR, is handled by hand within 30 days. Email privacy [at] shotpulled [dot] com from the address tied to your account.
- What is stored, where, and for how long is set out in the Privacy Policy.
Reporting a security issue
Email support [at] shotpulled [dot] com with "security" in the subject and it will be read the same day. Please give us a reasonable window to fix anything you find before publishing it. Reports about cross-account data access are the highest priority there is.
Who you are writing to
- Operator: Bacosca Iulian PFA, a sole trader established in Romania (EU)
- Registered office: Str. Ion Câmpineanu nr. 24, Sector 1, București, Romania
- Trade Register: F40/4818/2022 · CUI: 46937352
The Terms of Service cover what the service does and does not promise.