Skip to main content

GitOps Notes: Building a Knowledge Base with Git and MCP

· 3 min read

While working on my GitOps blogging platform, another idea clicked into place.

I've wanted to organize my notes for years. Like most developers, they're scattered everywhere:

  • text files;
  • OneNote;
  • random Markdown documents;
  • Discord messages;
  • ChatGPT conversations;
  • scraps of paper;
  • and the occasional "I'll remember this later."

I never do.

Then I realized I already built most of the solution.

The Idea

Instead of another note-taking application, make Git the source of truth.

Every note is simply a Markdown file stored in a repository.

The interface isn't a notes application.

The interface is MCP.

Instead of opening a program and deciding where something belongs, the interaction becomes natural:

"Save this as a note."

"Append this to today's development log."

"Add this to the Automator project."

"Store this as a future blog idea."

The MCP server handles everything else.

  • Creates the Markdown file if necessary.
  • Adds front matter.
  • Organizes folders.
  • Commits the changes.
  • Pushes them to Git.
  • Optionally opens a pull request.

The user never has to think about file management.

Repository Structure

notes/
├── inbox/
├── daily/
├── projects/
├── ideas/
├── references/
└── archive/

Nothing exotic.

Just Markdown.

Just Git.

Why Git?

Because Git already solves problems note applications keep reinventing.

  • Version history
  • Synchronization
  • Branches
  • Backups
  • Offline editing
  • Collaboration
  • Pull requests
  • Conflict resolution

Developers have trusted Git for decades.

Why shouldn't it manage knowledge too?

Where MCP Changes Everything

The repository isn't just storage.

It becomes an AI knowledge base.

Expose the repository through an MCP server and suddenly every compatible AI client can ask questions about everything you've ever written.

Instead of browsing folders, you ask:

  • "What ideas have I had about the Game Engine?"
  • "Show every note mentioning RabbitMQ."
  • "Summarize everything I know about local AI models."
  • "Find every business idea involving subscriptions."
  • "What decisions have I already made about my blog platform?"

Your notes stop being files.

They become searchable knowledge.

Even Better...

This integrates perfectly with the GitOps blog workflow.

A simple pipeline could become:

Voice Note


Markdown File


Git Commit


MCP Knowledge Base


AI identifies blog-worthy content


Draft blog post


GitHub Pull Request


Review


Publish

Ideas naturally evolve into documentation.

Documentation evolves into articles.

Articles become published content.

Nothing is copied.

Nothing is rewritten.

Everything starts from the same Markdown file.

The Long-Term Vision

Initially, this doesn't need anything complicated.

Just:

  • Markdown
  • Git
  • An MCP server

That's enough to create a searchable personal knowledge base.

Later, additional capabilities can be layered on top:

  • Full-text search
  • Semantic vector search
  • Automatic backlinks
  • Related notes
  • AI summaries
  • Cross-project references
  • Automatic blog post suggestions

Each feature builds on the same foundation.

A Pattern Emerging

This is the same pattern appearing across nearly every project I'm building.

Git becomes the source of truth.

MCP becomes the interface.

The application becomes optional.

Whether it's a blog, documentation, notes, specifications, or project ideas, they're all just repositories that AI can understand.

Perhaps the most interesting realization is that I wasn't trying to build a note-taking application at all.

I was accidentally building a personal knowledge operating system.