Beeminder 🤝 Claude MCP

Thought I’d share a little tool I built for myself here. It’s an MCP server for Beeminder, built on top of @ianm118’s Python package.

What is MCP and why do I care?

If you haven’t heard of MCP before, think of it as a universal connector that lets AI assistants like Claude directly interact with your Beeminder data. Instead of copying and pasting goal information or datapoints back and forth, MCP creates a secure bridge between the AI and your Beeminder account.

Why is this cool? It means you can have natural conversations with AI about your goals, get help analyzing your progress, and even update your data - all while the AI has direct access to your actual Beeminder information. Want to brainstorm better goal descriptions? Analyze patterns in your data? Get suggestions for adjusting your road based on your history? MCP makes all of this possible by giving the AI direct, secure access to your Beeminder account.

How do I use it?

GitHub - strickvl/mcp-beeminder is the repo you can use to clone the server code. It contains instructions to use it locally. You’ll need to get and set up things on your local end. It’s Mac only and will work with any MCP Client. For most of you this will mean the Claude Desktop app, but if you’re using Cursor as your IDE then you can also add it in there as well.

Here’s a little photo of it in action:

It probably has some unexpected edges, also seems to need a bit of encouragement to present things in tables instead of walls of text (but you can probably fix this by updating your global Claude.ai settings / system prompt and giving it some instructions there).

Let me know if you run into any issues with it and of course feedback is welcomed. I had to try to compress the philosophy of Beeminder in a sort of instructions prompt that you pass in when the server gets initialised, so maybe @dreev has thoughts on how I phrased all that.

9 Likes

Sick!

Lots comes to mind.

I was thinking about some meta-beeminding but was too lazy to actually code to the API. It seems like I could just write a prompt now.

There’s also beeminding the information it can get from other MCP tools. Like I have an MCP server with tools for accessing my todo list and Obsidian notes.

I wanted to make changes to a goal recently that couldn’t be done in the UI, but I’m pretty sure is possible with the API.

This would also let me beemind the conversations themselves. Like occasionally I journal directly into an LLM with a prompt to help me elaborate, and this would let Claude log those sessions, or even things about those sessions.

3 Likes

Nice work! And very cool. Can you create Beeminder goals with it too? It looks like it would work a million times better than using ChatGPT’s new Operator feature:

(Sadly Beeminder’s UI for specifying initial rate hopelessly confused it and got me on the hook for 30 AI notes in the following 5 days :sweat_smile: – I ended up replacing that goal with one for my new AGI Friday newsletter.)

(Thanks to @clarissalittler who tried that first, apparently with more success.)

I’d say you understand Beeminder as well as anyone, and Claude and ChatGPT are pretty spot on just from their own brains already as well.

Claude just now

Me: can you give me the philosophy of Beeminder in a couple sentences?
Claude: Beeminder is a goal-tracking and behavior change tool that combines commitment contracts with quantified self-tracking. Its core philosophy is that by requiring users to put real money on the line that they’ll forfeit if they go off track (called “derailing”), and by showing clear visual feedback through a “yellow brick road” graph of their progress, people can overcome akrasia (acting against one’s better judgment) and stay committed to their long-term goals.

(Couldn’t really have said it better myself, other than it not getting the memo about the Bright Red Line.)

I guess context windows aren’t big enough yet to fit all of help.beeminder.com plus the blog archives in?

2 Likes

Yes you can do anything with it that you can do with the API. so that’s… everything…

2 Likes

The big value I personally see in this:

  • having a sort of coach to notice patterns in the data and be able to reason about it and maybe encourage setting breaks, or updating the goal or whatever
  • scheduling breaks across multiple goals in an easy way that doesn’t have me fiddling with pesky boxes to click through etc
  • thinking through how to best specify a goal before I create it and then moving seamlessly from that discussion into actually creating the goal etc.
  • (plus, when I sort out the MCP server for my tasks, having the overlap between my tasks and BM (which is always a balancing act for me) being managed by Claude will be very freeing.
5 Likes

This is so cool! I have been having difficulty getting it up and running. Are there any basic python related things that need to be set up first? I generally know code because I write a lot of SQL for my job but it’s all in the cloud so I have difficulty with setting up environments and such.

1 Like

I’ll try to add some extra notes to the README instructions. The big problem comes with the fact that there are many different ways to use / install Python, across many different operating systems. It’s impossible / fool’s errand to try to cover everything, but I’ll write a bit about the kinds of things you need to set up and hopefully that combined with Claude should take you the final mile!

2 Likes

Thank you, any extra documentation in the README would be super helpful.

I was able to figure it out. Essentially I didn’t know that the package required python 3.10 and I was using 3.9.

Ha I learned a lot about setting up python getting this to work which has been on my to do list. Thank you @strickvl for the super cool MCP package.

2 Likes

Amazing! And nice work for getting there before me! Python packaging is a pain!