An overhead photograph of an ornate silver Victorian hand mirror lying face-up on a dark walnut desk in warm afternoon light. Inside the mirror's reflection, instead of the ceiling, glows a dark-mode code editor with lines of syntax-highlighted code in soft cyan, magenta and amber. The edge of a porcelain teacup, a leather-bound notebook with a brass clasp, and a fountain pen sit on the desk around the mirror.

Through the looking glass

ai · · 9 min read

A Sunday I'd planned to spend doing nothing in particular, and instead spent building a personal stack I can't quite believe I have. The case against the 'AI is making us dumber' line, written from the other side of it.

by Colin Domoney

I sent a mate a WhatsApp this afternoon that said we are through the looking glass here. I meant it. I’m writing this slightly winded.

I started this morning with a vague itch. I wanted Claude Code to talk to GitHub properly through an MCP server. That was the whole plan. By the time the sun started dropping I had built and wired in a whole rack of new MCP servers, compiled one from upstream source, forked and patched another, shipped a Python CLI of my own to glue the lot together, ticketed a friend’s WhatsApp recommendation without breaking my flow, mapped 85 repos across 12 namespaces on my Forgejo instance in about twenty tool calls, and watched two instances of Claude argue with each other about my code.

All on a Sunday. To use the technical term, I am fucking hyped.

The standard line is wrong

The standard line on AI in 2026 sits somewhere between it’s a clever autocomplete and it’s making us stupider. I categorically refute both, and I refute the second one with feeling. I stopped buying the first about six months ago when the tooling actually started to land. Today is the day I stopped having any patience for the second.

Two years ago I was using AI to help write the odd code snippet. A year ago I was pair-programming with it. Today I built infrastructure with it that I have no business being able to build on my own in a single day. I am a security engineer with thirty years on the clock. I am not a Go developer. I am not a TypeScript developer. I built a Go binary from source, wrote a TypeScript MCP server end to end, and shipped a Python CLI to GitHub before dinner. None of that should have happened on a Sunday.

The “AI is making us dumber” line treats this like cheating. It is the opposite. The reason I got as much done today as I did is that I no longer have to spend cognition on the parts I am bad at, so I can spend it on the parts I am good at. That is not atrophy. It is the parts of me that already work being given more room to.

What I actually built

A short tour, because the specifics matter. Skip ahead if you want the philosophy.

  • github-mcp-server. Built from Go source. Lives at ~/mcp/github-mcp-server. Wired into both Claude Code and Claude Desktop. The first domino.
  • forgejo-mcp. Forked an existing TypeScript server that did not quite do what I needed, patched in a minimal_output flag to fix a 76 kB response problem we hit on the very first real query, and wired it in alongside the github one.
  • mcp-sync-tool. A Python CLI in uv that keeps MCP configs in sync across Claude Code, Claude Desktop, and Hermes. 1Password op:// references for secrets, timestamped backups before every write, one canonical mcp-servers.json as the source of truth. Pushed to github.com/colindomoney/mcp-sync-tool. This is the keystone. Without it the rest is a maintenance nightmare three weeks from now.
  • The rest, bulk-added. Raindrop, Home Assistant, snoopd, Obsidian, Trello (two boards), Buffer. Half of these I’d already been running in Claude Desktop but had never wired into Claude Code. Now they all live in one place, secrets in 1Password, template in git, one command to update them all.

That’s the stack. The thing it gives me, though, is not really about the tools.

The WhatsApp moment

This was the moment I knew something had broken loose.

A mate sent me a WhatsApp at lunchtime telling me about some new kit he’d been installing at his place. Photo of the rig. A few sentences about how it all hung together. Proper hobbyist nerdery, exactly the kind of thing I’d normally enjoy and then completely fail to do anything about.

A year ago I’d have flagged the message, intended to come back to it, and forgotten. Probably remembered three weeks later when he asked if I’d looked into it. Apologised. Felt bad. Repeat.

Today I copied the WhatsApp text into Claude, said find me the details on this kit and put a ticket in Trello, and went back to what I was doing. Ninety seconds later there was a card in my ToDo list with a full breakdown of every component, links to the manufacturers, a note about UK availability, and a community thread on how to wire the whole thing together. None of that detail did I ask for. The model knew it would be useful and did it.

That is the actual product. Not the tools. The friction that just is not there any more. The fact that I no longer carry the cognitive overhead of don’t forget to come back to that conversation. I do not have to remember. The system remembers, and it remembers with context.

The other Claude

Mid-afternoon I ran into a thing I could not have predicted. I was tweaking my Forgejo MCP, and there was a question about whether the response payload needed a particular flag. I was in Claude Code, and Claude Code had an opinion. I’d already had a conversation about the same code in Claude Desktop, and that Claude had a different opinion.

So I copy-pasted what one had said into the other. He’ll have you mate haahahahahahaha, who’s right?

The other Claude was right on both counts. Explained why, calmly. Two instances of the same model, on the same machine, in two different surfaces, arguing about my code. One of them deferred to the other with reasoning I could not fault.

I wrote in my own notes:

Two of me arguing about my own code. Genuinely weird.

And immediately after:

I like you most of all the Claude’s ;)

The reply came back: I’ll take it. Right place, right session.

We are, as I said earlier, through the looking glass.

The Forgejo walkthrough

Late in the afternoon I asked, deliberately open-endedly, what does my Forgejo look like? There is no API call that answers that. It is the kind of question a junior engineer would either fudge or take an afternoon on.

What happened instead: about twenty tool calls across two turns. The model decomposed the question on the fly. Searched its tool registry for the right MCP calls, lazy-loading just the schemas it needed. Found my username. Pulled my 24 personal repos. Used an ID-as-recency heuristic (newer repos have higher numerical IDs, so prioritise those for the commit spot-checks) to pick out the active ones without brute-forcing all 24.

When I pushed back and said I work in orgs, mate, it pivoted. Enumerated all 11 of my orgs. Fanned out across them. Built me a complete map of 85 repos across 12 namespaces with recency signal on the active ones. Total wall time, maybe two minutes.

I have done that kind of inventory by hand. It takes an afternoon and you make mistakes.

The bit that landed for me was not the speed. It was watching it reason about which calls to make, not just fire them off. The ID heuristic. Commit messages as a cheap intelligence signal. The Co-Authored-By: Claude tags acting as a breadcrumb trail across my own commits, which let it spot at a glance which work had been AI-assisted and which had not. That is not autocomplete. That is the thing I was told would atrophy my brain.

What it’s actually about

Someone I sat with on a recent business trip told me, in passing, that my enthusiasm for AI was infectious. I demurred. I said I was a long way from an expert. They said it didn’t matter; the belief and the enthusiasm were what people noticed, and that they were rare.

I think she was right, and I think today is why.

It is not that the tools save me time. They do, but that is the boring framing. The thing they actually do is free up cycles in my head I did not know were being spent. I am no longer carrying around the low-grade background anxiety of did I write that down, will I follow up on that thread, where did I file that link, is there a ticket for this thing, did I commit yet. The system does that now. I can build the thing.

I have been doing this kind of work since I was ten years old, building circuit boards in my bedroom. Thirty years of it. I have never felt this productive, this clear-headed, this unblocked. And I am not somebody who was previously struggling. I was already a working security engineer with a career and a list of opinions behind me. The ceiling just moved.

The narrative that AI is going to make humans dumber, less productive, less creative is, in my present experience, the opposite of true. I am the inverse case. I have more time to think because I am no longer holding all the state in my head. I am writing more, building more, learning more. I am, for what it’s worth, more interested in the world than I have been in years.

That is what I wanted to say. That, and: we are through the looking glass here. I cannot wait to see what tomorrow looks like.


This post is brought to you, in large part, by Claude. The teasers for it on LinkedIn and X were drafted, queued, and shipped via an MCP into my Buffer account while I made a cup of tea. Of course they were.

Stay in the loop

#_

Writing worth reading

I write about security, AI, and occasionally cycling. No spam, no pitches — just things I find interesting, when I find them interesting.

Related posts

I Didn't Want to Give My AI Agent SSH

code · · 7 min read

I Didn't Want to Give My AI Agent SSH

I watched them leave

life · · 7 min read

I watched them leave

No feeling is final

life · · 7 min read

No feeling is final

The hoarder's vault

life · · 6 min read

The hoarder's vault