I'm a self-taught engineer building AI agent infrastructure — MCP servers, RAG systems, and multi-agent LangGraph pipelines. I care about the engineering around the model call, not the call itself: sandboxed code execution, retrieval quality measured with eval harnesses instead of assumed, end-to-end tracing, and real failure handling. I ship projects fully — backend, frontend, infra, tests, and the docs explaining why they're built the way they are.
📚 ContextQuery — grounded RAG with measurable retrieval
Problem: RAG systems hallucinate or bury the LLM in irrelevant context, and you can't trust an answer you can't trace back to a source.
What it does: Grounded document Q&A over PDFs and DOCX — every answer cites the exact source chunk it came from, and if the documents don't contain the answer, it says so instead of falling back on the model's training knowledge. That constraint is the whole point.
- Hybrid retrieval, measured: BM25 keyword search + semantic vector search fused via Reciprocal Rank Fusion, then reranked by an NVIDIA NIM reranker — ~40% fewer irrelevant chunks reach the LLM versus naive top-K retrieval.
- Real eval harness: scores retrieval precision and answer faithfulness across semantic and hybrid modes; latest run hit 100% retrieval precision on applicable cases at ~2.4s average end-to-end latency — quality is a number, not a vibe.
- Observable: every LLM call and retrieval step is traced in Langfuse, so regressions are visible instead of anecdotal.
- Built for real documents: async background ingestion (a 950-page doc chunks into thousands of pieces), batched embeddings (96 per request), and token-by-token SSE streaming.
- Zero paid API spend — runs entirely on free-tier infrastructure, with runtime switches for retrieval mode (
semantic/hybrid) and LLM provider (ollama/nvidia).
Stack: FastAPI (Python 3.11) · Next.js 15 · Chroma Cloud · NVIDIA NIM (embed · rerank · LLM) · rank_bm25 · Langfuse · Docker → Render + Vercel
Frontend repo · Live app · Live API · Write-up: hybrid RRF retrieval
🐋 CyberRescue — MCP server for Docker triage
Problem: Giving an AI agent real hands on a system usually means hand-rolling the client call, input validation, output sanitization, and failure handling for every capability you expose.
What it does: A locally-hosted MCP (Model Context Protocol) server that gives Claude three real tools to debug Docker containers — stream logs, snapshot live CPU/memory, and run diagnostic commands inside a container — over stdio, with no network ports and no API keys beyond what Claude Desktop already uses.
- Three tools:
stream_container_logs(tail / since / keyword filter, 50KB cap),inspect_memory_dump(livedocker stats+ top processes), andexecute_isolated_script(docker execwith validation, a command blocklist, and a hard timeout). - A reusable safety pattern — validate → semaphore-gated daemon call → retry with back-off → sanitized errors → capped output — cuts per-endpoint integration time from ~2 hours to under 30 minutes; a new capability is one decorated function.
- Security designed in, not bolted on: container-ID regex validation, a command-safety blocklist, a concurrency cap (max 4 daemon calls), exponential back-off retry on read-only calls only (
execis never retried — it isn't idempotent), and raw Docker errors that never leak to the client, since they can carry host socket paths and usernames. - 42 passing unit tests run on every push via GitHub Actions CI; verified A-Grade Quality on Glama and listed on global MCP indexes.
Stack: Python 3.12+ · FastMCP · python-on-whales · pytest · GitHub Actions (public demo: FastAPI + Next.js on Vercel)
More projects: 🧑🏫 AI Coding Mentor · 🚀 PyCursor
AI & agent engineering
Languages & frameworks
Infrastructure & delivery
- 🌐 Portfolio: vivek-portfolio-vert.vercel.app
- 💼 LinkedIn: linkedin.com/in/vivek-vdev
- 📧 Email: vivekpatil200320@gmail.com
- 🛠️ Glama Registry: glama.ai/mcp/servers/vivekpatil200320/cyberrescue
- ✍️ Hashnode: vivekpatil23.hashnode.dev
- ✍️ dev.to: dev.to/vivek_vdev
✨ "First, solve the problem. Then, write the code." — John Johnson



