This is a submission for the GitHub Finish-Up-A-Thon Challenge
Last semester, under the pressure of B.Tech finals and a looming presentation deadline, I shipped a full-stack AI agent system called the Unified MCP Framework. The idea was straightforward: build a single orchestration layer where an AI could interpret natural language commands and route them to the right tool - a filesystem, a browser, a GitHub API - without the developer having to wire each one manually.
The core architecture had three pieces:
It worked. The demo went well. I submitted the PDF, the PPTX, the poster - and then I closed the repo and moved on.
The problem was that "it worked" and "it was usable by anyone else" were two very different things.
📦 npm package: [unified-mcp on npm](https://www.npmjs.com/package/unified-mcp)
💻 GitHub repo: [Om-Shree-0709/Major-Project](https://github.com/Om-Shree-0709/Major-Project)
The system takes a natural language query like:
"Summarize the latest commits in my repo and write a summary file."
...and routes it across the GitHub tool (fetch commits), Filesystem tool (write file), and Gemini (generate summary) - with each tool call visible in the frontend trace panel.
When I came back to this project after graduation exams, here's what I found:
Before:
.env.example
, so first-time setup always failedunified-mcp
) existed but had no usage examples - just a package.json and good intentionsAfter:
.env.example
with inline commentsQUICK_TEST_QUERIES.md
and COMPLEX_TEST_QUERIES.md
so any developer could validate the system end-to-end in under 5 minutes"Access denied: path is outside sandbox directory"
The week the npm package was properly documented and re-announced: 750+ downloads.
That number matters to me not because it's large - it isn't - but because week one with no usable docs had yielded single digits. The code hadn't changed. The docs had.
I'll be specific about where it actually helped, because "Copilot helped me" is a useless sentence.
Rewriting the README: I had rough notes about what the system did. Copilot autocompleted the setup steps once I established the structure - it understood that after pip install -r requirements.txt
comes playwright install chromium
, and it kept that sequencing consistent when I reorganized sections. Saved probably 30 minutes of manual tab-matching.
The .env.example file: I typed the first variable with a comment. Copilot generated the remaining four in the same format - correct variable names, sensible placeholder values. That's the kind of tedious-but-error-prone work where it genuinely earns its keep.
The error handling refactor: The original filesystem_server.py
had bare except Exception as e: raise e
blocks everywhere. I asked Copilot to help me add user-facing error messages. It suggested wrapping each block with specific messages tied to the exception type - FileNotFoundError
, PermissionError
, IsADirectoryError
- rather than a single generic catch. That was the right call and I wouldn't have done it that cleanly by hand at 11pm.
The COMPLEX_TEST_QUERIES.md: I started writing test cases by hand. Copilot kept generating the next logical one based on the pattern I established. "List all Python files in the sandbox" → "Read the contents of a specific file" → "Write a new file with generated content." The progression made sense and I kept most of it.
Where it didn't help: anything requiring knowledge of my specific project structure. It would hallucinate import paths, suggest tools I hadn't built, and occasionally propose FastAPI route patterns that conflicted with what I already had. The rule I settled on: use it for boilerplate and structure, verify everything that touches the actual logic.
The original project was built in a sprint, for a grade. This version was rebuilt for the people who might actually use it. That's a different problem, and it turned out to be a harder one. GitHub Copilot made the second pass faster - not by doing the thinking, but by handling the parts that didn't require any.
If you're building MCP tooling and want a working reference implementation with a real setup path, the repo is linked above. The npm package is live. Feedback welcome. Follow for more coverage on MCP, agentic AI, and developer infrastructure.