<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Building MCP Servers in Production on Start AI Tools - Presented by Intent Solutions</title><link>https://startaitools.com/features/building-mcp-servers/</link><description>Recent content in Building MCP Servers in Production on Start AI Tools - Presented by Intent Solutions</description><generator>Hugo</generator><language>en-US</language><copyright>Intent Solutions. All rights reserved.</copyright><lastBuildDate>Tue, 05 May 2026 17:39:42 -0600</lastBuildDate><atom:link href="https://startaitools.com/features/building-mcp-servers/index.xml" rel="self" type="application/rss+xml"/><item><title>Foundation Ship — Guidewire MCP v0.1.0</title><link>https://startaitools.com/features/building-mcp-servers/01-foundation-ship/</link><pubDate>Tue, 05 May 2026 08:00:00 -0500</pubDate><guid>https://startaitools.com/features/building-mcp-servers/01-foundation-ship/</guid><description>&lt;p&gt;&lt;strong&gt;Source post:&lt;/strong&gt; &lt;a href="https://startaitools.com/posts/guidewire-mcp-v0-1-0-foundation-ship/"&gt;Guidewire MCP v0.1.0 — foundation ship&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The phrase &amp;ldquo;minimum viable product&amp;rdquo; is a trap when you&amp;rsquo;re building infrastructure. MVP frames the conversation around what you can take &lt;em&gt;out&lt;/em&gt; and still ship — which is exactly the wrong question for a server that other systems are about to depend on. &lt;strong&gt;Foundation&lt;/strong&gt; is the better word: not the smallest thing that works, but the smallest thing that won&amp;rsquo;t have to be torn out and rebuilt when chapter two arrives.&lt;/p&gt;</description></item><item><title>Tests That Actually Catch Regressions</title><link>https://startaitools.com/features/building-mcp-servers/02-anti-slop-tests/</link><pubDate>Tue, 05 May 2026 08:00:00 -0500</pubDate><guid>https://startaitools.com/features/building-mcp-servers/02-anti-slop-tests/</guid><description>&lt;p&gt;&lt;strong&gt;Source post:&lt;/strong&gt; &lt;a href="https://startaitools.com/posts/anti-slop-framework-found-three-bugs-inside-itself/"&gt;Anti-slop framework finds three bugs inside itself&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A test suite that mocks the function under test is theater. It runs green, it produces coverage numbers, it makes the dashboard look healthy — and it catches nothing. The function it&amp;rsquo;s &amp;ldquo;testing&amp;rdquo; never actually executes.&lt;/p&gt;
&lt;p&gt;The anti-slop principles are simple and they aren&amp;rsquo;t new. What&amp;rsquo;s new is treating them as a CI gate that an AI agent cannot escape:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Don&amp;rsquo;t mock the function under test.&lt;/strong&gt; Mock its dependencies; let the function itself run.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use exact assertions, not &amp;ldquo;is truthy.&amp;rdquo;&lt;/strong&gt; A test that passes when the answer is &lt;code&gt;42&lt;/code&gt; and also when it&amp;rsquo;s &lt;code&gt;&amp;quot;42&amp;quot;&lt;/code&gt; is not a test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use asymmetric inputs.&lt;/strong&gt; A test on &lt;code&gt;add(2, 2)&lt;/code&gt; that passes returns &lt;code&gt;4&lt;/code&gt; from a function that does &lt;code&gt;a * b&lt;/code&gt; is a tautology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No tautologies.&lt;/strong&gt; &lt;code&gt;assert(x == x)&lt;/code&gt; is not a test, even when &lt;code&gt;x&lt;/code&gt; is a function call.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-bugs-the-framework-found-in-itself"&gt;The bugs the framework found in itself&lt;/h2&gt;
&lt;p&gt;The post linked above documents three real bugs the framework caught when it was first turned loose on its own implementation. The most embarrassing one was a &amp;ldquo;happy path&amp;rdquo; test that asserted the wrong field — passed for two months before the framework&amp;rsquo;s own escape-scan flagged it.&lt;/p&gt;</description></item><item><title>Four Production-Deploy Gotchas</title><link>https://startaitools.com/features/building-mcp-servers/03-deploy-gotchas/</link><pubDate>Tue, 05 May 2026 08:00:00 -0500</pubDate><guid>https://startaitools.com/features/building-mcp-servers/03-deploy-gotchas/</guid><description>&lt;p&gt;&lt;strong&gt;Source post:&lt;/strong&gt; &lt;a href="https://startaitools.com/posts/five-releases-fifteen-minutes-mandy-cutover-and-freeze-break/"&gt;Four production deploy gotchas&lt;/a&gt; (companion: VPS-as-the-home Day 1)&lt;/p&gt;
&lt;p&gt;Tests pass. CI is green. The merge is clean. You hit deploy and the production logs light up. Welcome to the seam where everything you tested doesn&amp;rsquo;t quite match where you&amp;rsquo;re running.&lt;/p&gt;
&lt;h2 id="the-four"&gt;The four&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Container image is built on a different libc than the host.&lt;/strong&gt; Compiles fine, runs fine in CI, segfaults on the host because the prebuilt wheel was linked against musl and the host is glibc. Add an explicit base-image declaration to your Dockerfile and run a smoke test on the production image during CI, not just the host CI image.&lt;/p&gt;</description></item></channel></rss>