Observant followers of my Twitter may at this point realize that I've been trying to learn math beyond a grade-school level recently. That's why I created Flashcards MCP, a tool for using Flashcards directly in Claude.
Flashcards MCP has been tremendously helpful for me so far. Here's how I use it:
Find some concept or area of math I want to understand. For example, I was recently reading an article about the analogy between spacetime geometry and the structure of qualia, which mentioned "gauge freedom":
Open a Claude or ChatGPT conversation, and ask it to explain the concept. I had seen terms mentioned relating to "gauge theory" as well as "fiber bundles" many times in the previous days, and so I had a lot of curiosity about those concepts:
Realize that it's many levels above my current understanding of mathematics. Ask about one of the prerequisite concepts mentioned which seems like it's more on my level. In this case, I asked about "invariance":
Keep chatting with Claude until I get it: putting things into my own words, getting corrected, getting Claude to try different ways to phrase the concept, asking for problem sets, trying to solve them, etc. until I feel I have a firm grasp of the concept.
Here's a fun sequence of me trying to understand what Claude means when he says:
|ψ|² is invariant under U(1)
First, I tried to get clarity on a sentence that made no sense and that's how I discovered what U(1) means:
Then I try to connect it to terms we've previously covered:
Then, I'm confused about what it means for |ψ|² to be invariant under U(1), since |ψ|² is scalar in ℝ¹ but U(1) is a group in S¹. It didn't make sense to me that you could transform |ψ|² in U(1) - those are of two different types! I ask again:
Finally, we hit on the crux of the misunderstanding: when math people say "|ψ|² to be invariant under U(1)", they mean "|ψ|² doesn't change if you change ψ in U(1)". That makes sense since U(1) essentially means rotation, and ψ is a complex number (which means you can rotate it around the origin). What that statement means is "the length of ψ doesn't change if you rotate it". And that's clearly true!
Then after this very long conversation (which covered many more concepts than I cared to capture screenshots for), I asked him to create flashcards for me, via the MCP server. At this point Claude has all the knowledge about which parts I find trivial and which parts I find difficult or confusing, and he can customize both the question and the answer on the flashcard to reflect that.
Most importantly, this requires no executive function on my part. I simply ask him to create flashcards for me, and Claude handles the rest:
Then, in another session, I can ask Claude "let's do math flashcards" and he'll ask the MCP server which ones are due for review today:
As he asks the questions on the cards, I then write out a full answer to him. This is way better than self-judging flashcards, because:
- Claude can correct me if I'm wrong
- The act of writing something down always makes it clear if you have holes in your thinking
- Claude can help me judge whether the card should be marked as Easy / Good / Hard / Wrong
The coolest part is that if I'm confused while doing flashcards, I don't have to exit Anki, then open Claude, and then explain the question. I can just ask right then and there - and Claude has all the context:
P.S. another really cool feature of doing this via an MCP and not its own app, is that the flashcards are persisted across both Claude and ChatGPT, including on my phone: