Skip to main content
Glama

Please Make Jarvis So I Don’t Have To – Vision from Kent C. Dodds

Written by on .

Agentic Ai
mcp

  1. Problem
    1. Intuition
      1. Python Code Example – A Jarvis-Like Task Flow
        1. Key Notes
          1. Acknowledgements

            Jarvis from Iron Man isn't just science fiction—it's becoming a design goal. In this talk, Kent C. Dodds explores what building a "Jarvis-like" experience might look like using MCP, and what challenges still stand in the way.

            Problem

            Creating a unified AI assistant that knows your context, acts across applications, and proactively helps is a daunting task. The biggest hurdles:

            • Trust and privacy in delegating personal tasks.
            • Seamless integration without user-managed servers.
            • Multimodal communication (text, voice, UI).
            • Proactive support and long-term memory.

            Today’s tooling—LLMs, UI frameworks, MCP—can enable these features, but they are fragmented.

            Intuition

            Kent’s framing is simple: imagine an LLM-powered assistant embedded into every part of your digital life, much like a browser today.

            "Websites will become MCP servers. The Jarvis client is your host app."

            Instead of building massive monolithic agents, we compose specialized MCP servers (movie booking, calendar, contacts, payment), then expose them to a host agent that coordinates across tools.

            Python Code Example – A Jarvis-Like Task Flow

            Let’s model a basic version of Kent's movie-night scenario using async Python, simulating tool calls via MCP-style abstractions:

            from typing import List import asyncio class MCPServer: def __init__(self, name): self.name = name async def call(self, tool: str, **kwargs): print(f"[{self.name}] Calling tool: {tool} with {kwargs}") await asyncio.sleep(1) # simulate processing return f"Result from {tool}" class JarvisClient: def __init__(self): self.tools = { 'calendar': MCPServer('Calendar'), 'movies': MCPServer('MovieFinder'), 'payments': MCPServer('PaymentGateway'), 'contacts': MCPServer('Contacts') } async def plan_movie_night(self, friends: List[str], movie: str, date: str): print("Planning movie night...") # Step 1: Get nearby theaters theaters = await self.tools['movies'].call('find_showtimes', movie=movie, date=date) # Step 2: Book tickets tickets = await self.tools['movies'].call('book_tickets', friends=friends) # Step 3: Create calendar event event = await self.tools['calendar'].call('create_event', title=movie, invitees=friends) # Step 4: Notify and split payment payment = await self.tools['payments'].call('split_payment', amount=120, people=friends) print("🎉 All done!") return { 'theaters': theaters, 'tickets': tickets, 'event': event, 'payment': payment } # Simulate friends_list = ["Josh", "Julie", "Andy"] movie = "Mission Impossible" date = "2025-07-31" asyncio.run(JarvisClient().plan_movie_night(friends_list, movie, date))

            This captures the Jarvis experience: no manual tool selection, no JSON config files—just intent and delegation.

            Key Notes

            • MCP servers become the building blocks for the AI runtime.
            • Hosts like a “Jarvis client” coordinate across MCP servers.
            • Important Jarvis features: proactive behavior, unified memory, multi-user context, multimodal response.
            • Core open issues: async task management, richer tool annotations, UI integration.

            Acknowledgements

            This guide is based on Kent C. Dodds's visionary talk at the Session: Please Make Jarvis So I Don’t Have To, where he imagines an everyday AI assistant powered by MCP.

            Special thanks to the Anthropic team and the broader MCP developer community for pushing the boundaries of agent infrastructure.

            Written by Om-Shree-0709 (@Om-Shree-0709)