<?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: Jonathan</title>
    <description>The latest articles on DEV Community by Jonathan (@tangman69).</description>
    <link>https://dev.to/tangman69</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3792829%2F9df74a76-5aac-4955-8fe8-d8994a53bf3c.png</url>
      <title>DEV Community: Jonathan</title>
      <link>https://dev.to/tangman69</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tangman69"/>
    <language>en</language>
    <item>
      <title>Why Your MCP Setup Keeps Timing Out in 60 Seconds (And How I Fixed It on Windows)</title>
      <dc:creator>Jonathan</dc:creator>
      <pubDate>Thu, 26 Feb 2026 19:36:06 +0000</pubDate>
      <link>https://dev.to/tangman69/why-your-mcp-setup-keeps-timing-out-in-60-seconds-and-how-i-fixed-it-on-windows-1b2n</link>
      <guid>https://dev.to/tangman69/why-your-mcp-setup-keeps-timing-out-in-60-seconds-and-how-i-fixed-it-on-windows-1b2n</guid>
      <description>&lt;p&gt;I posted the FusionAL launch yesterday. Today I'm dropping the real reason it exists.&lt;/p&gt;

&lt;p&gt;Every dev hits this: add more than 8 MCP servers → Claude Desktop (or Cursor/VSCode) spins for exactly 60 seconds → red X, "timed out".&lt;/p&gt;

&lt;p&gt;Happens on every underpowered machine (my i5-7300HQ is the poster child). Tutorials ignore it. AWS/Finch articles skip Windows entirely.&lt;/p&gt;

&lt;p&gt;I documented the &lt;strong&gt;6 Windows-specific failure modes&lt;/strong&gt; nobody else solved, then built one Docker gateway that loads 150+ tools under the limit every single time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 6 Real Killers
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;BOM in claude_desktop_config.json&lt;/strong&gt; — PowerShell &lt;code&gt;Out-File -Encoding UTF8&lt;/code&gt; adds a hidden BOM. Claude silently ignores the file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;%USERPROFILE% doesn't expand&lt;/strong&gt; — Claude Desktop does not resolve env vars in the config.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;docker.exe path&lt;/strong&gt; — No inherited PATH. Must be full absolute path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker named pipe vs Unix socket&lt;/strong&gt; — Windows pipe flakes; &lt;code&gt;/var/run/docker.sock&lt;/code&gt; is reliable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cold-start bloat&lt;/strong&gt; — Any server downloading Chrome (Puppeteer) or heavy deps on first run blows the budget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Registry bloat&lt;/strong&gt; — &amp;gt;8 entries in registry.yaml = timeout on normal hardware.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Fix: One Lean Gateway
&lt;/h2&gt;

&lt;p&gt;FusionAL runs &lt;strong&gt;one&lt;/strong&gt; &lt;code&gt;docker/mcp-gateway&lt;/code&gt; container that manages everything via a tiny registry.yaml + catalogs. Init drops to 12-18 seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exact Config (No BOM, Works Every Time)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
powershell
$config = '{"mcpServers":{"fusional-gateway":{"command":"C:\\Program Files\\Docker\\Docker\\resources\\bin\\docker.exe","args":["run","-i","--rm","-v","/var/run/docker.sock:/var/run/docker.sock","-v","C:/Users/puddi/.docker/mcp:/mcp","docker/mcp-gateway","--catalog=/mcp/catalogs/docker-mcp.yaml","--catalog=/mcp/catalogs/custom.yaml","--registry=/mcp/registry.yaml","--config=/mcp/config.yaml","--transport=stdio"]}},"preferences":{"sidebarMode":"chat","coworkScheduledTasksEnabled":false}}'

[System.IO.File]::WriteAllText("$env:APPDATA\Claude\claude_desktop_config.json", $config, (New-Object System.Text.UTF8Encoding($false)))
Start the Stack
PowerShellcd C:\Users\puddi\Projects\mcp-consulting-kit
docker compose up -d
Restart Claude Clean
PowerShellStop-Process -Name "claude" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
Start-Process "$env:LOCALAPPDATA\AnthropicClaude\claude.exe"
Keep registry.yaml ≤8 entries. The gateway handles the rest.
Results on My i5-7300HQ

Full 150+ tools: 12-18s cold start
No more Puppeteer downloads in registry
Works with Claude Desktop today, Cursor/VSCode/Amazon Q tomorrow (gateway is LLM-agnostic)

Get It

Gateway repo: https://github.com/TangMan69/FusionAL
Full consulting kit (3 custom servers + materials): https://github.com/TangMan69/mcp-consulting-kit

Done-for-you setup + custom MCP servers for your stack? Book 30 min: https://calendly.com/jonathanmelton004/30min
What timeout issue are you still hitting? Comment below — I'll debug it live.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>mcp</category>
      <category>claudedesktop</category>
      <category>windowsdev</category>
      <category>aitools</category>
    </item>
    <item>
      <title>I Built a Unified MCP Gateway That Loads 150+ AI Tools Into Claude Desktop</title>
      <dc:creator>Jonathan</dc:creator>
      <pubDate>Thu, 26 Feb 2026 07:36:33 +0000</pubDate>
      <link>https://dev.to/tangman69/i-built-a-unified-mcp-gateway-that-loads-150-ai-tools-into-claude-desktop-2ido</link>
      <guid>https://dev.to/tangman69/i-built-a-unified-mcp-gateway-that-loads-150-ai-tools-into-claude-desktop-2ido</guid>
      <description>&lt;h2&gt;
  
  
  Here's What Actually Broke on Windows
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;And why I built it from a place most developers never talk about.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Part First
&lt;/h2&gt;

&lt;p&gt;I'm not a CS grad. I don't have a job. I'm a recovering addict who found code as a way to rebuild something real from scratch.&lt;/p&gt;

&lt;p&gt;A few years ago I started teaching myself to program. Not from a bootcamp or a degree — just grinding, failing, asking questions, and refusing to quit. Claude became my coding partner. Not just a tool — a genuine collaborator that met me where I was and helped me build things I had no business building yet.&lt;/p&gt;

&lt;p&gt;This project is one of those things.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;FusionAL&lt;/strong&gt; is a unified MCP (Model Context Protocol) gateway that loads 150+ AI tools into Claude Desktop via a single Docker container — on Windows, which nobody else had documented properly.&lt;/p&gt;

&lt;p&gt;When it's running, Claude Desktop has access to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;arxiv&lt;/code&gt; — search and retrieve research papers&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;playwright&lt;/code&gt; — full browser automation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;wikipedia&lt;/code&gt;, &lt;code&gt;git&lt;/code&gt;, &lt;code&gt;memory&lt;/code&gt;, &lt;code&gt;fetch&lt;/code&gt;, &lt;code&gt;time&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;node-code-sandbox&lt;/code&gt; — execute JavaScript safely&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sequentialthinking&lt;/code&gt; — structured reasoning chains&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;duckduckgo&lt;/code&gt; — live web search&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;context7&lt;/code&gt; — up-to-date library documentation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;desktop-commander&lt;/code&gt; — terminal and file system control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3 custom servers I built myself:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Business Intelligence MCP (natural language → SQL)&lt;/li&gt;
&lt;li&gt;API Integration Hub (Slack, GitHub, Stripe)&lt;/li&gt;
&lt;li&gt;Content Automation MCP (web scraping, RSS, monitoring)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;One Docker command. 150+ tools. All talking to Claude through a single gateway.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Six Things That Broke on Windows (That Nobody Documented)
&lt;/h2&gt;

&lt;p&gt;This is the part that took weeks. Every tutorial assumed Mac or Linux. Windows was a completely different beast.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Wrong Socket Mount
&lt;/h3&gt;

&lt;p&gt;Every guide says:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-v /var/run/docker.sock:/var/run/docker.sock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows with Docker Desktop + WSL2, the Unix socket at &lt;code&gt;/var/run/docker.sock&lt;/code&gt; actually works — but only if Docker Desktop has WSL2 integration enabled. If you're using Windows named pipes (&lt;code&gt;//./pipe/docker_engine&lt;/code&gt;) it fails silently with no useful error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Keep the Unix socket mount. Make sure WSL2 integration is on in Docker Desktop settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. %USERPROFILE% Not Expanding in Claude Desktop Launcher
&lt;/h3&gt;

&lt;p&gt;Claude Desktop's config file doesn't expand Windows environment variables. So this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="s2"&gt;"-v"&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"%USERPROFILE%&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;.docker&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;mcp:/mcp"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fails silently. The container launches but can't find any config files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Hardcode the absolute path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="s2"&gt;"-v"&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"C:/Users/puddi/.docker/mcp:/mcp"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Puppeteer Downloading Chrome on Every Cold Start
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;docker/mcp-gateway&lt;/code&gt; image supports a puppeteer server. On first load puppeteer downloads a full Chrome binary (~150MB). Claude Desktop has a 60-second MCP initialization timeout. Puppeteer blows past it every time.&lt;/p&gt;

&lt;p&gt;The gateway appears to launch but Claude Desktop silently drops it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Remove puppeteer from &lt;code&gt;registry.yaml&lt;/code&gt; entirely. Playwright is already in the stack and does everything puppeteer does.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Wrong Image Name
&lt;/h3&gt;

&lt;p&gt;Early docs referenced &lt;code&gt;fusional&lt;/code&gt; as the gateway image. The actual Docker Hub image is &lt;code&gt;docker/mcp-gateway&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Use &lt;code&gt;docker/mcp-gateway&lt;/code&gt; exactly.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Malformed config.yaml
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;config.yaml&lt;/code&gt; schema for the arxiv server requires a &lt;code&gt;storage_path&lt;/code&gt; key in a specific nested structure. Getting it wrong causes the gateway to fail on arxiv init and cascade into other servers not loading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Pass &lt;code&gt;--config=/mcp/config.yaml&lt;/code&gt; explicitly and validate the schema matches what arxiv expects.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. docker.exe Not in PATH
&lt;/h3&gt;

&lt;p&gt;Claude Desktop launches MCP servers in a restricted environment that doesn't inherit your full system PATH. Calling &lt;code&gt;docker&lt;/code&gt; directly fails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Use the full absolute path to the binary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"C:&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Program Files&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Docker&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Docker&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;resources&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;bin&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;docker.exe"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Working Config
&lt;/h2&gt;

&lt;p&gt;Here's the exact &lt;code&gt;claude_desktop_config.json&lt;/code&gt; that runs 150+ tools:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"fusional-gateway"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"C:&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Program Files&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Docker&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;Docker&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;resources&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;bin&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;docker.exe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"run"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"-i"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--rm"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"-v"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"/var/run/docker.sock:/var/run/docker.sock"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"-v"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"C:/Users/YOUR_USERNAME/.docker/mcp:/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"docker/mcp-gateway"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--catalog=/mcp/catalogs/docker-mcp.yaml"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--catalog=/mcp/catalogs/custom.yaml"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--registry=/mcp/registry.yaml"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--config=/mcp/config.yaml"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--transport=stdio"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;YOUR_USERNAME&lt;/code&gt; with your actual Windows username.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Custom Servers
&lt;/h2&gt;

&lt;p&gt;The three servers I built are in a separate repo — the &lt;strong&gt;MCP Consulting Kit&lt;/strong&gt;. Each is a FastAPI server with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API key authentication&lt;/li&gt;
&lt;li&gt;Rate limiting&lt;/li&gt;
&lt;li&gt;Docker isolation&lt;/li&gt;
&lt;li&gt;Shared security module across all three&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business Intelligence MCP&lt;/strong&gt; — point it at any PostgreSQL, MySQL, or SQLite database and ask questions in plain English. It generates and runs the SQL, returns results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API Integration Hub&lt;/strong&gt; — Slack messaging, GitHub issue creation, Stripe customer lookups — all through natural language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Automation MCP&lt;/strong&gt; — scrape any webpage, extract links or tables, parse RSS feeds, monitor pages for changes.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;I'm turning this into a consulting service. If you're a business that wants Claude Desktop connected to your actual tools — your database, your Slack, your GitHub — I build and deploy that for you.&lt;/p&gt;

&lt;p&gt;Both repos are fully open source, MIT licensed, free to use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/TangMan69/FusionAL" rel="noopener noreferrer"&gt;FusionAL — MCP Gateway&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/TangMan69/mcp-consulting-kit" rel="noopener noreferrer"&gt;MCP Consulting Kit&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Real Point
&lt;/h2&gt;

&lt;p&gt;I built this because I needed to prove to myself I could. Not for a job interview. Not for a grade. Because building real things that work is how I stay grounded.&lt;/p&gt;

&lt;p&gt;If you're learning to code from a hard place — no degree, no connections, no money — keep going. The tools available right now are unlike anything that existed five years ago. Claude will meet you where you are.&lt;/p&gt;

&lt;p&gt;You just have to show up.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Drop them in the comments. I documented everything that broke so you don't have to spend weeks on it like I did.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claude</category>
      <category>docker</category>
      <category>windows</category>
    </item>
  </channel>
</rss>
