Inspiration

Scams often rely on urgency, fear, fake rewards, and convincing links to trick people into acting before they can verify a message. We wanted to build a tool that helps people look beyond suspicious messages and understand why something might be a scam, rather than simply labeling it as safe or dangerous. This led us to build ScamLens, an AI-powered scam investigation tool that puts evidence and user awareness first.

What it does

ScamLens investigates suspicious SMS messages, emails, and links to help users recognize potential scam attempts.

  • AI-powered analysis: Generates an understandable investigation report explaining potential risks.
  • MCP-powered investigation: Uses dedicated tools to extract indicators, assess message patterns, and inspect URL structure.
  • EvidenceTrail: Separates observed facts, heuristic warning signs, and unknowns so users can understand the basis of an assessment.
  • Safer next steps: Recommends practical actions, such as avoiding suspicious links, not paying unexpected fees, and verifying claims through official channels. ScamLens is designed to support informed decisions, not to guarantee whether a message or website is fraudulent.

How we built it

We built ScamLens using Next.js, React, TypeScript, Tailwind CSS, Gemini, and the Model Context Protocol (MCP). The Next.js application provides the user interface and API endpoint. Gemini generates explanations from the submitted message and investigation findings. A separate MCP server exposes three tools:

  • extract_indicators — extracts URLs, phone numbers, and potential scam warning signs.
  • check_message — evaluates messages using deterministic heuristics.
  • check_url_safely — examines URL structure without opening the destination or making an external reputation request. The application combines these results into a structured report that communicates evidence, potential risks, limitations, and recommended actions. We deployed the MCP server on Render and the web application on Vercel, making ScamLens accessible through a live web interface. Live demo: https://scamlens-ochre.vercel.app/

Challenges we ran into

One of our biggest challenges was connecting the web application to a separate MCP server and ensuring that the integration worked both locally and after deployment. Configuring environment variables, handling hosted-service URLs, and troubleshooting deployment issues required careful testing. Another challenge was presenting AI-generated explanations alongside deterministic tool results without confusing assumptions with verified facts. We addressed this by structuring reports around observed facts, heuristic indicators, and unknowns. We also learned that detecting every possible scam pattern is unrealistic. ScamLens therefore focuses on useful warning signals while clearly communicating the limitations of its checks.

Accomplishments that we're proud of

  • Built and deployed a working AI-powered scam investigation application.
  • Integrated an MCP server with three dedicated investigation tools.
  • Created EvidenceTrail to make findings and limitations easier to understand.
  • Combined deterministic checks with AI-generated explanations and practical safety guidance.
  • Made the application accessible through a live website. Most importantly, we built ScamLens around a simple principle: users deserve explanations and evidence, not just a verdict.

What we learned

We gained practical experience integrating Gemini with MCP tools, building a full-stack application with Next.js and TypeScript, and deploying connected services using Render and Vercel. We also learned the importance of secure API-key handling, clear tool descriptions, robust error handling, and transparent communication of uncertainty. A useful AI investigation system must explain what it found, what it inferred, and what it could not verify.

What's next for ScamLens

We plan to strengthen ScamLens with external URL reputation checks, broader scam-pattern coverage, and improved validation against real-world examples. We also want to explore sender and domain intelligence, multilingual scam detection, and more detailed evidence tracing. Our long-term goal is to make scam investigation more accessible, transparent, and actionable—helping people pause, verify, and protect themselves before taking risky actions.

Built With

Share this project:

Updates

Submission history