Content
# Aiden Recipe Generator (MCP)
An MCP server that talks to your Fellow Aiden coffee machine - built entirely with Cursor.
**Send a photo or name of your coffee beans** to Claude, Cursor, or any MCP-compatible tool, and it will:
- Search the internet for brewing recommendations for that specific coffee
- Search a community database of Aiden recipes for similar origins/roasts
- Check your previous brews and feedback to learn what worked
- Look up grind settings for your specific grinder model
- Generate and push a custom brew profile directly to your Aiden
No more manually tweaking every variable in the Fellow app - just show it your coffee and let it figure out the rest.
<img width="732" height="645" alt="ss-aiden" src="https://github.com/user-attachments/assets/3e304182-d40e-4570-ae2c-406f8a140f56" />
## Origin Story
While at the Cafe Cursor event in Prague, I was thinking about what to build with Cursor. Until now I mostly used Claude Code, so I wanted a project from scratch where I could really test Cursor's capabilities.
Then I noticed something in the room that instantly made me happy: they had their own coffee bean bags there from [Terminal](https://terminal.shop).
I'm a bit of a coffee nerd, and I've wanted to try their coffee for a while, but it's basically impossible to get in Europe since they only ship to the US. Turns out they collaborated with Cursor, so I managed to grab a bag of "Cafe Cursor" beans at the event. Instant win.
Then the obvious question hit: **how do I brew this properly?**
There's a recipe on the back of the bag, sure - but if you're into coffee, you know the real fun is dialing in your own recipe. Temps, pours, bloom time, ratios… all the little details.
I use a Fellow Aiden coffee machine, which lets you build fully custom recipes via their mobile app. Super powerful, but it can get pretty time-consuming as you're basically hand-tuning every variable.
So I thought… **what if I let Cursor decide how to brew their coffee?**
What if I used Cursor to build an MCP that talks to my coffee machine (via Cursor) and figures out the best recipe for this "Cafe Cursor" coffee?
So I reverse-engineered the API requests the Fellow mobile app sends to the machine, wrapped it into this MCP server and now I can use Cursor (or Claude) to generate and push custom coffee recipes straight to my brewer.
**Full circle: Cafe Cursor coffee → Cursor → MCP (built by Cursor) → happiness**
## What It Does
- **Web research** - Searches for brewing recommendations for your specific coffee
- **Community recipes** - Searches a database of community Aiden recipes for similar coffees
- **Grind settings** - Looks up recommended grind settings for your specific grinder
- **Profile creation** - Creates and pushes custom brew profiles to your Aiden
- **Memory** - Logs brews and feedback to learn from past attempts
- **User settings** - Remembers your grinder etc.
## Setup
```bash
# Clone this repo
git clone https://github.com/bxxf/aiden-recipe-generator.git
# Install dependencies
bun install
# Add to Claude Code
claude mcp add aiden bun run /path-to-this-repo/src/index.ts
```
## Tools
| Tool | Description |
|------|-------------|
| `auth.login` | Login to Fellow account |
| `auth.status` | Check login status |
| `aiden.listDevices` | List connected Aiden brewers |
| `aiden.listProfiles` | List profiles on device |
| `aiden.createProfile` | Create new brew profile |
| `aiden.updateProfile` | Update existing profile |
| `aiden.deleteProfile` | Delete a profile |
| `sheet.search` | Search community recipes by origin/roast/processing |
| `memory.logBrew` | Log a brew attempt |
| `memory.addFeedback` | Add taste feedback (rating, notes) |
| `memory.findSimilar` | Find past brews with similar coffee |
| `user.getSettings` | Get saved preferences |
| `user.updateSettings` | Save preferences (grinder, device, etc.) |
## How It Works
When you ask to brew a coffee:
1. Checks your saved settings (grinder, default device)
2. Searches community sheet for similar coffees
3. Checks your brew history for past attempts
4. Searches the web for this specific coffee's recommendations
5. Looks up grind settings for your grinder
6. Creates a profile based on all the research
7. Logs the brew for future learning
After you taste it, give feedback and it remembers what worked.
## Limitations
**Can't start brewing remotely** - The Fellow API doesn't expose an endpoint to actually start a brew. The mobile app has the same limitation - you can create and manage profiles, but you have to physically press the button on the machine to start. This is probably intentional (safety, ensuring water/basket are in place, etc.).
Potential workaround: Fellow does support scheduled brews. If the API exposes schedule management, you could theoretically schedule a brew for "1 minute from now". Haven't explored this yet.
## License
MIT