July 5, 2026
I Built a Self-Updating Website with Claude + MCP — Full Hostinger Setup
You paste a YouTube link into Claude. Thirty seconds later there's a full blog post — thumbnail, embedded video, tags, summary, written breakdown — live on your website. No dashboard, no CMS login, no copy-paste. That's what this build does, and this post is the write-up of the video where I set the whole thing up from zero.
The punchline: this very post was published exactly that way. Claude read the video, wrote this, and pushed it to promptengineer48.com through the same MCP server the video teaches you to build.
What it actually is
Three parts, one VPS:
- A website hosted on a Hostinger KVM2 VPS, served by Nginx.
- A custom MCP server running on that same VPS as a background service.
- Claude (Claude Code or the desktop app) acting as the MCP client.
When you tell Claude to post a video to the site, it reads the tool descriptions exposed by the MCP server, pulls the video's metadata and transcript with yt-dlp, writes the post, and calls publish_post. The server rebuilds the site and the post is live.
The MCP server exposes four tools:
| Tool | What it does |
|---|---|
list_posts |
List every published post (slug, title, date) |
publish_post |
Create or overwrite a post and rebuild the site |
delete_post |
Remove a post and rebuild |
upload_image |
Push an image into /assets for use in posts |
That's the entire write surface of the website, and Claude can drive all of it.
The security part you shouldn't skip
The MCP endpoint is public HTTPS, so it's protected by a secret token — a random 32-byte hex value baked into the URL. No token, no writes. The publish server also runs as its own systemd service on its own port, completely separate from the production site, and restarts itself if it crashes. Nginx serves the blog at the root and routes only /mcp traffic to the publish server.
The build, end to end
The video walks the full setup from a blank VPS:
- Pick the plan. A Hostinger KVM2 VPS is the sweet spot for this — plenty for Nginx plus a small Python service. A 12/24-month plan includes a free domain, and coupon
PROMPTtakes 10% off: hostinger.com/prompt. - Point DNS. One A record aims the subdomain (or root domain) at the VPS IP.
- Copy the project & generate the token. Clone the repo, create an empty posts directory, and generate the 32-byte publish token.
- Register the systemd service. The publish server becomes a background service that survives reboots and crashes.
- Configure Nginx. Static blog at
/, MCP server proxied at/mcp. - Free HTTPS. One certbot run gives you a Let's Encrypt certificate — the MCP URL has to be HTTPS for Claude to accept it.
- Connect Claude. Add the MCP server as a custom connector, paste the URL with the token, and confirm the four tools load.
One practical tip from the video: if you have two MCP servers connected (say, a production site and a demo site), tell Claude explicitly which one to publish to. Tool names can overlap, and you don't want a test post landing on your real domain.
Why this pattern matters
The blog is just the demo. The real unlock is the pattern: once Claude can call your own server, it can run almost any part of your site. An MCP server is a thin Python file exposing whatever functions you want Claude to have — regenerate pages, clear caches, manage products, rotate images. You define the tools; Claude figures out when and how to call them from plain English.
For anyone running a personal brand alongside a YouTube channel, this turns "I should really update the website" into a one-line message. Hand Claude a link, and the site updates itself.
Stack
| Piece | Choice |
|---|---|
| VPS | Hostinger KVM2 (Ubuntu) |
| Web server | Nginx |
| MCP server | Custom Python, systemd service |
| TLS | Let's Encrypt via certbot |
| Client | Claude Code / Claude desktop |
| Video data | yt-dlp |
| Process manager (site) | PM2 |
Code is open source: github.com/PromptEngineer48/Hostinger_MCP_Website
Verdict
This is the cheapest self-updating website you can build today: one small VPS, one Python file, one token, and Claude does the publishing. The full walkthrough — from picking the plan to watching Claude push a post live — is in the video above. And if you're reading this on promptengineer48.com, you're looking at the proof.