{"slug": "lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content", "title": "LensLink: An AI Camera Compatibility Agent Powered by Structured Sanity Content", "summary": "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.", "body_md": "This is a submission for the Sanity Challenge, Path One: Ship an Agent That Queries Real Content.\n\nWhat I Built\n\nLensLink 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.\n\nThe content models relationships between cameras, mounts, lenses, adapters, compatibility rules, and sources.\n\nDemo\n\nLive demo: [https://lenslink-civq.onrender.com](https://lenslink-civq.onrender.com)\n\nTry these:\n\nIs the Canon RF50mm F1.8 STM compatible with the Canon EOS R5?\n\nCan I use the Canon EF50mm f/1.8 STM on the Canon EOS R5?\n\nIs the Canon EF-M 22mm f/2 STM compatible with the Canon EOS R5?\n\nThese demonstrate direct compatibility, adapter-required compatibility, and an unsupported/evidence-limited case.\n\nCode\n\nGitHub: [https://github.com/egbutaify2-ui/sanity-lenslink-agent](https://github.com/egbutaify2-ui/sanity-lenslink-agent)\n\nHow I Used Sanity\n\nI modeled the camera compatibility knowledge as structured Sanity content, including:\n\nCamera → Mount\n\nLens → Mount\n\nAdapter → From Mount / To Mount\n\nCompatibility Rule → Camera / Lens / Adapter\n\nSource → supporting evidence\n\nI pointed Sanity Context at the LensLink Knowledge Base built from this structured content.\n\nThe agent uses these Context MCP tools:\n\ninitial_context\n\nknowledge_base_search\n\nknowledge_base_read\n\nFor each compatibility question, LensLink retrieves the relevant structured records before Gemini generates the answer.\n\nFor example, for the EF50mm + EOS R5 case, the agent can reason across:\n\nEOS R5 → Canon RF Mount\n\nEF50mm → Canon EF Mount\n\nCanon EF-EOS R Adapter → Canon EF → Canon RF\n\nThis lets LensLink determine the documented adapter-required path instead of simply guessing from the product names.\n\nSanity Project Details\n\nProject ID: kv3pdv23\n\nDataset: production\n\nAgent Session\n\nAgent session evidence is optional, so I have not included a transcript in this submission.", "url": "https://wpnews.pro/news/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content", "canonical_source": "https://dev.to/egbutaify2ui/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content-415l", "published_at": "2026-10-02 14:32:18+00:00", "updated_at": "2026-10-02 14:38:11.890498+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "structured-data", "ai-tools"], "entities": ["LensLink", "Sanity", "Gemini", "Canon", "Canon EOS R5", "Canon EF-EOS R Adapter", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content", "markdown": "https://wpnews.pro/news/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content.md", "text": "https://wpnews.pro/news/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content.txt", "jsonld": "https://wpnews.pro/news/lenslink-an-ai-camera-compatibility-agent-powered-by-structured-sanity-content.jsonld"}}