<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: t ra</title>
    <description>The latest articles on DEV Community by t ra (@t_ra_2020646ab07ca030710b).</description>
    <link>https://dev.to/t_ra_2020646ab07ca030710b</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3168129%2F4b8b7917-e118-4535-bda9-ebc13db9d9e3.png</url>
      <title>DEV Community: t ra</title>
      <link>https://dev.to/t_ra_2020646ab07ca030710b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/t_ra_2020646ab07ca030710b"/>
    <language>en</language>
    <item>
      <title>Standby, Not Stopped: What Happens to Site Edits When Orivox's MCP Server Idles</title>
      <dc:creator>t ra</dc:creator>
      <pubDate>Mon, 02 Nov 2026 09:56:33 +0000</pubDate>
      <link>https://dev.to/t_ra_2020646ab07ca030710b/standby-not-stopped-what-happens-to-site-edits-when-orivoxs-mcp-server-idles-51oo</link>
      <guid>https://dev.to/t_ra_2020646ab07ca030710b/standby-not-stopped-what-happens-to-site-edits-when-orivoxs-mcp-server-idles-51oo</guid>
      <description>&lt;p&gt;&lt;em&gt;By Zahi Raifer, founder of &lt;a href="https://www.orivox.pro/" rel="noopener noreferrer"&gt;Orivox&lt;/a&gt;. I have spent 23 years building software in AI, Python, .NET and databases.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;People who connect their own AI to a hosted service tend to ask the same nervous question sooner or later: what happens when the connector goes quiet? Is the site now half-edited, or locked, or out of step with what the AI thinks it did?&lt;/p&gt;

&lt;p&gt;At Orivox, a small business owner can build and edit their website from their own Claude through a remote MCP server. Their AI does the reasoning and our side carries out the work. This piece explains what "idle" means for that connector. I am not going to describe timers or queues we don't have. I want to walk through the design decisions that make a quiet connector harmless, and say plainly where those decisions stop.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version: there is nothing to go stale
&lt;/h2&gt;

&lt;p&gt;The most important property of the Orivox MCP server is something it doesn't have. &lt;strong&gt;It keeps no session state between calls.&lt;/strong&gt; There is no in-memory conversation, no half-built edit waiting in a buffer, and no per-user object that has to be kept warm. Any instance can serve any request.&lt;/p&gt;

&lt;p&gt;That changes what "idle" means. In many systems an idle connection is a liability. Something is holding context, and that context can expire, drift, or vanish in a restart. Our connector holds nothing worth losing, so a gap between two calls is just a gap. Whether the next tool call arrives in two seconds or two days, it starts from the same place: who is calling, which project, which operations.&lt;/p&gt;

&lt;p&gt;Restarts work the same way. Our engineering notes put it in one line: because the MCP server keeps no session state, a restart costs at most the one request in flight. An idle server that restarts loses nothing, because nothing was in flight.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the real state lives
&lt;/h2&gt;

&lt;p&gt;If the connector holds no state, the state has to live somewhere, and it should live somewhere durable. Orivox gives every piece of state exactly one owner:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Each project's Git history belongs to the editing service.&lt;/strong&gt; Every edit turn is a commit, and the original site is committed as a baseline before the first edit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accounts, credits, plans and publishing belong to the web app.&lt;/strong&gt; The web app also issues the OAuth tokens and decides quota.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The project lock lives in Redis&lt;/strong&gt;, shared, and is held for a whole turn by whoever is writing: an edit, a manual commit, a site copy or a background job.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MCP server owns none of these. It holds no database write credentials. It calls the editing service and the web app over HTTP, and it reads a single read-only view to identify the caller. So "what happens to my site while the connector idles" has a simple answer: the site sits in Git, in its last committed version, exactly as it was after the last completed turn.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a pause can't leave a half-applied edit
&lt;/h2&gt;

&lt;p&gt;The second worry is the more interesting one. Suppose your AI sends a batch of changes and then everything goes quiet. Could the page be stuck halfway?&lt;/p&gt;

&lt;p&gt;The answer comes from how edits are expressed. Neither the in-house planner nor the owner's Claude writes files. They send a list of operations from a fixed grammar of 14 verbs, such as &lt;code&gt;set_text&lt;/code&gt;, &lt;code&gt;add_class&lt;/code&gt;, &lt;code&gt;move_before&lt;/code&gt; and &lt;code&gt;remove&lt;/code&gt;. Each operation addresses an element by its &lt;code&gt;data-ai-id&lt;/code&gt;. The MCP edit tool takes the same 14 operations, and the editing service applies a list from Claude exactly as it applies one from our own planner: the same checks, the same Git commit, the same transcript.&lt;/p&gt;

&lt;p&gt;Python applies the whole list, runs its deterministic checks, saves the page, commits the change to the project's Git repository and records the turn. Only the server decides whether a turn is saved. The unit of change is the turn, and a turn ends in a commit.&lt;/p&gt;

&lt;p&gt;The guardrails also don't care how long the AI was away. Every save passes checks that don't depend on the model behaving well. A save may never empty a live page. Moved text must keep every sentence. A whole-page rewrite must keep every section the owner didn't name. The business logo and the contact form's privacy notice are protected. And when the AI's next edit is based on a page, that page must be read as it is now, not as the AI remembers it. That last rule matters most after a long pause. If something changed in the meantime, the edit is built on the current page.&lt;/p&gt;

&lt;h2&gt;
  
  
  The lock: one writer, not a held door
&lt;/h2&gt;

&lt;p&gt;A natural fear about locks is that an idle client might sit on one forever. The Orivox design scopes the lock to a turn. It is held for a whole turn by whoever is writing, so two changes can never interleave on the same site. The lock covers the work of writing, not a user's presence. A connector that is only connected, with no write under way, has nothing to hold.&lt;/p&gt;

&lt;p&gt;The same rule covers the web app. It never runs Git against a project. When it writes files itself, it takes the lock, writes, and asks the editing service to commit. There is always a single, consistent version of every site, whether the last change came from the owner's chat in our web app, from their own Claude, or from a background job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Retries after a quiet spell
&lt;/h2&gt;

&lt;p&gt;When a connection comes back after a pause, AI clients like to retry. A retry is dangerous if the first attempt actually succeeded. Orivox makes one specific promise here: &lt;strong&gt;a completed write is always reported as done.&lt;/strong&gt; If usage metering fails after the files are written, the tool still returns success, so the AI never retries and creates a duplicate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standby, literally
&lt;/h2&gt;

&lt;p&gt;There is one more sense of "standby" in our stack, and it is the literal one. Production runs on two identical servers, and only one takes traffic at a time. The other is a ready standby. A release goes to the standby first and is checked there before it takes a single customer request. Rolling back means moving traffic back. Customer site files sit on shared storage that both servers mount, so a switch moves no files.&lt;/p&gt;

&lt;p&gt;This is where the stateless connector earns its keep. Since any instance can serve any request, moving traffic from one server to the other doesn't strand a user's session, because there is no session to strand. The site, its Git history and the lock all live in places both servers share.&lt;/p&gt;

&lt;p&gt;Two more rules keep quiet periods quiet. Services restart only when we release, so operating-system updates never bounce the application on their own schedule. And we watch the connector from the outside: every five minutes a probe walks it end to end, from discovery and sign-in to a real tool call, and emails an incident report on any failure and on recovery. An idle connector is still a monitored one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this design doesn't claim
&lt;/h2&gt;

&lt;p&gt;I want to be precise about the limits. Statelessness doesn't mean the AI on the other end remembers what it did. That memory belongs to the owner's own Claude conversation, and Orivox doesn't control it. What we do provide is a durable record to check against: the editing service keeps the transcript of turns, and every turn is a Git commit that can be restored. If you come back to a project after a week and aren't sure what your AI changed, the answer is in the history, not in anyone's memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;An MCP server that "idles" is only a risk when it is holding something. We built the Orivox connector to hold nothing: no session, no write credentials, no copy of your site. The site lives in Git, the business rules live in the web app, writes are serialized by a turn-scoped lock, and every save passes the same deterministic checks. When your AI goes quiet, your site stays exactly where the last completed turn left it.&lt;/p&gt;

&lt;p&gt;If you want to try editing a real business site from your own AI, you can start at &lt;a href="https://www.orivox.pro/" rel="noopener noreferrer"&gt;orivox.pro&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Zahi Raifer is a software developer with 23 years of experience in AI development, Python, .NET and databases, and the founder of Orivox, an AI website builder for Hebrew and right-to-left languages.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>mcp</category>
    </item>
    <item>
      <title>I Built an MCP Server That Lets Claude Create and Publish Real Websites</title>
      <dc:creator>t ra</dc:creator>
      <pubDate>Mon, 07 Sep 2026 04:52:02 +0000</pubDate>
      <link>https://dev.to/t_ra_2020646ab07ca030710b/i-built-an-mcp-server-that-lets-claude-create-and-publish-real-websites-4bam</link>
      <guid>https://dev.to/t_ra_2020646ab07ca030710b/i-built-an-mcp-server-that-lets-claude-create-and-publish-real-websites-4bam</guid>
      <description>&lt;p&gt;I have been building websites for more than 20 years, and AI has completely changed how quickly we can create them.&lt;/p&gt;

&lt;p&gt;But I kept running into the same problem: generating code is only one part of building a real website.&lt;/p&gt;

&lt;p&gt;After the AI writes the HTML, you still need to manage files, hosting, SSL, domains, forms, databases, and future edits. For someone who is not a developer, this final part can be more difficult than creating the website itself.&lt;/p&gt;

&lt;p&gt;That is why I built the Orivox MCP website builder.&lt;/p&gt;

&lt;p&gt;What is Orivox MCP?&lt;/p&gt;

&lt;p&gt;Orivox MCP connects Claude directly to the Orivox website platform using the Model Context Protocol.&lt;/p&gt;

&lt;p&gt;Instead of opening another AI website builder, purchasing AI credits, and learning a new editor, you can describe the website you want directly inside Claude.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Create a modern website for a local moving company in Haifa. Add a services section, customer reviews, a WhatsApp button, and a contact form.&lt;/p&gt;

&lt;p&gt;Claude understands the request, while Orivox performs the actual website operations.&lt;/p&gt;

&lt;p&gt;It creates the project, generates the website files, provides a working preview, and allows Claude to continue making changes.&lt;/p&gt;

&lt;p&gt;Editing the website through conversation&lt;/p&gt;

&lt;p&gt;After the first version is created, you can continue talking naturally:&lt;/p&gt;

&lt;p&gt;Make the header smaller.&lt;br&gt;
Change the colors to dark blue and white.&lt;br&gt;
Add another service.&lt;br&gt;
Replace the main image.&lt;br&gt;
Create an About page.&lt;br&gt;
Connect my domain.&lt;br&gt;
Add a registration form and database.&lt;/p&gt;

&lt;p&gt;The important difference is that the conversation is connected to a real website project. Claude is not simply returning a block of code that you must copy somewhere else.&lt;/p&gt;

&lt;p&gt;When a change is requested, Orivox updates the actual website.&lt;/p&gt;

&lt;p&gt;Claude does the thinking&lt;/p&gt;

&lt;p&gt;I designed the system so that each side has a clear role.&lt;/p&gt;

&lt;p&gt;Claude handles the conversation, planning, content, and decisions. Orivox handles the website infrastructure: creating and editing files, hosting the project, publishing it, securing it, connecting domains, and managing website features.&lt;/p&gt;

&lt;p&gt;You use your own Claude account, so Orivox does not charge you for separate AI calls or sell additional AI credits.&lt;/p&gt;

&lt;p&gt;This also means that you can keep working in an interface you already know instead of moving between an AI chat, a code editor, a hosting dashboard, and a domain-management panel.&lt;/p&gt;

&lt;p&gt;Why use MCP for this?&lt;/p&gt;

&lt;p&gt;MCP gives an AI assistant controlled access to external tools.&lt;/p&gt;

&lt;p&gt;A normal chatbot can explain how to publish a website. An MCP-connected assistant can actually perform the authorized steps.&lt;/p&gt;

&lt;p&gt;That distinction is what interested me most.&lt;/p&gt;

&lt;p&gt;I did not want Claude to only generate instructions such as “upload this file to your server.” I wanted it to safely create the project, update it, and prepare it for real visitors.&lt;/p&gt;

&lt;p&gt;The user remains in control and connects their Orivox account through an authorization process. Claude can then access the website-building tools associated with that account.&lt;/p&gt;

&lt;p&gt;Who is it for?&lt;/p&gt;

&lt;p&gt;I think this approach is particularly useful for:&lt;/p&gt;

&lt;p&gt;Small-business owners who do not want to learn web design.&lt;br&gt;
Developers who want to create and test websites quickly.&lt;br&gt;
Freelancers building websites for customers.&lt;br&gt;
Claude users who prefer working through conversation.&lt;br&gt;
Anyone who wants a real hosted website rather than another code snippet.&lt;/p&gt;

&lt;p&gt;It will not replace every development workflow. Complex applications can still require developers, custom architecture, and manual testing.&lt;/p&gt;

&lt;p&gt;But for business websites, landing pages, prototypes, and many database-backed projects, speaking to an AI can be a much simpler starting point.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;The project is still evolving, and I am continuing to improve it based on real usage.&lt;/p&gt;

&lt;p&gt;You can learn more and connect Claude here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://orivox.org/mcp" rel="noopener noreferrer"&gt;https://orivox.org/mcp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would genuinely appreciate feedback from other developers experimenting with MCP. I am especially interested in hearing which website operations you would want an AI assistant to handle automatically.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>mcp</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
