{"slug": "i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me", "title": "I stopped checking my Modal dashboard because my agent does it for me", "summary": "A developer built an MCP server that connects Modal's serverless AI infrastructure to AI agents, allowing them to manage deployments, stop runaway jobs, and audit resources via natural language commands. The tool, available on Vinkius, uses isolated V8 sandboxes and HMAC audit chains to ensure safe execution. This approach eliminates context-switching between IDEs and dashboards, turning agents into active infrastructure orchestrators.", "body_md": "I used to spend way too much time context-switching between Cursor, my terminal, and the Modal web dashboard.\n\nYou know the drill: a GPU job is running, you aren't sure if it's hanging or just slow, so you leave your IDE, open a browser tab, navigate through the dashboard, hunt for the specific deployment ID, and check the logs. It’s a micro-interruption that adds up to hours of lost flow state every week.\n\nThe moment I connected the [Modal Serverless AI Infrastructure MCP](https://vinkius.com/mcp/modal-serverlarce-ai-infrastructure) to my agent, that workflow died. Not because the dashboard is bad—it's actually quite solid—but because I realized I didn't need a UI for basic operational oversight. I just needed an interface that lived where I write code.\n\nA lot of people treat MCP servers like glorified documentation readers. They use them to parse logs or query databases, but they stop short when it comes to action. They're afraid of the agent 'doing something' wrong.\n\nBut if you’m managing serverless compute, visibility without agency is almost useless. If I can see that a function is running via `list_apps`\n\n, but I have to leave my IDE to kill it, I haven't actually solved the context-switching problem. The real utility of an MCP isn't just seeing your infrastructure; it's controlling it.\n\nI’ve been using this specific server on Vinkius to treat Claude like a junior DevOps engineer. When I see a deployment that looks suspicious or is consuming more resources than expected, I don't go hunting for the Modal CLI. I just type: \"Check my active apps and stop anything that looks like it’s runaway.\"\n\nThe agent uses `list_apps`\n\nto find the context, identifies the problematic ID, and then executes `stop_app`\n\n. It terminates the execution gracefully in the background, effectively preventing a billing spike before I even realize there was one. That's not just 'cool AI'; that's practical infrastructure management.\n\nIt’s not all about emergencies, though. The real day-to-day value is in the audit trail.\n\nWhen you're working with distributed compute and persistent storage, things get messy fast. You might have volumes mounted across different instances or secrets tucked away in different containers. Instead of running `modal volume ls`\n\nor checking your secret dictionary manually, I just ask the agent to verify my setup:\n\nThe agent uses `list_volumes`\n\n, `list_secrets`\n\n, and `get_deployment`\n\nto pull that metadata directly into our chat context. It turns a multi-step investigation into a single natural language query.\n\nI know what some of you are thinking: \"You're giving an LLM the power to stop your production workloads and view your secrets. That sounds like a nightmare.\"\n\nYou’re right. It is. If you do this poorly, it’s a disaster.\n\nThis is exactly why I built Vinkius with isolated V8 sandboxes and strict governance policies. When you use an MCP server through our platform, we aren't just passing raw strings around. We have HMAC audit chains and execution boundaries in place. You shouldn't be running these tools by simply pasting a raw API key into a random script you found on GitHub.\n\nIf I’m giving my agent the ability to run `stop_app`\n\n, I need to know that the command is being executed within a controlled environment where it can't suddenly decide to start iterating through every secret in my account unless explicitly told to.\n\nWe are moving away from an era of 'Dashboards as Truth' towards 'Agents as Orchestrators.' If your infrastructure setup requires you to leave your IDE to manage it, you’re still using the old model.\n\nThe Modal MCP isn't a replacement for the Modal platform; it's an extension of it into your development workflow. It turns your agent from a passive observer into an active participant in your deployment lifecycle.\n\nIf you want to try setting this up, you can grab the connection token on Vinkius and drop it straight into Claude or Cursor. No OAuth callback hell, no complex configuration files. Just connect and start managing.\n\n*MCPs are the music of AI Agents. We built the catalog. Discover Vinkius MCP Catalog.*", "url": "https://wpnews.pro/news/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me", "canonical_source": "https://dev.to/renato_marinho/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me-1efm", "published_at": "2026-06-29 05:08:05+00:00", "updated_at": "2026-06-29 05:57:02.840986+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-infrastructure", "ai-products", "ai-tools"], "entities": ["Modal", "Vinkius", "Claude", "Cursor", "MCP", "LLM", "HMAC", "V8"], "alternates": {"html": "https://wpnews.pro/news/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me", "markdown": "https://wpnews.pro/news/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me.md", "text": "https://wpnews.pro/news/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me.txt", "jsonld": "https://wpnews.pro/news/i-stopped-checking-my-modal-dashboard-because-my-agent-does-it-for-me.jsonld"}}