<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[mengyu2022sudo]]></title><description><![CDATA[mengyu2022sudo]]></description><link>https://mengyu2022sudo.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sun, 01 Nov 2026 02:55:17 GMT</lastBuildDate><atom:link href="https://mengyu2022sudo.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Losing the machine that holds your site: how Sakupa's recovery paths work]]></title><description><![CDATA[A note up front: I am not Sakupa's developer. I found this MCP server while looking into how AI agents publish small websites, and this is my own reading…]]></description><link>https://mengyu2022sudo.hashnode.dev/losing-the-machine-that-holds-your-site-how-sakupa-s-recovery-paths-work</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/losing-the-machine-that-holds-your-site-how-sakupa-s-recovery-paths-work</guid><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Sun, 01 Nov 2026 01:58:09 GMT</pubDate><content:encoded><![CDATA[<p>A note up front: I am not Sakupa's developer. I found this MCP server while looking into how AI agents publish small websites, and this is my own reading of its official manual. This is not a hands-on usage report.</p>
<p>Sakupa has no user accounts. That is a deliberate design choice, and it creates an obvious question: if the machine holding your site credentials is gone, what happens to the site?</p>
<h2>No account means a different kind of recovery</h2>
<p>In a normal service, you would reset a password and log back in. Here there is no account to log back into, so credentials are kept locally instead. Recovery therefore cannot be "prove who you are to the server." It has to be "prove control of something tied to the site."</p>
<p>Sakupa offers two paths under the <code>recover</code> tool:</p>
<ul>
<li><strong>The device path.</strong> Recover through a device that still holds the relevant credentials.</li>
<li><strong>The DNS path.</strong> Recover through control of the domain's DNS settings.</li>
</ul>
<p>Either path restores access to the site. The choice between them depends on what you still control: a surviving device, or a domain you can still configure.</p>
<h2>The one decision the agent does not make for you</h2>
<p>Recovery comes with a judgment call: should the old credentials be invalidated? Sakupa's design refuses to let the agent decide that. Whether old credentials are revoked is always the person's own choice, shown before the step runs.</p>
<p>That rule matters because the two outcomes are both risky in different ways. Revoking everything is safest if the old machine is lost to someone else, but it also cuts off anything still depending on those credentials. Keeping them is convenient, but leaves a lost machine with access. A design that forces this choice into the open, rather than quietly defaulting it, is treating the user as the owner of the risk.</p>
<h2>Rotation is the companion tool</h2>
<p>Recovery's companion is <code>rotate</code>, which exchanges the management credentials. It also runs through a preview first, and once it runs, all old credentials expire. The pair tells a coherent story: <code>recover</code> gets you back in, <code>rotate</code> lets you change the locks, and both steps show you what will happen before they do it.</p>
<h2>The same caution, everywhere else</h2>
<p>The pattern repeats across the tool list, which is why I keep coming back to it:</p>
<ul>
<li><code>analyze</code> checks a site read-only before publishing and warns about unsuitable files.</li>
<li>Publishing, deletion, and rotation all require a preview and a confirmation. Deleting a free site is explicitly irreversible.</li>
<li>Payments go through Stripe's hosted pages. The agent never handles card numbers.</li>
<li>A custom domain is only announced as published when its state is <code>active</code> and it returns HTTP 200, not when it is merely attached.</li>
</ul>
<h2>Limits worth knowing</h2>
<p>Sakupa is for static sites only, not web apps with databases or logins. It is a relatively new service (first published on npm in July 2026, per the official timeline). The usual free preview is 30 days, with paid plans from 200 yen per month, contracted per site.</p>
<p>Account-free publishing sounds simple until the machine changes. Sakupa's answer is not to pretend that problem away, but to give it two explicit paths and one explicit choice. That honesty is what makes the design worth reading closely.</p>
<h2>Links</h2>
<ul>
<li>Official site: <a href="https://sakupa.com/">https://sakupa.com/</a></li>
<li>Product page: <a href="https://sakupa.com/product/">https://sakupa.com/product/</a></li>
<li>Manual: <a href="https://sakupa.com/manual/">https://sakupa.com/manual/</a></li>
<li>npm: <code>@sakupa/mcp</code></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[The only app in Sakupa's catalog so far: what the mail-form app adds to a static site]]></title><description><![CDATA[A disclosure first: I am not Sakupa's developer. I came across this MCP server while looking into AI-published websites, and this post is my reading of its…]]></description><link>https://mengyu2022sudo.hashnode.dev/the-only-app-in-sakupa-s-catalog-so-far-what-the-mail-form-app-adds-to-a-static-site</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/the-only-app-in-sakupa-s-catalog-so-far-what-the-mail-form-app-adds-to-a-static-site</guid><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Sat, 31 Oct 2026 01:58:45 GMT</pubDate><content:encoded><![CDATA[<p>A disclosure first: I am not Sakupa's developer. I came across this MCP server while looking into AI-published websites, and this post is my reading of its official manual. It is not a hands-on review.</p>
<p>Static sites have a well-known missing piece: a contact form. A static page cannot receive a submission on its own, so small sites usually bolt on a third-party form service. Sakupa's answer is its app catalog — and so far, the catalog has exactly one app: a mail form.</p>
<h2>How it fits the tool list</h2>
<p>The catalog is reached through the <code>apps</code> tool. The first (and currently only) entry is the mail form: a contact window you can add to a static site. Submissions arrive as email, so the site itself stays static — no database, no login system, no server-side code of your own.</p>
<p>That single-app catalog is itself a design statement. Rather than growing a plugin marketplace, the project shipped one app for the one gap every small-business site hits first: "how do visitors reach me?"</p>
<h2>Quotas are tied to the plan</h2>
<p>The mail form's monthly send quota depends on the plan, per the official documentation:</p>
<ul>
<li>Free preview: 5 sends per month</li>
<li>Water plan (¥200/month): 50 sends per month</li>
</ul>
<p>Quotas set expectations honestly: a brochure site with occasional inquiries fits comfortably, while a site expecting heavy form traffic would need to look at the higher plans. The quota is part of the plan description, not a surprise discovered after publishing.</p>
<h2>What it does not do</h2>
<p>The mail form does not turn the site into a web app. Sakupa's scope remains static sites only — no databases, no login features. The form is an inbox bridge, not a backend. And as with everything else in this server, money and authority stay with the human: plan changes go through Stripe's management page, and the AI never handles card numbers in chat.</p>
<h2>Why start with this app</h2>
<p>If you think about what a small business actually needs from a first website — a page that opens, a way to be contacted, a price that fits one site — the mail form covers the second need with the smallest possible machinery. It is also the easiest app to reason about: one input, one inbox, one monthly number.</p>
<p>The catalog may grow later, but starting with exactly one app keeps the question simple: does this one bridge solve the contact problem for your site? For many small sites, the answer is yes.</p>
<h2>Scope notes (from official information only)</h2>
<ul>
<li>Static sites only; not for web apps with databases or login features.</li>
<li>A relatively new service (first published on npm in July 2026, per the official timeline). The free preview (usually 30 days) is the sensible way to try it small first.</li>
</ul>
<h2>Links</h2>
<ul>
<li>Official site: <a href="https://sakupa.com/">https://sakupa.com/</a></li>
<li>Product page: <a href="https://sakupa.com/product/">https://sakupa.com/product/</a></li>
<li>Manual: <a href="https://sakupa.com/manual/">https://sakupa.com/manual/</a></li>
<li>npm: <code>@sakupa/mcp</code></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Sakupa, answered from the official docs only: the questions I kept seeing]]></title><description><![CDATA[First, a disclaimer: I am not Sakupa's developer. I found this MCP server while researching how an AI assistant can publish and run a small-business…]]></description><link>https://mengyu2022sudo.hashnode.dev/sakupa-answered-from-the-official-docs-only-the-questions-i-kept-seeing</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/sakupa-answered-from-the-official-docs-only-the-questions-i-kept-seeing</guid><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Fri, 30 Oct 2026 03:43:21 GMT</pubDate><content:encoded><![CDATA[<p>First, a disclaimer: I am not Sakupa's developer. I found this MCP server while researching how an AI assistant can publish and run a small-business website, and this post answers the questions I kept running into using only sakupa.com and its official manual. It is not a usage report.</p>
<h2>What is Sakupa, exactly?</h2>
<p>It is an MCP server that lets your usual AI assistant — ChatGPT, Claude, and similar tools — publish and operate a static site such as a company homepage. The design covers more than building the page: publishing it, updating it, attaching a domain, and checking the subscription, all from within the conversation.</p>
<h2>Do I need an account?</h2>
<p>No. Instead, control of a site is proven by management credentials stored on your own machine (the manual places them under <code>~/.sakupa/credentials/</code>, with only a reference in the project's <code>.sakupa/site.json</code>). No account also means the machine holding those credentials matters — which leads to the next two questions.</p>
<h2>What if I replace my computer?</h2>
<p>There is a recovery tool, <code>recover</code>, with two routes: a device route using another device or surviving information, and a DNS route if a custom domain is already connected. Whether the old credentials are revoked is always the owner's choice, never something the AI decides on its own. A companion tool, <code>rotate</code>, swaps the credentials entirely, and once it runs, all old credentials are revoked.</p>
<h2>How much does it cost?</h2>
<p>Publish first under the free preview (normally 30 days), then put only the sites you want to keep on a monthly plan: Water at ¥200, Personal at ¥500, Share at ¥1,000, Business at ¥2,000. Plans are per site and never upgrade themselves automatically. Form-email allowances run from 5/month on the free preview to 2,000/month on Business.</p>
<h2>Do I hand my card number to the AI?</h2>
<p>No. Plan checks, applications, changes, and cancellations only return a link to a Stripe-hosted page; card numbers never appear in the conversation. Creating the link alone does not change the contract.</p>
<h2>Can I check a site before it goes live?</h2>
<p>Yes. Before <code>deploy</code>, an <code>analyze</code> tool inspects the output folder locally and returns the list of what will be published plus warnings about files that should not be published. The AI explains that in plain language and takes an explicit confirmation before publishing. Deletions and credential swaps go through the same preview-and-confirm flow.</p>
<h2>Can I use my own domain?</h2>
<p>Yes, via a <code>bind</code> tool, with DNS-based confirmation. A domain is only described as published once its status is <code>active</code> and it returns HTTP 200. Attaching a domain alone is not publication.</p>
<h2>What can it not do?</h2>
<p>Static sites only — no database-backed or login-based web apps. A free site's deletion (<code>delete</code>) requires a preview and cannot be undone. Sakupa is relatively new (first published on npm in July 2026, per the official timeline), so the free preview is the sensible place to start.</p>
<h2>Links</h2>
<ul>
<li>Official site: <a href="https://sakupa.com/">https://sakupa.com/</a></li>
<li>Product page: <a href="https://sakupa.com/product/">https://sakupa.com/product/</a></li>
<li>Manual: <a href="https://sakupa.com/manual/">https://sakupa.com/manual/</a></li>
<li>npm: <code>@sakupa/mcp</code></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[The confirmation design I keep coming back to: how Sakupa makes an AI stop before it acts]]></title><description><![CDATA[The confirmation design I keep coming back to: how Sakupa makes an AI stop before it acts I am not the developer of Sakupa. I found this MCP server while…]]></description><link>https://mengyu2022sudo.hashnode.dev/the-confirmation-design-i-keep-coming-back-to-how-sakupa-makes-an-ai-stop-before-it-acts</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/the-confirmation-design-i-keep-coming-back-to-how-sakupa-makes-an-ai-stop-before-it-acts</guid><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Thu, 29 Oct 2026 01:50:43 GMT</pubDate><content:encoded><![CDATA[<p>The confirmation design I keep coming back to: how Sakupa makes an AI stop before it acts</p>
<p>I am not the developer of Sakupa. I found this MCP server while researching AI-published static sites, and this post covers only what its official site and manual say. This is not a story about my own usage.</p>
<h2>Why confirmation design is the feature to study</h2>
<p>When an agent can publish, delete, and change things on your behalf, the interesting question is not what it can do. It is where it is forced to stop. Sakupa's 18 tools are split in a way that makes that stopping pattern visible, and I think the pattern is worth borrowing as a checklist for evaluating any agent tool.</p>
<h2>Read-only tools vs. tools that change things</h2>
<p>Several tools only read. <code>analyze</code> inspects the output folder and warns about files that should not be published. <code>status</code> shows connection state, expiry, and domain state. <code>plans</code> lists the pricing catalogue. <code>billing</code> checks the actual subscription and usage. <code>help</code> runs a local-only diagnosis. None of these change anything, and none of them ask for confirmation — because there is nothing to confirm.</p>
<p>The tools that change things behave differently:</p>
<ul>
<li><code>deploy</code> publishes only after the <code>analyze</code> result has been explained and explicitly confirmed.</li>
<li><code>delete</code> requires a preview for free-site deletion, and deletion cannot be undone.</li>
<li><code>rotate</code> exchanges management credentials only after a preview, and all old credentials expire.</li>
<li><code>report</code> sends a failure report only when <code>help</code> recommends it, and only after a preview.</li>
<li><code>support</code> opens a ticket only after you confirm its contents.</li>
</ul>
<p>The rule seems to be: the harder an action is to reverse, the heavier the confirmation in front of it.</p>
<h2>Money and authority stay with the person</h2>
<p>Two boundaries are drawn consistently. First, payment: subscription tools return Stripe-hosted page links only. The agent never handles card numbers, and creating a link does not change the subscription. Second, authority: when a site is recovered with <code>recover</code> (device path or DNS path), whether old credentials are revoked is always your choice, not the agent's.</p>
<p>That matters because the failure mode of an agent is rarely "it could not do the task." It is "it did the task before you understood what it was about to do." A design that separates reading from changing, and puts previews in front of irreversible steps, directly addresses that failure mode.</p>
<h2>The limits, stated plainly</h2>
<p>Sakupa only handles static sites — no databases, no login systems. A preview shows what will be published, not whether the content itself is correct; checking names, addresses, and prices is still your job. And it is a new service (first npm publish in July 2026, per the official timeline), so the free preview (normally 30 days) is the sensible place to start.</p>
<p>If you evaluate agent tools, try this: list the tools, mark which ones only read, and check what stands between you and every irreversible action. Sakupa's answer — previews, explicit confirmation, and keeping money and credential-revocation decisions with the person — is a good reference point, whatever tool you end up choosing.</p>
<h2>Links</h2>
<ul>
<li>Official site: <a href="https://sakupa.com/">https://sakupa.com/</a></li>
<li>Product page: <a href="https://sakupa.com/product/">https://sakupa.com/product/</a></li>
<li>Manual: <a href="https://sakupa.com/manual/">https://sakupa.com/manual/</a></li>
<li>npm: <code>@sakupa/mcp</code></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Pointing your own domain at an AI-published static site: how Sakupa's bind step works]]></title><description><![CDATA[A quick disclaimer first: I am not Sakupa's developer. I found this MCP server while researching tools for publishing small-business websites from an AI…]]></description><link>https://mengyu2022sudo.hashnode.dev/pointing-your-own-domain-at-an-ai-published-static-site-how-sakupa-s-bind-step-works</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/pointing-your-own-domain-at-an-ai-published-static-site-how-sakupa-s-bind-step-works</guid><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Wed, 28 Oct 2026 02:15:50 GMT</pubDate><content:encoded><![CDATA[<p>A quick disclaimer first: I am not Sakupa's developer. I found this MCP server while researching tools for publishing small-business websites from an AI chat, and this post summarizes what its official site and manual say. This is not a hands-on review.</p>
<h2>Why the domain step deserves its own post</h2>
<p>Publishing a page is only half the job for a business website. The other half is making it answer at the company's own domain — and that step is where vague "it's live!" messages cause real confusion. A domain can be pointed, configured, propagated, and still not serving the right content, and every tool that blurs those states makes troubleshooting harder.</p>
<p>Sakupa's domain tool, <code>bind</code>, takes a stricter approach, and it is worth spelling out because the strictness is the feature.</p>
<h2>What <code>bind</code> actually checks</h2>
<p>According to the manual, connecting a custom domain works like this:</p>
<ol>
<li>You ask the AI to connect your domain via <code>bind</code>.</li>
<li>Ownership and routing are confirmed through DNS.</li>
<li>The site is only described as published once <strong>two conditions are both true</strong>: its status is <code>active</code> <strong>and</strong> it returns HTTP 200.</li>
</ol>
<p>That last point matters. Attaching a domain does not, by itself, earn the word "published." A domain that is pointed but not yet serving the site correctly is reported as not-yet-published, not papered over with a success message. For a small business owner who cannot tell a DNS problem from a deployment problem, that honesty saves a confused afternoon.</p>
<h2>Where <code>bind</code> sits in the workflow</h2>
<p>The domain step comes after the publish step, and it inherits the same confirmation habits as the rest of Sakupa's design:</p>
<ul>
<li>Before anything goes public, <code>analyze</code> inspects the output folder locally (read-only) and reports what will be published, plus warnings about files that should not be published. The AI explains that list and gets explicit confirmation before <code>deploy</code> runs.</li>
<li><code>status</code> lets you read the connection state, expiry, and domain state at any time without changing anything.</li>
<li>If the machine holding the credentials is replaced, <code>recover</code> offers a device route or a DNS route to take the site back — and the decision about invalidating old credentials is always left to the person, never made by the AI.</li>
</ul>
<p>So the domain is not a one-off setting you hope worked. It is a state you can re-check, with a defined "published" condition at the end of it.</p>
<h2>The limits, stated plainly</h2>
<p>Within the official information, a few boundaries apply:</p>
<ul>
<li>Sakupa targets static sites only — company introductions, shop pages, that kind of content. It is not for web apps with databases or logins.</li>
<li>The domain check confirms serving state, not content correctness. Whether the phone number and opening hours on the page are right is still a human check, before or after <code>bind</code>.</li>
<li>Plans are per site, starting with a free preview (normally 30 days) and paid plans from 200 yen per month, with no automatic upgrade to a higher plan. Payment itself never passes through the chat: plan tools only return links to Stripe-hosted pages.</li>
</ul>
<p>If you are evaluating Sakupa, the domain step is a good litmus test for the whole design. A tool that refuses to call a half-connected domain "published" is a tool that takes its reporting seriously — and that is exactly the property you want from something you are trusting with a business's public face.</p>
<h2>Links</h2>
<ul>
<li>Official site: <a href="https://sakupa.com/">https://sakupa.com/</a></li>
<li>Product page: <a href="https://sakupa.com/product/">https://sakupa.com/product/</a></li>
<li>Manual: <a href="https://sakupa.com/manual/">https://sakupa.com/manual/</a></li>
<li>npm: <code>@sakupa/mcp</code></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[The agent stack consolidated in October 2026: stateless MCP and ten AAIF projects]]></title><description><![CDATA[I am not a developer of the projects covered here. This post summarizes public specifications and reporting as of October 27, 2026. Two things happened in…]]></description><link>https://mengyu2022sudo.hashnode.dev/the-agent-stack-consolidated-in-october-2026-stateless-mcp-and-ten-aaif-projects</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/the-agent-stack-consolidated-in-october-2026-stateless-mcp-and-ten-aaif-projects</guid><category><![CDATA[AI]]></category><category><![CDATA[mcp]]></category><category><![CDATA[agents]]></category><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Tue, 27 Oct 2026 06:44:39 GMT</pubDate><content:encoded><![CDATA[<p><em>I am not a developer of the projects covered here. This post summarizes public specifications and reporting as of October 27, 2026.</em></p>
<p>Two things happened in the agent infrastructure layer this year that are worth more attention than they got: the Model Context Protocol (MCP) went stateless at the protocol layer, and the Agentic AI Foundation (AAIF) quietly became the neutral home for most of the agent stack.</p>
<h2>MCP 2026-07-28: no more handshake, no more session header</h2>
<p>The <code>2026-07-28</code> revision of MCP removed the mandatory <code>initialize</code>/<code>initialized</code> exchange and the <code>Mcp-Session-Id</code> header. Each request now carries its protocol version, client identity, and capabilities. Practical consequences:</p>
<ul>
<li>Plain round-robin load balancing works; no sticky sessions, no shared protocol-session store.</li>
<li>Tool, prompt, and resource lists can be cached; gateways can route and authorize on MCP headers.</li>
<li>Business state (browser sessions, jobs, approval state) has to be modeled explicitly with application-level handles instead of hiding inside a transport session.</li>
</ul>
<p>"Stateless" does not mean your agent cannot keep state. It means the protocol stopped pretending to keep it for you.</p>
<h2>The multi-version reality</h2>
<p>Servers in the wild now speak <code>2025-03-26</code>, <code>2025-06-18</code>, <code>2025-11-25</code>, and <code>2026-07-28</code> side by side. Red Hat's MCP gateway went GA on October 16, 2026 with per-client negotiation across all four on one endpoint. The operational rule that follows from this: <strong>log the <code>protocolVersion</code> the server returns, not the one you requested</strong> — the returned value is the agreement. Recording whether <code>tools/list</code> stays stable between calls (the <code>listChanged</code> capability) makes incident triage much easier.</p>
<h2>AAIF: from 3 projects to 10</h2>
<p>The AAIF, a directed fund under the Linux Foundation co-founded by Anthropic, Block, and OpenAI in December 2025, started with MCP, <code>goose</code>, and <code>AGENTS.md</code>. On October 22, 2026, at AGNTCon + MCPCon North America, four more projects landed:</p>
<ul>
<li><strong>Agent Skills</strong> (Anthropic) — the <code>SKILL.md</code> folder format for teaching agents task procedures. Anthropic reports 1 million published skills, roughly 280 million installs, and 70+ integrated platforms.</li>
<li><strong>Open Responses</strong> (OpenAI) — an open API specification for LLM interfaces.</li>
<li><strong>OpenEnv</strong> (Hugging Face) — containerized reinforcement-learning environments.</li>
<li><strong>OpenSandbox</strong> (Alibaba) — sandboxing to constrain what an agent can touch.</li>
</ul>
<p>With Agent2Agent (A2A), Agent Router, and agentgateway already in the portfolio, the foundation now hosts ten projects and reports more than 300 member organizations.</p>
<h2>What this means if you build agents</h2>
<ol>
<li><strong>Skills are becoming portable assets.</strong> A procedure written once as a skill folder can travel across hosts instead of living inside one vendor's product.</li>
<li><strong>Design tools for stateless calls.</strong> Requests that complete on their own, with state passed as explicit handles, survive both old and new hosts.</li>
<li><strong>Treat version negotiation as a first-class concern.</strong> "Supports MCP" is no longer a sufficient statement; which revision you actually agreed on is the fact that matters.</li>
</ol>
<p>The model race gets the headlines, but October 2026 is when the plumbing under personal agents started to look like settled infrastructure.</p>
<h2>References</h2>
<ul>
<li>Stateless MCP 2026: Agent Migration Guide (LLMFly AI, Medium): <a href="https://medium.com/@llmfly/stateless-mcp-2026-agent-migration-guide-043d87ff8cf2">https://medium.com/@llmfly/stateless-mcp-2026-agent-migration-guide-043d87ff8cf2</a></li>
<li>AAIF Explained: Anthropic, OpenAI Donate AI Agent Standards (Digitech Info): <a href="https://digitechinfo.net/agentic-ai-foundation-aaif-four-new-projects/">https://digitechinfo.net/agentic-ai-foundation-aaif-four-new-projects/</a></li>
<li>Agentic AI Foundation takes four agent projects from tech donors (LavX News): <a href="https://news.lavx.hu/article/agentic-ai-foundation-takes-four-agent-projects-from-tech-donors">https://news.lavx.hu/article/agentic-ai-foundation-takes-four-agent-projects-from-tech-donors</a></li>
<li>AI agents in October 2026: where they stand (Brandon Ta): <a href="https://www.brandon-ta.com/blog/ai-agents-where-they-stand-october-2026/">https://www.brandon-ta.com/blog/ai-agents-where-they-stand-october-2026/</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Running a small business website from your AI chat: a walkthrough of the Sakupa MCP workflow]]></title><description><![CDATA[Sharing this because the workflow is interesting — I'm not the developer. I came across Sakupa while browsing MCP servers and read through the official…]]></description><link>https://mengyu2022sudo.hashnode.dev/running-a-small-business-website-from-your-ai-chat-a-walkthrough-of-the-sakupa-mcp-workflow</link><guid isPermaLink="true">https://mengyu2022sudo.hashnode.dev/running-a-small-business-website-from-your-ai-chat-a-walkthrough-of-the-sakupa-mcp-workflow</guid><category><![CDATA[mcp]]></category><category><![CDATA[AI]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[mengyu wang]]></dc:creator><pubDate>Tue, 27 Oct 2026 06:43:15 GMT</pubDate><content:encoded><![CDATA[<p><em>Sharing this because the workflow is interesting — I'm not the developer. I came across Sakupa while browsing MCP servers and read through the official docs and manual; what follows is based on that documentation, not on a site I run.</em></p>
<p>Plenty of MCP servers generate files. Fewer handle the unglamorous part after generation: getting a small business website published, keeping it online, and maintaining it without a hosting dashboard. Sakupa (<code>@sakupa/mcp</code> on npm, listed on the official MCP Registry and the Claude, Codex, and Gemini plugin marketplaces) is built for exactly that. Reading the official manual, the workflow looks less like a control panel and more like a set of conversations with checkpoints. Here is how it fits together.</p>
<h2>Setup: no account, no API key</h2>
<p>You register the server with a one-line command (<code>npx -y @sakupa/mcp@latest</code>) in an MCP-capable AI tool. There is no signup and no API key. Instead, the server generates a management credential locally on your machine, stored under <code>~/.sakupa/credentials/</code>. A project folder only keeps two small files: <code>.sakupa/project.json</code> and <code>.sakupa/site.json</code>, which reference that credential. Site ownership is your local environment, not a login — an unusual model worth understanding before the workflow itself.</p>
<h2>The 18 tools, in the order you'd actually use them</h2>
<p>The tools group naturally into five sets:</p>
<ul>
<li><strong>Publishing and operations:</strong> <code>init</code>, <code>analyze</code>, <code>deploy</code>, <code>refresh</code>, <code>status</code>, <code>delete</code></li>
<li><strong>Billing:</strong> <code>plans</code>, <code>subscribe</code>, <code>billing</code>, <code>change</code>, <code>portal</code> — these only create Stripe-hosted pages; payment itself happens on Stripe, never through the agent</li>
<li><strong>Domains and recovery:</strong> <code>bind</code>, <code>recover</code>, <code>rotate</code></li>
<li><strong>Apps:</strong> <code>apps</code> — currently a single app, email forms</li>
<li><strong>Support:</strong> <code>help</code>, <code>support</code>, <code>report</code></li>
</ul>
<p>A typical publishing run goes like this:</p>
<ol>
<li><strong><code>init</code></strong> — initialize the project folder. No network call, no charge; it just lays the groundwork.</li>
<li><strong>Prepare the static files</strong> — hand-written HTML or a framework build output. An <code>index.html</code> entry point is required.</li>
<li><strong><code>analyze</code></strong> — before anything goes public, this read-only check inspects the output: it detects the framework and the correct output directory, confirms <code>index.html</code> exists, flags elements that don't fit static hosting (SSR, API routes, database dependencies), catches files that shouldn't be published (secrets, archives), and verifies size limits.</li>
<li><strong><code>deploy</code></strong> — publish. The <code>outputDir</code> argument is required (for example <code>"."</code> for the project root, or <code>"dist"</code> for a build artifact). The first deploy creates a free preview at a URL of the form <code>https://{shortId}.sakupa.com</code>, valid for 30 days. Because that first deploy makes the site publicly reachable by anyone with the link, the tool stops and asks the user to confirm before proceeding.</li>
<li><strong>Day-to-day operations</strong> — <code>status</code> reports the URL, plan type, and expiry; <code>refresh</code> extends a free preview; re-running <code>deploy</code> republishes updated content; <code>delete</code> removes a site, behind a preview and an explicit decision.</li>
</ol>
<h2>Binding a custom domain</h2>
<p>The <code>bind</code> tool connects your own domain. You add two DNS records as instructed, and the tool decides completion by its own HTTP 200 check against the domain rather than by trusting the DNS change alone — a small detail, but it means "done" actually means reachable.</p>
<h2>The one app: email forms</h2>
<p>Static sites have no backend to receive a contact form. Sakupa's only app so far, <code>email-forms</code>, forwards form submissions to an email address, with bot filtering before delivery. The page side has a contract to follow:</p>
<ul>
<li>Load the script once per page: <code>https://api.sakupa.com/v1/forms/embed.js</code></li>
<li>Add a <code>data-sakupa-form</code> attribute to the form; its value becomes the notification email's subject</li>
<li>Include a honeypot field (default name <code>website</code>) hidden with CSS — explicitly <em>not</em> <code>type="hidden"</code></li>
<li>A field named <code>email</code> automatically becomes the notification's Reply-To</li>
<li>Up to 20 fields; file uploads are not supported</li>
</ul>
<p>Activation itself has a human checkpoint: <code>apps</code> install asks for confirmation, sends a 6-digit code to the notification address (<code>notifyEmail</code>), and the form only goes live after that code is verified. Submissions are also stored server-side for 30 days (up to 1,000 per site) and can be read back through the <code>inbox</code> action.</p>
<h2>Where it stops, and where it doesn't</h2>
<p>The confirmation pattern is consistent. Outward-facing or hard-to-reverse actions pause for the user: the first public deploy, an app install, <code>delete</code>, and credential rotation via <code>rotate</code> (including the choice of whether old credentials are revoked — the user decides, the tool doesn't). <code>recover</code> exists for moving management to another environment, via a device-based or a DNS-based path. Inward, reversible work — inspecting tools, writing pages, running <code>analyze</code> — proceeds without prompts.</p>
<h2>Pricing</h2>
<p>The free preview lasts 30 days, with 5 form emails per month. Paid plans are per website: Water ¥200/month (1 custom domain, 50 form emails/month), Personal ¥500 (3 domains, 200), Share ¥1,000 (10 domains, 600), Business ¥2,000 (50 domains, 2,000).</p>
<h2>Who this fits</h2>
<p>If a site is static by nature — a company profile, a shop page, a landing page with a contact form — the remaining cost is usually publishing and upkeep, and that is precisely what this workflow moves into the chat. Anything needing a database, logins, or dynamic APIs is out of scope, and <code>analyze</code> will tell you so up front.</p>
]]></content:encoded></item></channel></rss>