The Moment I Realized AI Was Stuck in a Text Box
Picture this: You're deep in a coding session. Your AI buddy just gave you the perfect shell command. You copy it. You paste it. You run it. You go back. You paste the output. The AI says "try this instead." You copy. You paste. You run. You go back...
Over and over and over.
I snapped one day and thought: "Why can't the AI just... DO it?"
So I built a thing. And it changed everything.
๐ฌ Let Me Show You What It Looks Like
Instead of the old copy-paste dance, my conversations now go like this:
Me: "What's eating all my RAM right now?"
AI: Actually checks my running processes and responds: "Chrome is using 2.1GB across 47 processes ๐
. VS Code is at 890MB. Want me to kill any of these?"
Me: "Nah, but can you find all those .tmp files in my Downloads and clean them up?"
AI: Searches my filesystem, finds 23 temp files, and asks: "Found 23 .tmp files taking up 340MB. Here's the list. Want me to delete them?"
Me: "Do it."
AI: Actually deletes them. "Done! Freed up 340MB. ๐"
That's real. That's not a mockup. That's my actual workflow now.
๐งฉ "But HOW?" โ Enter MCP
MCP (Model Context Protocol) is like a USB-C port for AI. It's an open standard that lets AI models plug into external tools through a clean, standardized interface.
You, talking to AI The Magic Bridge Your Computer
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ "Delete those โ โโโโบ โ MCP Server โ โโโโบ โ *actually deletes โ
โ temp files" โ โ (my project)โ โ the files* โ
โ โ โโโโ โ โ โโโโ โ โ
โ "Done! 340MB โ โ โ โ โ
โ freed up ๐" โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโ
The beautiful part? One server works with multiple AI clients โ Google Antigravity, Claude Code, Claude Desktop. Build once, use everywhere.
๐งฐ 28+ Tools. Yes, Really.
I went a little overboard. Here's the full arsenal:
๐ป System Tools โ "Be my sysadmin"
- ๐ฅ๏ธ "What's my CPU at?" โ Returns real-time CPU, memory, and disk stats
- โก "Run
git status" โ Executes PowerShell commands (with safety confirmation!) - ๐ "What's hogging my memory?" โ Lists processes sorted by RAM/CPU usage
- ๐ "Kill process 4521" โ Terminates it (after asking you first ๐)
- ๐ "Am I plugged in?" โ Battery level + charging status
- ๐ "Show me my IP address" โ Full network interface breakdown
๐ File Management โ "Be my file explorer"
- ๐ "What's in my Documents folder?" โ Lists files and directories
- ๐ "Read config.json" โ Displays file contents
- โ "Create a 'Projects' folder" โ Makes directories (recursive!)
- ๐ "Find all .py files" โ Glob-based file search
- โ๏ธ "Move report.pdf to Archive" โ Renames or moves files
- ๐๏ธ "Delete old-backup/" โ Removes files/dirs (with confirmation)
๐ Web Tools โ "Be my browser"
- ๐ "Google Python best practices" โ Searches via DuckDuckGo
- ๐ฐ "Grab the text from this URL" โ Fetches + extracts clean text
- โฌ๏ธ "Download this file" โ Saves files from any URL
๐ฆ App Management โ "Be my IT department"
- ๐ "What do I have installed?" โ Lists all apps (via winget)
- ๐ฅ "Install Firefox" โ Installs from winget repository
- ๐ "Update all my apps" โ Updates installed applications
๐ง Utilities โ "Be my Swiss Army knife"
- ๐ "What's on my clipboard?" โ Reads clipboard contents
- โ๏ธ "Copy this to clipboard" โ Sets clipboard text
- ๐ธ "Take a screenshot" โ Captures your screen
๐ "Wait... Isn't This Terrifying?"
You're thinking it. I thought it too.
"You gave an AI the power to delete files and kill processes?!"
Yes. But. I'm not a maniac. Let me introduce you to my favorite feature:
The Two-Phase Confirmation System ๐ซก
Every dangerous operation follows a strict handshake:
You: "Delete that folder"
AI โโโบ MCP Server: "I want to delete /Users/me/old-stuff"
MCP Server: "Here's a token: abc-123. Show this warning to the user."
AI โโโบ You: "โ ๏ธ I'm about to delete /Users/me/old-stuff.
This can't be undone. OK?"
You: "Yes, do it."
AI โโโบ MCP Server: "confirm_action(token='abc-123')"
MCP Server: *actually deletes it*
AI โโโบ You: "Done! โ
"
No token = no execution. Period.
And the token? It expires in 5 minutes. So a sneaky prompt injection can't stash a delete command and run it later.
The Security Wall ๐งฑ
Even with confirmation, the server blocks genuinely dangerous stuff:
- ๐ซ Can't touch system files โ
C:\Windows\System32? Nope. - ๐ซ Can't probe your network โ
localhost,192.168.x.x, cloud metadata endpoints? All blocked. - ๐ซ Can't write executables โ Trying to create
.exe,.bat,.ps1files? Denied. - ๐ซ Can't open shady programs โ Only whitelisted apps (notepad, chrome, etc.) work.
I wrote 39 security tests covering every attack vector I could think of. 39/39 pass. โ
โก Set It Up in 5 Minutes
For real. Five minutes. Here we go:
1. Clone + Install
git clone https://github.com/ViswaSrimaan/mcp_servers.git
cd mcp_servers
python -m venv .venv
.venv\Scripts\activate
pip install mcp psutil httpx beautifulsoup4 pyperclip Pillow duckduckgo-search
2. Pick Your AI Client
๐ข Google Antigravity
Edit %USERPROFILE%\.gemini\antigravity\mcp_config.json:
{
"mcpServers": {
"laptop-assistant": {
"type": "stdio",
"command": "C:\\your\\path\\mcp_servers\\.venv\\Scripts\\python.exe",
"args": ["C:\\your\\path\\mcp_servers\\server.py"]
}
}
}
Restart Antigravity. Done. โ
๐ฃ Claude Code (VS Code)
Create .mcp.json in your workspace root:
{
"mcpServers": {
"laptop-assistant": {
"type": "stdio",
"command": "C:\\your\\path\\mcp_servers\\.venv\\Scripts\\python.exe",
"args": ["C:\\your\\path\\mcp_servers\\server.py"]
}
}
}
Reload VS Code. Done. โ
๐ต Claude Desktop
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"laptop-assistant": {
"command": "C:\\your\\path\\mcp_servers\\.venv\\Scripts\\python.exe",
"args": ["C:\\your\\path\\mcp_servers\\server.py"]
}
}
}
Restart Claude Desktop. Done. โ
3. Start Chatting ๐
Ask your AI to check your battery, list your files, or search the web. It just... works.
๐๏ธ Under the Hood (For the Curious)
The architecture is dead simple and very extensible:
server.py โ Entry point, registers everything
โโโ src/safety.py โ Token-based confirmation system
โโโ src/security_config.pyโ All the security rules
โโโ src/tools/
โโโ system_tools.py โ 7 tools (CPU, processes, battery...)
โโโ file_tools.py โ 9 tools (read, write, search...)
โโโ web_tools.py โ 3 tools (search, fetch, download)
โโโ app_tools.py โ 5 tools (install, update, uninstall)
โโโ utility_tools.py โ 4 tools (clipboard, screenshot)
Want to add a tool? It's literally this:
@mcp.tool()
def vibe_check() -> str:
"""Check the vibes of your system.
Returns a vibe report based on CPU temp and battery level.
"""
# your code here
return json.dumps({"vibes": "immaculate"})
Register it, restart, and your AI can use it immediately. That's the power of MCP.
๐ฎ What's Coming Next
This is just v1. Here's my roadmap:
- ๐ง Linux and macOS support โ Windows-only no more
- ๐ค Task automation โ chain tools into multi-step workflows
- ๐ Plugin system โ drop in custom tool modules
- ๐ Browser automation โ full web interaction, not just fetching
๐ซต Your Turn
I built this to scratch my own itch โ I wanted my AI to stop being a talker and start being a doer. If that resonates with you, give it a try:
โญ github.com/ViswaSrimaan/mcp_servers
Star it, fork it, break it, fix it, PR it. The whole repo is MIT licensed and contributions are very welcome.
Got questions? Found a bug? Want to show off what you built with it? Drop a comment below โ I read every one! ๐ฌ
Top comments (2)
Well articulated. How.did you achieve agent orchestration?
Thanks, Sandhya! For orchestration, Iโm leaning on the native tool-calling capabilities of the AI clients (like Claude or Google Antigravity). Through the MCP standard, the server exposes the 'manifest' of 28+ tools. The agent then uses its own reasoning engine to decide which tool to call based on the user's intent. For complex tasks, it handles the multi-step reasoning loopโchecking the state, calling a tool, and then deciding the next move based on the output.