LensLink: An AI Camera Compatibility Agent Powered by Structured Sanity Content A developer built LensLink, an AI camera and lens compatibility agent that answers whether a given lens works with a given camera by querying structured Sanity content instead of relying on generic model knowledge. The agent models cameras, mounts, lenses, adapters, compatibility rules and sources, then retrieves relevant records via Sanity Context MCP tools (initial_context, knowledge_base_search, knowledge_base_read) before Gemini generates an answer. It handles direct compatibility, adapter-required paths such as the Canon EF-EOS R adapter for EF lenses on the EOS R5, and unsupported or evidence-limited cases. This is a submission for the Sanity Challenge, Path One: Ship an Agent That Queries Real Content. What I Built LensLink is an AI camera and lens compatibility agent that answers whether a lens can be used with a camera using structured Sanity content rather than relying only on generic model knowledge. The content models relationships between cameras, mounts, lenses, adapters, compatibility rules, and sources. Demo Live demo: https://lenslink-civq.onrender.com https://lenslink-civq.onrender.com Try these: Is the Canon RF50mm F1.8 STM compatible with the Canon EOS R5? Can I use the Canon EF50mm f/1.8 STM on the Canon EOS R5? Is the Canon EF-M 22mm f/2 STM compatible with the Canon EOS R5? These demonstrate direct compatibility, adapter-required compatibility, and an unsupported/evidence-limited case. Code GitHub: https://github.com/egbutaify2-ui/sanity-lenslink-agent https://github.com/egbutaify2-ui/sanity-lenslink-agent How I Used Sanity I modeled the camera compatibility knowledge as structured Sanity content, including: Camera → Mount Lens → Mount Adapter → From Mount / To Mount Compatibility Rule → Camera / Lens / Adapter Source → supporting evidence I pointed Sanity Context at the LensLink Knowledge Base built from this structured content. The agent uses these Context MCP tools: initial context knowledge base search knowledge base read For each compatibility question, LensLink retrieves the relevant structured records before Gemini generates the answer. For example, for the EF50mm + EOS R5 case, the agent can reason across: EOS R5 → Canon RF Mount EF50mm → Canon EF Mount Canon EF-EOS R Adapter → Canon EF → Canon RF This lets LensLink determine the documented adapter-required path instead of simply guessing from the product names. Sanity Project Details Project ID: kv3pdv23 Dataset: production Agent Session Agent session evidence is optional, so I have not included a transcript in this submission.