Back to all posts

From Scribbles to Structured Notes: Solving My Handwriting Problem with Claude and MCP

I've recently started exploring MCP (Model Context Protocol) servers, and honestly, they've blown my mind. My first taste was with the Playwright MCP server, which I used to write new E2E tests and fix broken ones. I'd heard about MCP before but hadn't really experienced it—it wasn't until I dove in with Claude and Claude Code that the penny dropped.

For the uninitiated: MCP servers are like giving your AI assistant actual hands. Instead of just talking about what it could do, Claude can now directly interact with your tools—run tests in Playwright, create notes in Obsidian, query databases, whatever. It's the difference between describing how to cook and actually being in the kitchen with the ingredients.

But this post isn't about testing. It's about how I accidentally solved a problem I didn't even know I had, using a combination of old-school note-taking and cutting-edge AI tooling.

The Reddit Rabbit Hole That Led to Gold

After my Playwright success, I was hooked. I started hunting on Reddit for other useful MCP servers, but came up mostly empty. The MCP ecosystem is still pretty new, and finding quality servers felt like searching for needles in a haystack.

Then I struck gold: glama.ai/mcp/servers. This site is basically the App Store for MCP servers—you can browse, search, and rank them by relevance and popularity. Total game changer.

glama.ai homepage showing the MCP servers directory with filtering and ranking options

The Obsidian MCP server immediately caught my eye. Now, here's where it gets interesting...

My Analog Plot Twist

I used to be an Obsidian user. Not a power user by any means, but I had a decent setup—bunch of notes, properly tagged, linked together with backlinks, the whole knowledge graph thing. Past tense. Because recently, I went full hipster and started handwriting all my notes. Got myself a fancy notebook (actually, two), a nice pen, the whole aesthetic. There's something deeply satisfying about putting pen to paper that no app has managed to replicate.

A photo of my notebooks

But here's the problem with handwritten notes: they're stuck in analog land. Can't search them. Can't link them. Can't back them up to the cloud. They just... exist.

The "Holy Crap, This Might Actually Work" Moment

Then it hit me: I'd seen AI do some pretty impressive handwriting recognition. My handwriting is basically doctor-level illegible, but what if...?

So I went on a photography spree. Started snapping photos of weeks worth of notes—work stuff, personal projects, random thoughts, everything. Quick tip: Claude's mobile app only lets you upload 5 images at a time, but on desktop you can do 10. (Yes, I learned this the hard way.)

Claude interface

I uploaded the first batch and simply asked Claude to transcribe them. While Claude was busy decoding my chicken scratch, I figured I might as well set up that Obsidian MCP server I'd spotted earlier.

Setting Up the Magic Pipeline

The setup was surprisingly straightforward. But first, an important security note: I created a brand new, empty Obsidian vault for this experiment. The MCP server gets pretty extensive permissions over your Obsidian vault—it can read, write, and modify your notes. Since I'm still exploring and these are obvious privacy and data integrity concerns, starting with a fresh vault seemed like the wise choice. You might want to do the same until you're comfortable with how it all works.

With that out of the way, here's the setup. First, install the server:

npm install -g obsidian-mcp-server

Full instructions are on the obsidian-mcp-server page, but here's what tripped me up:

After installing, you need to add the MCP configuration to Claude's config file:

"obsidian-mcp-server": {
  "command": "node",
  "args": ["/path/to/obsidian-mcp-server/dist/index.js"],
  "env": {
    "OBSIDIAN_API_KEY": "your_api_key_here",
    "VERIFY_SSL": "false",
    "OBSIDIAN_PROTOCOL": "https",
    "OBSIDIAN_HOST": "127.0.0.1",
    "OBSIDIAN_PORT": "27124",
    "REQUEST_TIMEOUT": "5000",
    "MAX_CONTENT_LENGTH": "52428800",
    "MAX_BODY_LENGTH": "52428800",
    "RATE_LIMIT_WINDOW_MS": "900000",
    "RATE_LIMIT_MAX_REQUESTS": "200",
    "TOOL_TIMEOUT_MS": "60000"
  }
}

I stuck with all the defaults here. In the future, I might explore tweaking the content lengths and timeouts, but honestly, the defaults worked perfectly for my use case.

Two gotchas here:

  1. The API key: You need to install the Local REST API plugin in Obsidian first. The key shows up in the plugin settings.
  2. The path to obsidian-mcp-server: Mine was buried at /Users/username/.nvm/versions/node/v20.19.2/lib/node_modules/obsidian-mcp-server/dist/index.js because I use NVM. Your mileage may vary.

Obsidian settings showing the Local REST API plugin with the API key visible

The Transcription Was... Surprisingly Good?

By the time I'd finished wrestling with configuration files, Claude had already transcribed several pages. And I'm not gonna lie—I was impressed.

It handled:

  • My questionable handwriting (seriously, it's bad)
  • Technical jargon and abbreviations
  • Context clues when things were ambiguous
  • Even my weird notation system for different types of notes

From Chaos to Cosmos

Here's where it gets really cool. With the Obsidian MCP server configured, I gave Claude this simple prompt:

"Write the notes to obsidian. Make 1 note per day. Start by creating an 'index' note, which will contain references to each of the day's notes. Also tag the notes with tags that make sense"

Claude asked for permission to use the Obsidian MCP functions (specifically obsidian_update_content), and then... magic happened.

Claude's permission dialog for Obsidian MCP functions

Within minutes, my scattered handwritten notes had been transformed into:

  • A clean index note linking to all daily notes
  • Individual daily notes with proper formatting
  • Smart tagging (#work, #personal, #ideas, etc.)
  • Consistent structure across all notes
  • Proper markdown formatting
  • Even YAML frontmatter for extra organization

Obsidian vault

The Results Exceeded My Expectations

What I ended up with was better than anything I would have created manually. Each daily note included:

  • Clear date headers and metadata
  • Sections organized by context (work, personal, ideas)
  • Task lists with checkboxes
  • Consistent tagging for easy searching

A beautifully formatted daily note in Obsidian

Now, it wasn't perfect. Claude did miss a sentence or word here and there, so I had to go through and make sure the important bits made sense. Pro tip: I asked Claude to flag any places where it was unsure about the handwriting, which made the cleanup process much faster. Instead of hunting for errors, I could jump straight to the questionable parts and fix them.

The kicker? Despite these minor hiccups, Claude maintained context across different entries. Recurring themes got consistent tags. It was like having a personal assistant who actually understood my brain—one who occasionally needed a bit of clarification, but hey, don't we all?

Why This Matters (Beyond Just Being Cool)

This whole experience crystallized something for me about where we're at with AI tooling:

  1. Analog still has value - The cognitive benefits of handwriting are real
  2. Digital organization is unbeatable - Search, links, backups, the works
  3. AI can bridge the gap - We don't have to choose anymore

The MCP architecture is particularly elegant. Instead of forcing me into a new workflow, it enhanced my existing one. I keep my fancy notebook and pen, but now my notes aren't trapped in analog purgatory.

But here's the real kicker: I can now reference my Obsidian notes directly in Claude conversations and Claude Code sessions. Think about that for a second. My handwritten thoughts from last week can now be instantly accessed by Claude to help with current projects. It's like having a second brain that actually talks to my AI assistant. Need to reference that API design I sketched out? Claude can pull it up. Want to build on that random 3am idea I scribbled down? It's right there in the conversation context.

Practical Tips If You Want to Try This

For the handwriting capture:

  • Good lighting is your friend
  • Make an effort with legibility—technical terms especially can get mangled if they're too sloppy
  • Batch your uploads strategically (remember the 10-image limit)

For the MCP setup:

  • Get the Local REST API plugin working in Obsidian first
  • Triple-check your file paths
  • Test with simple operations before going all-in

For the organization:

  • Let Claude suggest a structure, then refine
  • Be specific about your tagging preferences
  • Don't be afraid to iterate—reorganization is easy

The Bigger Picture

This experiment has me thinking about the future of personal knowledge management. We're entering an era where the friction between different information formats is disappearing. Want to sketch on paper? Cool. Need it searchable and hyperlinked? Also cool. Want both? Now you can have both.

MCP servers represent something bigger than just another integration. They're about AI systems that augment rather than replace our existing tools and workflows. That's the kind of AI future I can get behind.

The next step? I'm already thinking about automating this whole pipeline. Imagine uploading photos to a cloud folder and having them automatically transcribed and organized in Obsidian. No manual intervention, just seamless flow from analog to digital. The building blocks are all there—I just need to wire them together.

Now if you'll excuse me, I need to go fill up more pages in my fancy notebook. These blog posts don't handwrite themselves... yet.. Kind of.. Not really 👀.