<?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: KUSHAL BARAL</title>
    <description>The latest articles on DEV Community by KUSHAL BARAL (@kushal1o1).</description>
    <link>https://dev.to/kushal1o1</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%2F3891037%2Fca094ef2-6c41-476b-a44e-77a3a61af457.jpeg</url>
      <title>DEV Community: KUSHAL BARAL</title>
      <link>https://dev.to/kushal1o1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kushal1o1"/>
    <language>en</language>
    <item>
      <title>Creativity Is Theft. And Nature Stole First.</title>
      <dc:creator>KUSHAL BARAL</dc:creator>
      <pubDate>Thu, 07 May 2026 14:41:57 +0000</pubDate>
      <link>https://dev.to/kushal1o1/creativity-is-theft-and-nature-stole-first-3l94</link>
      <guid>https://dev.to/kushal1o1/creativity-is-theft-and-nature-stole-first-3l94</guid>
      <description>&lt;p&gt;Let me ask you something weird.&lt;/p&gt;

&lt;p&gt;Why does the human brain look like a neural network?&lt;/p&gt;

&lt;p&gt;Not metaphorically. Actually. Literally. The thing we built and called "artificial intelligence" — the thing we're all losing sleep over — looks suspiciously like the thing already sitting inside your skull. Neurons firing. Weights adjusting. Patterns recognizing patterns. Learning from data. Getting better over time.&lt;/p&gt;

&lt;p&gt;We didn't invent that. We copied it. And then we called it innovation.&lt;/p&gt;




&lt;p&gt;It doesn't stop at the brain either.&lt;/p&gt;

&lt;p&gt;The camera? That's an eye. Lens, aperture, light hitting a surface and creating an image. We looked at the human eye and said "yeah we want that" and spent centuries trying to build it out of glass and metal.&lt;/p&gt;

&lt;p&gt;Sonar? Bats had it first. We just figured out how to put it in submarines.&lt;/p&gt;

&lt;p&gt;Flight? Birds. Obviously. The Wright brothers didn't sit down and think from scratch. They watched things that already flew and asked "what if we did that but with wood and fabric?"&lt;/p&gt;

&lt;p&gt;Velcro was invented by a guy who kept getting burrs stuck to his dog's fur.&lt;/p&gt;

&lt;p&gt;The whole field of biomimicry exists because at some point engineers collectively admitted — &lt;em&gt;nature figured this out already, let's just copy it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So here's the uncomfortable question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is human creativity actually just... really sophisticated theft?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Okay stay with me here because this is where it gets interesting.&lt;/p&gt;

&lt;p&gt;Now science will tell you — nature didn't design any of this intentionally. No plan. No intention. Just random mutations and survival. And maybe that's true.&lt;/p&gt;

&lt;p&gt;But honestly? When I sit with that explanation something feels off to me.&lt;/p&gt;

&lt;p&gt;Like — the eye. Think about the eye for a second. Something that detects a single photon of light. That adjusts in real time. That self repairs. That runs on almost zero energy. That connects directly to the most complex thinking machine we've ever encountered.&lt;/p&gt;

&lt;p&gt;And we're supposed to believe that just... stumbled into existence?&lt;/p&gt;

&lt;p&gt;I'm not saying it didn't. I'm not smart enough to say that. I'm just saying — when I look at how perfect these solutions are. How every answer was already there before we thought to ask the question. It doesn't feel like accident to me. It feels like something was already trying to be understood.&lt;/p&gt;




&lt;p&gt;Over millions of years. Through billions of failures. Through creatures that couldn't see well enough dying before they reproduced and creatures that could see slightly better surviving just long enough to pass that slight improvement forward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evolution is just iteration with death as the feedback loop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And what came out the other side? The most optimized, elegant, efficient solutions to problems that we are still — with all our intelligence and technology — struggling to fully replicate.&lt;/p&gt;

&lt;p&gt;The brain runs on roughly 20 watts of power. Your laptop charger uses more energy than the most complex thinking machine ever created. A bird's bone structure is so optimized for weight and strength that aerospace engineers still study it.&lt;/p&gt;

&lt;p&gt;Nature had billions of years and infinite iterations and the strictest possible quality control — if it didn't work, it died. Of course what survived is optimal. Of course we keep copying it. What else would we copy?&lt;/p&gt;




&lt;p&gt;So back to AI.&lt;/p&gt;

&lt;p&gt;When we built neural networks we weren't being clever. We were being honest. We looked at the only working example of general intelligence we had — the human brain — and we said "let's start there."&lt;/p&gt;

&lt;p&gt;Convolutional Neural Networks that power image recognition? Directly inspired by how the visual cortex processes information. The way your brain doesn't look at an image all at once but breaks it into edges, shapes, patterns, then assembles them — CNNs do exactly that.&lt;/p&gt;

&lt;p&gt;Reinforcement learning? That's just evolution again. Try things. Reward what works. Punish what doesn't. Repeat until something intelligent emerges.&lt;/p&gt;

&lt;p&gt;Transformers, attention mechanisms, the whole architecture behind ChatGPT and everything like it — it's all trying to approximate something the brain does naturally, effortlessly, while also somehow remembering to breathe and regulate your heartbeat at the same time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We are not building artificial intelligence. We are building a very early, very rough, very power hungry draft of what nature already perfected.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;And here's where the philosophy hits.&lt;/p&gt;

&lt;p&gt;If we copied nature. And nature copied nothing because nature invented the template. Then what is originality actually?&lt;/p&gt;

&lt;p&gt;Picasso said &lt;em&gt;"good artists borrow, great artists steal."&lt;/em&gt; But nature didn't even steal. Nature just ran the algorithm long enough that something extraordinary fell out the other side.&lt;/p&gt;

&lt;p&gt;Maybe that's what creativity actually is. Not thinking of something from nothing. Nobody does that. Nothing comes from nothing.&lt;/p&gt;

&lt;p&gt;Maybe creativity is just &lt;strong&gt;iteration with taste.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You take what exists. You combine it differently. You run it through your own specific set of experiences and failures and weird 2am thoughts. And something comes out the other side that didn't exist before. Not because you invented from zero. But because you are a specific, unrepeatable combination of everything you've ever absorbed.&lt;/p&gt;

&lt;p&gt;Just like evolution. Just like nature. Just like the neural network sitting in your skull right now reading these words and deciding whether they mean something.&lt;/p&gt;




&lt;p&gt;So is AI creative?&lt;/p&gt;

&lt;p&gt;It was trained on everything humans ever made. Every book. Every image. Every pattern. Every idea. It iterates. It combines. It produces something that didn't exist before.&lt;/p&gt;

&lt;p&gt;Sounds familiar right?&lt;/p&gt;

&lt;p&gt;The difference — and maybe this is the only difference that matters — is that &lt;strong&gt;AI doesn't have a why.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nature iterated because death was the alternative. Humans create because something inside us reaches toward meaning. Because we feel things. Because we're trying to say something to someone. Because we're afraid of being forgotten. Because we love someone and don't know how else to say it. Because we're confused about being alive and making something feels like an answer even when it isn't.&lt;/p&gt;

&lt;p&gt;AI creates because you asked it to.&lt;/p&gt;

&lt;p&gt;That gap — between &lt;em&gt;creating because you must&lt;/em&gt; and &lt;em&gt;creating because you were prompted&lt;/em&gt; — might be the last real distinction worth talking about.&lt;/p&gt;




&lt;p&gt;And maybe this is just me thinking out loud. Maybe this is where the science ends and something else begins.&lt;/p&gt;

&lt;p&gt;But when I look at how perfectly optimized nature is. How every solution was already there before we thought to look for it. How we keep arriving at the same answers from completely different directions.&lt;/p&gt;

&lt;p&gt;It feels less like random accident to me. And more like something was already trying to be understood.&lt;/p&gt;

&lt;p&gt;Maybe evolution isn't nature figuring things out. Maybe it's something figuring itself out. Through nature. Through us. Through whatever comes next.&lt;/p&gt;

&lt;p&gt;Every tradition, every belief system, every culture that ever existed — they all pointed at something like this. Just with different words. Different stories. Different names. We rebranded it as science. And forgot to ask if they were describing the same thing all along.&lt;/p&gt;




&lt;p&gt;But that's just what I think. I'm not asking you to agree. I'm just asking you to sit with it.&lt;/p&gt;

&lt;p&gt;So here's my question for you.&lt;/p&gt;

&lt;p&gt;If creativity is just sophisticated iteration — if nature iterated blindly, humans iterated with feeling, and AI iterates with data — &lt;strong&gt;at what point in that chain did something genuinely new actually enter the world?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or did it never? Was it always just the same thing learning about itself through different shapes?&lt;/p&gt;

&lt;p&gt;I genuinely don't know. Tell me what you think.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This was written with AI. But the question kept me up at night long before I typed the first prompt. So whose thought is it really? Maybe that's just another version of the same question.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>creativity</category>
      <category>kushal1o1</category>
    </item>
    <item>
      <title>Haul :) a tiny file organizer daemon for Linux</title>
      <dc:creator>KUSHAL BARAL</dc:creator>
      <pubDate>Sat, 25 Apr 2026 11:21:47 +0000</pubDate>
      <link>https://dev.to/kushal1o1/haul-a-tiny-file-organizer-daemon-for-linux-4a9p</link>
      <guid>https://dev.to/kushal1o1/haul-a-tiny-file-organizer-daemon-for-linux-4a9p</guid>
      <description>&lt;p&gt;I hate messy Downloads folders. You know the feeling:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;report.pdf
report(1).pdf
report(2).pdf
screenshot.png
screenshot(1).png
screenshot(2).png
video_final.mp4
video_final_FINAL.mp4
notes.docx
notes_copy.docx
notes_copy_FINAL(1).docx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At some point you just stop caring and let it rot.&lt;/p&gt;

&lt;p&gt;Cron jobs felt overkill — why poll every minute just to watch an empty folder? So I built &lt;strong&gt;haul&lt;/strong&gt;. Drop a file in a watched folder, it moves it to the right place. That's it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The trick — zero CPU when idle
&lt;/h2&gt;

&lt;p&gt;haul uses &lt;code&gt;inotify&lt;/code&gt;, a filesystem event API built into the Linux kernel. Instead of running a loop, it just waits for the kernel to say "hey, a file arrived" — sorts it — then exits. systemd restarts it immediately for the next file.&lt;/p&gt;

&lt;p&gt;No polling. No persistent process. Nothing running between events.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;file lands
    ↓
kernel fires inotify
    ↓
haul wakes up
    ↓
file sorted → ~/Data/subfolder
    ↓
haul exits
    ↓
systemd restarts it
    ↓
(waiting for next file...)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;inotify-tools &lt;span class="nt"&gt;-y&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/kushal1o1/haul/main/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;haul install      set up and start
haul sweep        sort files already sitting in watched folders
haul start/stop   manage the service
haul logs         tail the live log
haul uninstall    remove haul (your ~/Data/ is untouched)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What it sorts
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Folder&lt;/th&gt;
&lt;th&gt;Extensions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PDFs&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.pdf&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Images&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.jpg&lt;/code&gt; &lt;code&gt;.jpeg&lt;/code&gt; &lt;code&gt;.png&lt;/code&gt; &lt;code&gt;.gif&lt;/code&gt; &lt;code&gt;.webp&lt;/code&gt; &lt;code&gt;.svg&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Videos&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.mp4&lt;/code&gt; &lt;code&gt;.mkv&lt;/code&gt; &lt;code&gt;.avi&lt;/code&gt; &lt;code&gt;.mov&lt;/code&gt; &lt;code&gt;.webm&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.mp3&lt;/code&gt; &lt;code&gt;.flac&lt;/code&gt; &lt;code&gt;.wav&lt;/code&gt; &lt;code&gt;.ogg&lt;/code&gt; &lt;code&gt;.m4a&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.py&lt;/code&gt; &lt;code&gt;.js&lt;/code&gt; &lt;code&gt;.ts&lt;/code&gt; &lt;code&gt;.sh&lt;/code&gt; &lt;code&gt;.json&lt;/code&gt; &lt;code&gt;.yaml&lt;/code&gt; &lt;code&gt;.sql&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zips&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.zip&lt;/code&gt; &lt;code&gt;.tar.gz&lt;/code&gt; &lt;code&gt;.rar&lt;/code&gt; &lt;code&gt;.7z&lt;/code&gt; &lt;code&gt;.deb&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WordFiles&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.doc&lt;/code&gt; &lt;code&gt;.docx&lt;/code&gt; &lt;code&gt;.odt&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Excel&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;.xlsx&lt;/code&gt; &lt;code&gt;.xls&lt;/code&gt; &lt;code&gt;.csv&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Others&lt;/td&gt;
&lt;td&gt;everything else&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Screenshots are detected by source folder, not filename — set &lt;code&gt;SCREENSHOTS&lt;/code&gt; to wherever your tool saves them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fully configurable
&lt;/h2&gt;

&lt;p&gt;Everything — watched folders, destination, subfolder names, extension rules — is just bash variables at the top of &lt;code&gt;~/.local/bin/haul&lt;/code&gt;. Open it in any editor and change what you want.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;DATA&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/Files"&lt;/span&gt;          &lt;span class="c"&gt;# change destination&lt;/span&gt;
&lt;span class="nv"&gt;DOWNLOADS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/Desktop"&lt;/span&gt;   &lt;span class="c"&gt;# change watched folder&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After editing: &lt;code&gt;haul restart&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Duplicate handling
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Same file arrives again → deleted silently&lt;/li&gt;
&lt;li&gt;Same name, different content → renamed with a timestamp before moving&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Logs
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;[2024-01-15 14:30:22] MOVED report.pdf → ~/Data/PDFs/
[2024-01-15 14:31:45] DUPLICATE (identical) skipped: report.pdf
[2024-01-15 14:32:10] CONFLICT renamed: notes_20240115_143210.md
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt; Linux with systemd, bash 4+, inotify-tools. Tested on Ubuntu 22.04 / 24.04.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://github.com/kushal1o1/haul" rel="noopener noreferrer"&gt;github.com/kushal1o1/haul&lt;/a&gt; — MIT licensed.&lt;/p&gt;

&lt;p&gt;If you've been living with a messy Downloads folder, give &lt;code&gt;haul sweep&lt;/code&gt; a try first — it sorts whatever's already there without touching the daemon.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>bash</category>
      <category>opensource</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Real MCP has a lot going on - but the core idea is this simple</title>
      <dc:creator>KUSHAL BARAL</dc:creator>
      <pubDate>Tue, 21 Apr 2026 17:18:37 +0000</pubDate>
      <link>https://dev.to/kushal1o1/real-mcp-has-a-lot-going-on-but-the-core-idea-is-this-simple-3e6c</link>
      <guid>https://dev.to/kushal1o1/real-mcp-has-a-lot-going-on-but-the-core-idea-is-this-simple-3e6c</guid>
      <description>&lt;p&gt;MCP (Model Context Protocol) is everywhere right now. Claude uses it, Cursor uses it, a ton of AI tooling is being built on top of it. There's an official SDK, servers, transports, capabilities negotiation... it can feel like a lot.&lt;/p&gt;

&lt;p&gt;But when I actually dug into what MCP is doing at its core, I realized — it's just structured JSON going back and forth. That's the whole idea. So I built a minimal version from raw Python, no libraries, to make sure I actually understood it before touching the real thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What MCP actually is
&lt;/h2&gt;

&lt;p&gt;Strip away the SDK and the spec details — here's the mental model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a server exposes tools (functions an AI can call)&lt;/li&gt;
&lt;li&gt;a client discovers those tools and calls them by name&lt;/li&gt;
&lt;li&gt;everything is JSON, every message has a predictable shape&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The real MCP spec adds things like capability negotiation, resource types, prompt templates, SSE transport, and more. But that core loop — client asks, server responds with a tool result — is the same.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Think of it like HTTP but designed specifically for AI agents calling tools. The protocol exists so any agent can talk to any server without needing custom glue code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What I built to understand it
&lt;/h2&gt;

&lt;p&gt;Two versions, zero external dependencies — just Python stdlib:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Basic version&lt;/strong&gt; — the absolute minimum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;client sends a JSON request&lt;/li&gt;
&lt;li&gt;server reads it from &lt;code&gt;stdin&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;server runs a tool&lt;/li&gt;
&lt;li&gt;server replies with JSON on &lt;code&gt;stdout&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Richer version&lt;/strong&gt; — closer to real MCP, adds a JSON-RPC style flow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;initialize&lt;/code&gt; — handshake, server returns its name and version&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tools/list&lt;/code&gt; — client asks what tools exist&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tools/call&lt;/code&gt; — client calls a tool by name with arguments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That three-step flow is basically what happens every time an AI agent connects to a real MCP server.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a protocol works (the bit no one explains)
&lt;/h2&gt;

&lt;p&gt;Two processes agree on a message format, then just talk. That's it. In this case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the server sits there reading &lt;code&gt;stdin&lt;/code&gt; line by line&lt;/li&gt;
&lt;li&gt;the client writes one JSON object per line, reads one JSON response back&lt;/li&gt;
&lt;li&gt;no sockets, no framework — just text in an agreed shape&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Real MCP uses stdio transport for local servers and SSE for remote ones. Same idea, just fancier plumbing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 basic-mcp-server.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type a raw request:&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="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"say_hello"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"arguments"&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="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bro"&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;Get back:&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="nl"&gt;"result"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hello bro"&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;No library. No magic. Just Python reading and writing JSON — same as what the real SDK wraps.&lt;/p&gt;

&lt;p&gt;Full code here → &lt;a href="https://github.com/kushal1o1/Mcp-basics" rel="noopener noreferrer"&gt;https://github.com/kushal1o1/Mcp-basics&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Now I want to build an actual MCP module on top of this foundation — something useful, something real. A devtool?  A workflow helper for AI agents?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drop your idea in the comments&lt;/strong&gt; — what MCP module should I build next? I'll pick the most interesting one and document the whole thing.&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>kushal1o1</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
