WordPress MCP Setup for Claude Code

The WordPress MCP Adapter plugin exposes a WordPress site as an MCP server. Combined with Automattic’s @automattic/mcp-wordpress-remote package, Claude Code can create and edit posts, manage pages, and interact with WordPress directly from a session.

Architecture

Claude Code
  └── stdio
      └── npx @automattic/mcp-wordpress-remote
              └── HTTPS (Application Password auth)
                      └── WordPress REST API (/wp-json/mcp/...)
                              └── MCP Adapter plugin
                                      └── WordPress Abilities API

Requirements

  • WordPress 6.9+
  • Node.js (installed via nvm)
  • MCP Adapter plugin activated on the WordPress site

Continue reading WordPress MCP Setup for Claude Code

Setting Up Mnemosyne Memory for Claude Code

Mnemosyne is a local-first AI memory system that integrates with Claude Code via MCP, giving Claude persistent memory across sessions.

Why MCP Instead of CLI

The CLI (mnemosyne store, mnemosyne recall) is a manual tool — you run it yourself and paste results back. The MCP integration makes Mnemosyne a first-class tool Claude can call directly, just like any other tool in a session.

Concretely, with MCP:

  • Claude automatically stores and retrieves memories during a conversation without any manual intervention
  • Memory reads and writes happen inline, so context is enriched transparently
  • No copy-pasting: Claude calls mnemosyne_remember or mnemosyne_recall the same way it calls any other tool

The CLI remains useful for inspection (mnemosyne stats), backup (mnemosyne export), and manual management — but it is not a substitute for the MCP integration when Claude is the one that needs to remember things.

Continue reading Setting Up Mnemosyne Memory for Claude Code

Connecting WordPress MCP via Tailscale

Most guides for connecting AI assistants to a self-hosted WordPress site via MCP suggest using Cloudflare Tunnel or ngrok to expose the site publicly. This works, but it also reintroduces infrastructure layers that can interfere with MCP: WAFs, bot-fight rules, page caches, and host-level rewrites that intercept REST API requests before WordPress ever handles them.

A cleaner alternative, if your machines are already on Tailscale: skip the public internet entirely.

Continue reading Connecting WordPress MCP via Tailscale

When Security Becomes Friction for Meralco Online

Meralco is a good example of a company overdoing online security in places where the actual risk is low.

Meralco is a utility company. It is not a bank, an e-wallet provider, or a financial institution holding customer funds. The information it needs to protect—customer name, service address, and billing amount—is important, but it does not carry the same risk profile as banking credentials or stored monetary value. The security approach should reflect that difference.

Continue reading When Security Becomes Friction for Meralco Online

n8n alternatives

I recently discovered that there are a few solid, self-hosted alternatives to n8n. Here’s a quick comparison of their GitHub stars and key features (as of Nov. 26, 2025):

Platform GitHub Stars Self-hosted Focus / Best Use Case
n8n 159k ✅ Yes General-purpose workflow automation with powerful code node. Ideal for complex multi-service automations and ETL tasks.
Activepieces 19.3k ✅ Yes Low-code/no-code automation with occasional custom JS support. Good for lighter, simpler workflows.
Windmill 15.2k ✅ Yes Developer-centric automation using scripts (Python/TypeScript/Go). Great for internal tools and backend workflows.
Automatisch 13.4k ✅ Yes Simplified Zapier-style automation. Best for small, straightforward tasks when ease and self-hosting matter.

Summary: n8n remains the most powerful and versatile, while Activepieces and Windmill offer lighter or more code-centric alternatives. Automatisch is best if you just need simple self-hosted automations.

WordPress Lost Its Soul

What happened to WordPress?

The whole ecosystem—themes, plugins, and even the support culture—has turned into a marketplace. Everywhere you go, there’s an upsell. Basic features sit behind paywalls. And if you just want to build a straightforward blog, the experience is frustrating.

Finding a minimalist theme with a clean two-column layout, no widget blocks, no theme blocks, no Gutenberg clutter, and no upgrade prompts used to be easy. Now it feels like searching for something that shouldn’t be rare. Most themes are bloated with builders, bundled features, and aggressive pro-version hooks.

The open-source spirit that made WordPress welcoming has given way to commercial noise. WordPress is still free at its core, but the culture around it has shifted. For someone who simply wants a clean, honest blogging theme, it’s hard not to feel like WordPress has lost its soul.

Navigating the Challenges of Mobile Payments: A Lesson from GCash Spam SMS

Paying bills has never been easier, thanks to the advent of mobile payment solutions like GCash and Maya. However, my recent experience with GCash highlighted a significant issue that needs addressing.

The Issue with Spam SMS

Recently, I was paying for my Globe Postpaid plan and decided to use GCash for the transaction. However, in the past few days, I’ve been inundated with spam marketing SMS from GCash. The frequency and irrelevance of these messages were frustrating, so I decided to block GCash in my Google Messages app.

The Unintended Consequence

When I attempted to pay my bill via GCash, I didn’t receive the OTP (One-Time Password) required to complete the transaction. It quickly dawned on me that GCash was blocked, preventing the OTP from coming through. I unblocked GCash temporarily, but the OTP still took too long to arrive. This delay was unacceptable, especially when trying to complete a time-sensitive transaction.
Continue reading Navigating the Challenges of Mobile Payments: A Lesson from GCash Spam SMS

Embracing Text-Based Content: Efficiency and Clarity in Digital Learning

In a digital landscape dominated by videos, sometimes simplicity and speed are all you need. Leo Laporte, the Tech Guy, once lamented the frustration of clicking on a video only to wade through minutes of unnecessary intros and prompts to like, subscribe, and hit the bell icon.

Consider scenarios where you’re in a quiet environment or simply prefer to read instructions quickly. Opening a video might not always be practical or preferred. This blog focuses solely on text-based content, ensuring you can access information swiftly and without distraction. Continue reading Embracing Text-Based Content: Efficiency and Clarity in Digital Learning

Why You Should Avoid Installing Obsidian via Snap on Ubuntu

If you’re an Ubuntu user and have installed Obsidian, the popular note-taking app, using the Snap package, you might have encountered an unexpected inconvenience: when opening links from your notes, they launch in a separate browser profile labeled as ‘Profile 1’. This profile is distinct from your default browser profile, complete with its own set of cookies, bookmarks, and extensions.

This behavior can be frustrating, especially if you’re used to seamlessly integrating your browsing experience with your notes. Here’s why this happens and what you can do about it:

Understanding the Issue: Snap Package Peculiarities

Snap packages are known for their sandboxing approach, which aims to enhance security by isolating applications and their dependencies from the rest of the system. While this isolation can be beneficial for security reasons, it also means that applications installed via Snap may behave differently compared to their counterparts installed via other methods like Flatpak or .deb packages.

One notable difference is how Snap handles application interactions with the system, such as opening external links. In the case of Obsidian installed via Snap, opening links from within your notes triggers the opening of your default browser in a separate profile. This ‘Profile 1’ is independent of the profile you typically use for your browsing activities, resulting in a disjointed user experience. Continue reading Why You Should Avoid Installing Obsidian via Snap on Ubuntu

House of the Dragon Season 1 Recap: Everything You Need to Know Before Season 2

Introduction

As we eagerly anticipate the release of “House of the Dragon” Season 2, it’s essential to revisit the intricate and dramatic events of Season 1. The series, a prequel to the acclaimed “Game of Thrones,” plunges us into the tumultuous history of House Targaryen, nearly 200 years before the rise of Daenerys Targaryen. Season 1 masterfully sets the stage for the epic civil war known as the Dance of the Dragons, a conflict that threatens to tear the Targaryen dynasty apart. Through political intrigue, personal betrayals, and spectacular dragon battles, the first season captivates and prepares us for the storm that is about to unfold. Continue reading House of the Dragon Season 1 Recap: Everything You Need to Know Before Season 2