{"slug": "letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access", "title": "Letting Claude maintain WordPress sites without giving it SSH access", "summary": "A developer built PressBridge, a self-hosted MCP server that lets Claude manage WordPress sites over SSH without exposing wp-config.php, the database password, or other sensitive files. Every permission limit is enforced server-side by PressBridge rather than by prompt instructions, so text hidden in plugin readmes or web pages cannot talk the model past them. The free edition is MIT-licensed on GitHub and limited to one site with read-only tools, while a paid edition adds edits with automatic backups, one-call undo, PHP syntax checks, allow-listed plugin, theme and core updates, and a full audit log.", "body_md": "I look after WordPress sites for a living, and lately I've wanted Claude to take over the boring parts: find where a piece of text lives in a theme, fix it, check which plugins need updates, write the monthly care report for the client.\n\nThe two obvious ways to do that both felt wrong:\n\n`wp-config.php` and the database password, and one bad instruction can wipe a client's site.\nSo I built something in between: **PressBridge**, a self-hosted MCP server that sits between Claude and the WordPress site. Claude gets useful tools; the server decides what those tools are allowed to do.\n\nA prompt like \"never read wp-config.php\" is a suggestion. A file that is invisible to the tool is a guarantee. That was the main design rule: every limit is checked by PressBridge before anything runs, so text hidden in a plugin readme or a web page can't talk Claude past it.\n\nIn the free edition, Claude can:\n\n`site_overview` to get the WordPress version and pending updates in one call\nAnd it can't:\n\n`.env`, SQL dumps, keys or `.git`, at any folder depth\nIt connects over SSH, so nothing is exposed to the internet.\n\nHere's a 70-second recording of a real session on a test site: health overview, creating and editing a file with an automatic backup, a one-call undo, a safe delete and the audit log.\n\nThe free edition is MIT-licensed on GitHub, for one site, read-only: [https://github.com/pressbridgesupport/pressbridge](https://github.com/pressbridgesupport/pressbridge)\n\nInstall takes about five minutes on any Linux server where you have SSH: a Python venv, WP-CLI, and a small YAML file listing your site. Then add it to Claude Code or Claude Desktop and ask: *\"Give me a health overview of mysite.\"*\n\nI also sell a paid edition, which is how I'm hoping to keep working on this. It adds edits with automatic backups and one-call undo, a PHP syntax check before saving, allow-listed plugin, theme and core updates, unlimited sites, a Docker HTTPS server and a full audit log. There's also a monthly plan with a nightly security check that alerts you to new admin accounts, PHP files in uploads and changed core files. Details: [https://pressbridgesupport.github.io/pressbridge](https://pressbridgesupport.github.io/pressbridge)\n\nOne honest limit: file backups don't cover database changes such as plugin updates, so keep your normal database backups running.\n\nI'd really like to hear from people who manage WordPress sites: what would you want blocked, or allowed, before you'd let an AI assistant anywhere near a client site?", "url": "https://wpnews.pro/news/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access", "canonical_source": "https://dev.to/pressbridgesupport/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access-l6", "published_at": "2026-10-29 07:48:37+00:00", "updated_at": "2026-10-29 07:49:18.964359+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools", "ai-safety"], "entities": ["PressBridge", "Claude", "WordPress", "Claude Code", "Claude Desktop", "WP-CLI", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access", "markdown": "https://wpnews.pro/news/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access.md", "text": "https://wpnews.pro/news/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access.txt", "jsonld": "https://wpnews.pro/news/letting-claude-maintain-wordpress-sites-without-giving-it-ssh-access.jsonld"}}