NACC: From Local Network Orchestrator to Cloud Demo - A Journey Through Innovation
How a multi-node AI orchestrator was reimagined for HuggingFace Spaces, pioneering a two-space architecture to demonstrate distributed systems in the cloud
๐ The Vision: AI-Powered Network Orchestration
Imagine this scenario: You're a developer juggling multiple machines - your MacBook for coding, a Kali Linux VM for security testing, and a home server running your projects. Every task requires manual SSH connections, remembering IP addresses, navigating different filesystems, and context-switching between terminals.
What if you could just... talk to all of them at once?
That's the problem NACC (Network Agentic Command Control) was born to solve. Not through another dashboard, not through another monitoring tool, but through natural language powered by the Model Context Protocol (MCP).
๐ The Origin Story: Building for the Real World
The Original Vision
NACC started as an ambitious project for the HuggingFace MCP Birthday Hackathon 2025 - celebrating the first anniversary of Anthropic's Model Context Protocol. But it wasn't built as a "hackathon project" in the traditional sense. It was built as a real solution to a real problem I face daily as a cybersecurity student and developer.
The Original Architecture:
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ MacBook Pro โ โ Kali Linux VM โ โ Ubuntu Server โ
โ (Development) โ โ (Pen Test) โ โ (Production) โ
โ โ โ โ โ โ
โ NACC Node โ โ โ NACC Node โ โ โ NACC Node โ โ
โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ
โ โ โ
โ Local Network (192.168.x.x) โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโผโโโโโโโโโ
โ NACC Brain โ
โ (Orchestrator) โ
โ + AI Agent โ
โโโโโโโโโโโโโโโโโโโ
How it worked:
- Install agents on each machine with
nacc-node init - Natural language commands like "Scan the network on Kali and save results to my Mac"
- AI reasoning - The orchestrator understands intent, selects appropriate nodes, plans multi-step workflows
- Autonomous execution - Commands execute across nodes, files sync automatically, results aggregate in real-time
Why MCP Was Perfect for This
The Model Context Protocol isn't just about connecting AI to tools - it's about creating a standardized language for agents to communicate. For NACC, this meant:
- Tool Discovery: Nodes advertise their capabilities (filesystem access, shell commands, security tools)
- Context Sharing: The orchestrator maintains session state across multiple machines
- Secure Communication: JSON-RPC over HTTP with custom authentication
- Extensibility: New tools can be added without changing the core protocol
We built the entire MCP stack from scratch - no pre-existing SDKs, no templates. Every JSON-RPC handler, every tool definition, every security handshake was custom-written to truly understand the protocol.
๐ The Turning Point: "How Do We Demo This?"
Then came the reality check.
The hackathon required submissions to be deployable on HuggingFace Spaces. But NACC was fundamentally designed for local networks with full system access. The challenge was immense:
The Core Problems
๐ซ No Real Network: HuggingFace Spaces run in isolated containers. You can't SSH to other machines. You can't discover nodes on a LAN.
๐ Security Restrictions: File operations are sandboxed. Shell commands are limited. Root access? Forget it.
๐๏ธ Single Runtime: Spaces run one app. But NACC needs multiple nodes to demonstrate orchestration.
๐ฆ Static Environment: Can't install agents dynamically. Can't pair new nodes during runtime.
The Temptation to Simplify
It would have been easy to:
- Strip NACC down to a single-machine demo
- Fake the multi-node architecture with mocked responses
- Build a video showcase instead of a live demo
- Give up on the core innovation
But that wouldn't be NACC. That wouldn't be true to the vision.
๐ก The Innovation: Two Spaces, One Brain
After days of testing constraints and pushing boundaries, a radical idea emerged:
What if we use TWO separate HuggingFace Spaces and connect them via HTTP?
The Breakthrough Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MAIN SPACE (Gradio SDK) โ
โ https://huggingface.co/spaces/.../NACC โ
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โ Gradio UI โ โ Orchestrator โ โ AI Agent โ โ
โ โ (Frontend) โ โ (Brain) โ โ (Blaxel) โ โ
โ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโฌโโโโโโ โ
โ โ โ โ โ
โ โ โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค โ
โ โ โ hf-space-local (Node) โ โ
โ โ โ Local filesystem access โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ HTTP Bridge (Cross-Space Communication)
โ - JSON-RPC over HTTPS
โ - Tool invocation protocol
โ
โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ VM SPACE (Docker SDK) โ
โ https://huggingface.co/spaces/.../NACC-VM โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ vm-node-01 (NACC Node Server) โ โ
โ โ - Isolated Docker container โ โ
โ โ - Simulates remote machine โ โ
โ โ - RESTful API endpoints for tool execution โ โ
โ โ - Whitelisted command execution โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Why This Was Revolutionary
First Dual-Space Architecture: No one had used two separate HuggingFace Spaces to simulate a distributed system before.
Maintained Core Concepts: We preserved the fundamental NACC experience - AI reasoning, multi-node orchestration, cross-machine operations.
Real MCP Implementation: The Main Space and VM Space communicate via actual MCP-style JSON-RPC. The protocol is real, not simulated.
Constraints as Features: Limited filesystem access became a security showcase. Containerization became deployment flexibility.
๐ ๏ธ Technical Deep Dive: Building the Two-Space Bridge
Challenge 1: Cross-Space Communication
Problem: Gradio Spaces (main) can't directly communicate with Docker Spaces (VM) through Spaces' internal networking.
Solution: Implemented an HTTP-based tool invocation system:
# In Main Space (Orchestrator)
response = requests.post(
"https://huggingface.co/spaces/MCP-1st-Birthday/NACC-VM/tools/execute-command",
json={
"command": ["ls", "-la", "/app"],
"timeout": 30
}
)
# In VM Space (Node Server)
@app.post("/tools/execute-command")
async def execute_command(request: CommandRequest):
if request.command[0] not in ALLOWED_COMMANDS:
raise HTTPException(403, "Command not allowed")
result = subprocess.run(
request.command,
capture_output=True,
timeout=request.timeout
)
return {"stdout": result.stdout, "exit_code": result.returncode}
Key Innovation: The Main Space's orchestrator treats the VM Space as a "remote node" - identical to how it would treat a real machine on a network. The abstraction is seamless.
Challenge 2: Preserving Context Across Spaces
Problem: Each space is stateless. How do we maintain session context (current directory, active node) across commands?
Solution: Session management with state persistence:
class SessionState:
session_id: str
current_node: str = "hf-space-local" # Default to local
current_path: str = "/tmp"
created_at: datetime
last_activity: datetime
# Store in orchestrator memory
sessions: Dict[str, SessionState] = {}
# Every chat message includes session context
@app.post("/chat")
async def chat(query: str, session_id: str, current_node: str, current_path: str):
session = sessions.get(session_id)
# AI uses current_node to route commands
# Updates session state based on user actions
return {
"response": ai_response,
"context": {
"current_node": updated_node,
"current_path": updated_path
}
}
Impact: Users can say "switch to vm-node-01" and all subsequent commands automatically target the VM Space - even though it's a separate deployment!
Challenge 3: Security in Open Environments
Problem: Anyone can access these Spaces. We can't allow arbitrary command execution.
Solution: Multi-layer security model:
- Command Whitelisting (VM Space):
ALLOWED_COMMANDS = {
"ls", "cat", "pwd", "echo", "python3", "head", "tail",
"find", "grep", "wc", "hostname", "whoami", "df", "du"
}
- Path Restrictions:
ROOT_DIR = "/app" # All operations must stay inside /app
- Non-Root User:
RUN useradd -m -s /bin/bash user
USER user
- Timeout Enforcement: All commands have 30-second timeout limits.
Result: The demo is safe for public access while still showcasing NACC's capabilities.
Challenge 4: Making It Feel Real
Problem: How do we make a demo with limited permissions feel like the real NACC?
Solution: Enhanced UI feedback and intelligent error handling:
def parse_and_enhance_response(self, result: Dict, message: str) -> str:
# Detect intent and provide contextual feedback
if "install" in message.lower():
if exit_code == 0:
return "โ
Installation completed successfully!"
else:
return "โ ๏ธ Installation restricted in demo mode. See the GitHub repo for full capabilities."
if "navigate" in message.lower():
# Parse the path change and update UI sidebar
self.update_file_browser(new_path)
return f"๐ Navigated to {new_path}\n{file_listing}"
Impact: Despite restrictions, users get a polished experience with real-time feedback and helpful guidance.
๐ฏ What We Achieved: A Comparison
| Feature | Original NACC (Local Network) | HF Space Demo (Cloud) |
|---|---|---|
| Nodes | Unlimited (Mac, Linux, VMs) | 2 (hf-space-local + vm-node-01) |
| Filesystem | Full access across all machines | Sandboxed to /tmp and /app |
| Commands | All shell commands available | Whitelisted safe commands only |
| Node Pairing | Dynamic via 6-digit codes | Pre-configured for demo |
| File Sync | Real-time cross-machine sync | Simulated via API |
| AI Backend | Blaxel, OpenAI, Gemini, Modal | Blaxel (default) |
| Security | SSH keys + firewall rules | Command whitelist + path restrictions |
| Accessibility | Local network or VPN required | Public URL, accessible anywhere ๐ |
| Deployment | Manual setup on each machine | One-click Space deployment ๐ |
The Insight: By adapting for Spaces, we actually made NACC more accessible to the world. The core innovation - AI-powered multi-node orchestration - is fully demonstrable without requiring users to set up their own infrastructure.
๐ง Built From the Ground Up: The MCP Implementation
One of the most challenging decisions was to build the entire MCP stack from scratch instead of using existing libraries. Here's why it mattered:
Custom MCP Server
class MCPServer:
"""Lightweight MCP-compliant JSON-RPC server"""
def __init__(self):
self.tools = {} # Tool registry
def register_tool(self, name: str, schema: Dict, handler: Callable):
"""Register an MCP tool with JSON schema"""
self.tools[name] = {
"name": name,
"description": schema["description"],
"inputSchema": schema["parameters"],
"handler": handler
}
async def handle_list_tools(self) -> Dict:
"""MCP ListToolsRequest handler"""
return {
"tools": [
{
"name": t["name"],
"description": t["description"],
"inputSchema": t["inputSchema"]
}
for t in self.tools.values()
]
}
async def handle_call_tool(self, name: str, arguments: Dict) -> Dict:
"""MCP CallToolRequest handler"""
if name not in self.tools:
return {"error": "Tool not found"}
handler = self.tools[name]["handler"]
result = await handler(**arguments)
return {"content": [{"type": "text", "text": result}]}
Why Custom Implementation?
Security Control: We know exactly what each line of code does. No black-box dependencies executing on root-level machines.
Performance Optimization: Tailored for low-latency local network communication. No unnecessary abstractions.
Learning & Demonstration: Building from scratch shows deep understanding of MCP principles - crucial for a hackathon celebrating the protocol itself.
Flexibility: We added custom features like node aliases, session persistence, and cross-space routing that weren't in standard MCP SDKs.
The Tools We Built
# Filesystem tools
tools.register("read_file", read_file_handler)
tools.register("write_file", write_file_handler)
tools.register("list_directory", list_directory_handler)
# Execution tools
tools.register("execute_command", execute_command_handler)
tools.register("check_command_status", status_handler)
# Node management tools
tools.register("get_node_info", node_info_handler)
tools.register("switch_node", switch_node_handler) # Our custom addition!
tools.register("sync_files", sync_files_handler) # Multi-node innovation!
Each tool follows the MCP specification but is implemented to work across our two-space architecture.
๐ช Challenges Overcome: The Development Journey
Week 1: The Reality of Constraints
Discovery: Initial tests revealed HF Spaces' strict limitations.
Pivot: Decided to embrace constraints and build around them rather than fighting them.
Breakthrough: The two-space architecture concept was born.
Week 2: Building the Bridge
Challenge: Getting Gradio and Docker Spaces to communicate.
Attempts:
- โ WebSockets (not supported across Spaces)
- โ Shared volumes (Spaces are isolated)
- โ HTTP REST API with MCP-style JSON-RPC
Result: Stable, fast cross-space communication.
Week 3: The AI Backend Maze
Initial Plan: Use Modal's free tier for LLM.
Problem: Modal's authentication flow broke in Gradio iframe context.
Discovery: Blaxel - an ultra-fast serverless LLM platform with <25ms cold starts.
Integration: Added Blaxel in under 10 minutes. Perfect experience.
Praise: Blaxel's seamless API made them the hero of this project. Their performance enabled real-time AI responses even in the cloud demo.
Week 4: The UI Persistence Bug
Issue: After "switch to vm-node-01", file browser still showed local files.
Root Cause: Session ID wasn't being returned correctly from chat handler.
Fix:
# Before (BROKEN)
return history, "", dashboard, files, session_id # Input session_id
# After (FIXED)
return history, "", dashboard, files, session.session_id # Actual session object
Learning: State management in multi-node systems is hard. Even small bugs break the entire UX.
Final Week: Video, Links, and Polish
Tasks:
- Record demo video of real NACC (Mac + Kali)
- Create LinkedIn post
- Upload video to Spaces (Git LFS challenges!)
- Add track justifications
- Write this article ๐
๐ Key Learnings & Insights
1. Constraints Drive Innovation
The Spaces limitations forced us to create the two-space architecture - which is now a reusable pattern for any distributed demo on HF.
2. Abstractions Matter
By treating the VM Space as just another "node", we maintained code reusability. The orchestrator doesn't "know" it's talking to a different HF Space - it just sees a node at a URL.
3. User Experience > Technical Purity
We could have built a more "correct" MCP implementation, but the Blaxel + fallback regex approach gave users a better experience. Sometimes pragmatism wins.
4. Documentation is Demo
The in-UI help system, the detailed READMEs, and this article are all part of the "product". Good docs make complex systems accessible.
๐ Try NACC Yourself
Quick Start Commands
List available nodes:
list nodesSwitch to the VM:
switch to vm-node-01Explore files:
navigate to /app/srclist filesCreate a test file:
navigate to /tmpwrite "Hello from NACC!" to demo.txtRead it back:
read file demo.txtSwitch back to local:
switch to hf-space-local
Advanced: Multi-Node Workflow
Try this penetration testing simulation:
switch to vm-node-01
navigate to /app/demo
read file target_info.txt
switch to hf-space-local
create a file named scan_results.txt with content "Analysis complete"
The context switches are seamless - that's the magic of NACC.
๐ Real-World Applications
For Enterprises
- DevOps Orchestration: "Deploy the frontend to AWS and the backend to GCP, then run integration tests"
- Incident Response: "Check the nginx logs on all web servers and compile a report"
- Multi-Cloud Management: Treat AWS, GCP, Azure instances as one unified system
For Consumers
- Home Lab Automation: "Update all my Raspberry Pis and reboot the Plex server"
- Developer Workflows: "Sync my dotfiles from Mac to Ubuntu and rebuild the project"
- Learning Environments: "Set up a vulnerable VM for practicing exploits"
For Educators
- Distributed Systems Labs: Students can see real multi-node communication without complex setup
- Cybersecurity Training: Pre-configured attack/defense scenarios across multiple VMs
- Cloud Architecture: Demonstrate microservices without needing AWS credits
๐ฎ The Future of NACC
This hackathon demo is just the beginning. Here's what's next:
Version 2.0 Roadmap
- [ ] Kubernetes Integration: Deploy NACC nodes as K8s pods
- [ ] Advanced File Sync: Real-time bidirectional sync with conflict resolution
- [ ] Visual Node Graph: Interactive topology map
- [ ] Plugin System: Community-contributed tools (Nmap, Docker, Git)
- [ ] Mobile App: Control your network from your phone
- [ ] Blockchain Node Management: Orchestrate validator nodes across regions
Long-Term Vision
NACC aims to be the "Terraform for Human Language" - where infrastructure is declared through conversation, not code.
Imagine:
"I need a 3-tier web app: React frontend, Node.js API, PostgreSQL database.
Deploy the frontend to Vercel, the API to Railway, and the database to Supabase.
Set up CI/CD and Slack alerts."
NACC would understand this, plan the architecture, provision the resources, configure the networking, and deploy the stack - all autonomously.
๐ Acknowledgments
Technologies That Made This Possible
- Anthropic: For creating the Model Context Protocol
- HuggingFace: For the incredible Spaces platform and hosting this hackathon
- Blaxel: For the blazing-fast LLM infrastructure that powers NACC's AI
- Gradio: For the beautiful, functional UI framework
- FastAPI: For the rock-solid backend framework
Special Thanks
To everyone who believed in this project - from initial skepticism ("you can't demo a network app in the cloud!") to seeing the two-space architecture come to life.
To the MCP community - for pioneering a protocol that will change how we build AI systems.
And to you, reading this - for taking the time to understand not just what NACC is, but why it matters.
๐ Explore More
๐ Links
- Collection: NACC on HuggingFace
- Main Space: NACC - Network Agentic Command Control
- VM Space: NACC-VM
- Source Code: GitHub - Vasanthadithya-mundrathi/NACC
- LinkedIn Post: Behind the Scenes Journey
๐ง Connect
- Creator: Vasanthadithya Mundrathi (SHADOW)
- LinkedIn: @vasanthadithya-mundrathi
- GitHub: @Vasanthadithya-mundrathi
- HuggingFace: @Vasanthfeb13
๐จโ๐ A Student's Journey: Struggles, Dreams, and Reality
Who Am I?
I'm Vasanthadithya Mundrathi (SHADOW) - a 3rd year B.E. Computer Science student at CBIT, Hyderabad. Not a senior engineer. Not a startup founder. Just a college kid who loves building things and refuses to wait for graduation to start making an impact.
The Struggle is Real
Let me paint you the picture of building NACC:
November 14, 2024 - Hackathon starts. I'm excited. I have this crazy idea about AI orchestrating networks.
November 18, 2024 - My college announces semester exams starting November 25th. Major project submission deadline: November 22nd.
November 20, 2024 - I'm debugging why Gradio and Docker Spaces can't talk to each other while also studying for Operating Systems exam and finishing my college IoT project.
November 23, 2024 - 2 AM. I finally crack the two-space architecture. I have an exam at 9 AM. I study for 3 hours, take the exam, come back and code for 12 hours straight.
November 28, 2024 - Exams are over. I have 2 days left before the hackathon deadline. The demo works locally but fails on HuggingFace Spaces. Git LFS is refusing to upload my 100MB video. I'm questioning every life choice.
November 29, 2024 - I push the final commit at 9 PM. The Spaces are live. The demo works (mostly). I'm exhausted, terrified, and oddly proud.
This is what building a hackathon project looks like when you're a student. No fancy co-working space. No team. Just you, your laptop, caffeine, and the stubborn refusal to give up.
The Imposter Syndrome Is Real
Here's what goes through my head when I look at other hackathon submissions:
- "Their UI is so polished. Mine looks basic."
- "They have 10+ stars already. I have 2 (both from my friends)."
- "They're using the latest frameworks. I'm still learning Gradio."
- "They probably have internships at Google. I'm struggling to get interview calls."
But then I remember: Everyone starts somewhere. Every expert was once a beginner.
This project isn't perfect. The Spaces demo is slower than I'd like. Some features don't work as smoothly as the local version. There are probably bugs I haven't found yet.
But I shipped it anyway. Because done is better than perfect. Because trying and failing is better than not trying at all.
What Drives Me
You know what keeps me going through the 2 AM debugging sessions and the rejection emails from companies?
The vision.
I genuinely believe we're at the cusp of a paradigm shift. In 5 years, controlling complex infrastructure through natural language will be normal. Junior developers will deploy multi-region Kubernetes clusters by just describing what they want. DevOps will be democratized.
And I want to be part of building that future. Not as a spectator, but as a contributor.
The Career Reality Check
I'm in my 3rd year. Placement season starts in 6 months. Here's what I'm up against:
- The Algorithm Grinders: Students who can solve LeetCode Hard in 15 minutes. I can barely do Medium.
- The Academic Stars: CGPA 9.5+, research papers published. Mine is... decent. Not great.
- The Intern Squad: Already completed prestigious internships. My resume says "Personal Projects."
- The Networked: Parents with connections in tech companies. Mine are schoolteachers.
So I build. Because if I can't compete on grades or pedigree, I'll compete on innovation, grit, and the ability to ship complex projects from zero.
NACC is my way of saying: "I might not be the smartest or the most credentialed, but I can learn, adapt, and build real solutions to real problems."
What I'm Looking For
I'm not looking for a job (yet - that's next year). I'm looking for opportunities to learn, grow, and prove myself:
Internships where I can:
- Work on real-world problems, not just "student projects"
- Learn from experienced engineers who can mentor me
- Contribute meaningfully, not just fetch coffee
- Build my skills in AI/ML, cybersecurity, or distributed systems
What I bring:
- Fast Learning: Taught myself Gradio, FastAPI, MCP, Git LFS, and HF Spaces in 2 weeks
- Problem-Solving: Turned HF Space constraints into an innovative two-space architecture
- Ownership: Built NACC end-to-end - from idea to deployment - solo
- Communication: Can explain complex technical concepts (see: this entire article)
- Persistence: Coded through exams, failures, and self-doubt
What I need:
- A chance. Just one.
- Mentorship from people who've been where I am
- Real problems to solve (I thrive under pressure)
- Feedback (brutal honesty appreciated - I want to improve)
The Honest Ask
If you're reading this and you:
- Work at a company building AI infrastructure, security tools, or distributed systems
- Believe in giving opportunities to hungry college students
- Value creativity and grit over perfect credentials
I'd love to talk.
I'm not claiming to be the next tech genius. I'm just a student who:
- Learns fast
- Ships code
- Thinks differently
- Refuses to give up
Check my work:
- This Article: Proof I can envision and execute complex projects
- GitHub: Proof I can code (NACC, Z-Umbra, SCS, H5X, GuardX, cognitive-resonance-analysis)
- LinkedIn: Proof I can communicate and connect
Why Share This?
Because I know I'm not the only one. There are thousands of students like me:
- Building in their dorm rooms
- Balancing exams and hackathons
- Fighting imposter syndrome
- Dreaming of making it big
If you're one of them: Keep building. Keep shipping. Your projects don't need to be perfect. They need to exist.
Your first 100 GitHub stars won't come from marketing. They'll come from solving real problems and sharing your journey honestly.
Your dream internship won't come from cold applications. It'll come from someone seeing your work and thinking: "This person is hungry. Let's give them a shot."
You won't remember the sleep you lost or the exams you stressed over. You'll remember the moment your project went live and someone, somewhere, said: "This is actually useful."
To fellow students reading this: We're in this together. DM me on LinkedIn. Let's share struggles, celebrate wins, and lift each other up.
To industry folks reading this: We're the next generation. Give us a chance, and we'll surprise you.
๐ The Personal Journey: Why This Matters
The Vision That Drove This Project
Here's the truth: I believe converting every machine and computer into an MCP node will be a game-changer.
Imagine a world where:
- Your home laptop, office workstation, cloud VM, Raspberry Pi, and even your friend's server are all MCP-enabled
- You control hundreds of these systems through a single AI agent chat interface
- You type "Deploy my app to all production servers and roll back if error rate > 1%" and it just... happens
- Natural language becomes the universal interface for computing
This isn't science fiction. This is the future I'm trying to build.
Why MCP Changes Everything
The Model Context Protocol does something revolutionary: it gives AI agents a standardized way to interact with tools and systems. But most MCP implementations focus on individual tools (databases, APIs, code editors).
NACC asks a different question: What if the tool is an entire computer?
When you make a machine MCP-compliant:
- AI agents gain physical reach - They're not just processing data; they're controlling infrastructure
- Complexity becomes conversational - Multi-step DevOps workflows become chat messages
- Democratization of power - Junior developers can orchestrate senior-level infrastructure with plain English
This is why I built NACC from zero. To prove that MCP + Agentic AI can orchestrate distributed systems at scale.
The Reality: Building Under Pressure
I'll be honest with you - this wasn't an easy journey.
The Challenges:
- ๐ College Semester Exams: This hackathon overlapped with my 3rd year final exams and major project deadlines
- ๐ Learning Curve: As a cybersecurity student, I had to learn Gradio, FastAPI, different AI backends, and MCP specs from scratch
- ๐ง HuggingFace Compatibility: Spent days fighting Space constraints, Git LFS issues, cross-space networking
- โฐ Time Crunch: Built everything from zero while balancing academics
The Honest Truth:
- The HF Space demo may have issues - I tried my best with limited testing time
- Some features are sluggish compared to the local version
- The architecture is unconventional because I had to innovate around constraints
- I know I probably won't win prizes, but that's okay
Why I Still Shipped It: Because the vision matters more than perfection. Because showing what's possible matters more than showing what's polished.
What This Project Demonstrates
Beyond the code, NACC showcases:
- Agentic AI Capabilities: The orchestrator doesn't just execute commands - it plans, routes, and adapts based on context
- MCP's True Potential: Not just for connecting to APIs, but for orchestrating physical infrastructure
- Problem-Solving Under Constraints: The two-space architecture proves you can innovate your way around limitations
- Vision Over Resources: You don't need a tech team or unlimited compute - you need a clear vision and persistence
Think about it: Controlling an entire company's infrastructure from a chat interface using plain English. Sounds crazy, right? But that's exactly where we're headed.
A Request to the Community
I built this as a 3rd year pre-final student who's passionate about cybersecurity, AI, and distributed systems. I don't have years of industry experience. I don't have a team or funding.
What I do have is:
- The ability to learn anything rapidly when motivated
- A knack for innovative problem-solving and budget-conscious engineering
- A desire to push boundaries and explore uncharted territories
- The courage to ship imperfect work that demonstrates a powerful idea
If you try NACC and find value in it - please:
- โญ Star the GitHub repository
- ๐ Share it with your network
- ๐ฌ Leave feedback (even the critical kind - I want to learn!)
- ๐ค Connect on LinkedIn to discuss ideas
I don't have Instagram (too much cybersecurity training made me paranoid ๐ ), but I'm active on LinkedIn and GitHub. Let's connect!
Looking for Opportunities
As a pre-final year student, I'm actively seeking internship opportunities where I can:
- Build secure, distributed systems from the ground up
- Solve complex problems with innovative, budget-conscious solutions
- Contribute to AI/ML infrastructure or cybersecurity tooling
- Work with teams pushing the boundaries of what's possible
If you're building something in AI agents, security automation, distributed systems, or MCP tooling - and you need someone who can learn fast, think creatively, and ship results - I'd love to chat.
Check my GitHub for technical proficiency, my LinkedIn for projects and achievements, and this very article for proof that I can envision, architect, and execute on ambitious ideas.
๐ฌ Closing Thoughts
Building NACC has been one of the most challenging and rewarding experiences of my journey as a developer. It forced me to think beyond single-machine applications, beyond single-cloud deployments, beyond the comfortable patterns I knew.
The two-space architecture wasn't Plan A. It wasn't even Plan B. It was what emerged when we refused to compromise on the core vision - that AI agents should be able to orchestrate real, distributed systems through natural language.
This hackathon celebrates the 1st birthday of MCP - a protocol that gives us the tools to build these kinds of systems. NACC is my tribute to that vision: a real-world application of MCP that pushes boundaries, embraces constraints, and shows what's possible when we think creatively about AI + Infrastructure.
To the judges: Thank you for considering this project. I know it's rough around the edges, but I hope the vision and innovation shine through.
To the community: If this article inspired you, if the demo impressed you, or if you just think the idea is cool - please try it, star it, and share your feedback. This is just the beginning, and the best ideas come from dialogue.
To anyone building with MCP: Keep pushing boundaries. Keep thinking bigger. The future where we control infrastructure through conversation is closer than you think.
Thank you for reading. Now go build something amazing with MCP! ๐
Built with โค๏ธ, โ, and countless hours of debugging for the HuggingFace MCP Birthday Hackathon 2025 ๐
"The best way to predict the future is to build it." - NACC Team