Skip to Main Content
Talk Intermediate

Taming the Local LLM: Why MCP Doesn't Cure Hallucinations (A Dynamic Resume Case Study)

Proposal status is Rejected
Session Description

I wanted to replace my static PDF resume with an interactive AI agent. The architecture seemed straightforward: build a Python server using the Model Context Protocol (MCP), expose my structured SDET profile as dynamic tools, and connect a local Llama 3 model via Ollama to answer questions from recruiters.

I expected MCP to be the magic bridge that grounded the AI. Instead, the model confidently ignored my JSON profile. Despite my resume explicitly stating I have 4.5 years of experience in FinTech using Selenium and Python, the local LLM happily told users I had 8 years of experience in Healthcare building Cypress frameworks.

It didn't break the API contract. It didn't crash. It successfully called the tool, parsed the data, and then just lied.

The industry assumes that if you give an LLM a tool, the hallucination problem is solved. As an SDET, I discovered the reality is far messier. Building an MCP server is easy; forcing a stubborn, quantized local model to actually respect the constraints of that server is an entirely different engineering discipline.

This talk is an honest investigation into building the Dynamic Resume MCP Server. I will walk through the Python architecture, document exactly where the "Tool -> Grounding" pipeline breaks down, and share the mitigation strategies I tested to force local models to stick to the facts.

Key Takeaways
  • Building the MCP Bridge: Learn how to translate structured data (like a professional profile) into discoverable Python MCP tools for local LLMs.

  • The Anatomy of a Tool Hallucination: Explore the specific failure modes of local models, including Tool Skipping (answering directly instead of querying), Technology Swapping (inventing tools you don't use), and Context Ignoring (reading the JSON but prioritizing pre-trained weights).

  • The Mitigation Experiments: Discover what actually happens when you try to fix these hallucinations. I will share the results of experimenting with stricter JSON schemas, modified tool descriptions, system prompt constraints, and temperature tuning.

  • The Reality of AI Testing: Leave with an SDET’s perspective on the new testing paradigm: why traditional API testing fails for agentic workflows, and how to evaluate the reliability of non-deterministic reasoning paths.

References

Session Categories

Engineering practice - productivity, debugging

Which track are you applying for?

Main track

Speakers

Ujjwal Kumar Singh
Ujjwal Kumar Singh SDET | Skeps

Ujjwal Kumar Singh is a Software Development Engineer in Test (SDET) with over four years of experience in software testing, quality engineering, and test automation. His work focuses on understanding how quality emerges in software projects through engineering practices, contributor workflows, and decision making beyond tools and frameworks.

He is an active member of the testing and open source community, a contributor to Ministry of Testing, and the creator of Being Human Tester, where he writes about testing, quality, and the human side of software engineering. Ujjwal has previously spoken at Open Source Summit India 2026, where he presented research on testing ownership and governance in open source projects.

His interests include issue triage, project sustainability, contributor experience, accessibility, and understanding how large open source communities maintain quality at scale.