<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Renato Marinho</title>
    <description>The latest articles on DEV Community by Renato Marinho (@renato_marinho).</description>
    <link>https://dev.to/renato_marinho</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2813362%2Fd2e79a59-7332-4297-b05d-7252876f6e5d.png</url>
      <title>DEV Community: Renato Marinho</title>
      <link>https://dev.to/renato_marinho</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/renato_marinho"/>
    <language>en</language>
    <item>
      <title>Stop building custom connectors for every single agent</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Wed, 26 Aug 2026 04:48:42 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-building-custom-connectors-for-every-single-agent-49m4</link>
      <guid>https://dev.to/renato_marinho/stop-building-custom-connectors-for-every-single-agent-49m4</guid>
      <description>&lt;p&gt;I’ve spent enough time in terminal windows and IDEs to know that 'integration fatigue' is real.&lt;/p&gt;

&lt;p&gt;You spend three days writing a specialized Python script so your LLM can talk to Slack. Then you realize you need it to talk to Jira. Suddenly, you're rebuilding the same glue code, managing the same auth patterns, and debugging the same structural mismatches. Most people think they are building agents; in reality, they are just building expensive, fragile plumbing.&lt;/p&gt;

&lt;p&gt;The Model Context Protocol (MCP) was supposed to solve this. But even with MCP, we've hit a new wall: discovery and orchestration. If you want an agent to perform a complex workflow involving five different services, how does that agent even &lt;em&gt;know&lt;/em&gt; what tools are available across those disparate servers without you hardcoding a massive list of function definitions into your system prompt?&lt;/p&gt;

&lt;p&gt;This is exactly why I built the &lt;a href="https://vinkius.com/ai-agent-connect/vinkius-mcp-catalog" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;. Not as another library to learn, but as a way to turn an AI agent into a catalog intelligence operator.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Difference Between 'Having Tools' and 'Knowing Capabilities'
&lt;/h3&gt;

&lt;p&gt;When most devs implement an MCP server, they focus on the &lt;code&gt;list_tools&lt;/code&gt; implementation. They get the JSON schemas right, they ensure the arguments map correctly, and they move on. But once that server is live, it becomes a silo.&lt;/p&gt;

&lt;p&gt;A standard agent sits there waiting for instructions. To make it useful at scale, it needs to be able to search for its own capabilities.&lt;/p&gt;

&lt;p&gt;The Vinkius MCP Catalog isn't just a directory; it's a functional interface designed for autonomous lookup. Instead of you manually feeding every tool definition into a long context window—which eats tokens and increases latency—you provide the agent with one specific capability: &lt;code&gt;search_catalog&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;With this one entry point, an agent doesn't just wait; it explores.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Actually Functions Under the Hood
&lt;/h3&gt;

&lt;p&gt;The architecture is straightforward but solves the specific pain point of discovery during runtime. Here’s how an intelligent agent handles a request using this integration:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Natural Language Discovery&lt;/strong&gt;: Using &lt;code&gt;search_catalog&lt;/code&gt;, an agent can query by intent (e.g., "Find me something that manages customer billing") rather than needing exact service names. Behind the scenes, we use AI-powered keyword extraction paired with PostgreSQL full-text search to ensure relevance rankings actually matter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep Inspection&lt;/strong&gt;: Once it finds a candidate (like our PropelAuth or Descope integrations), it doesn't guess how to use them. It uses &lt;code&gt;get_listing&lt;/code&gt; or &lt;code&gt;list_tools&lt;/code&gt; to pull down the exact argument schemas and technical requirements needed for execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation via Debugger Grades&lt;/strong&gt;: This is probably what seasoned engineers care about most: reliability. We don't just host servers; we run them through our internal Debugger. Every MCP in the catalog carries a 'Debugger Grade' (ranging from A+ to F). When an agent sees an 'A+' grade for a Vercel deployment tool vs a 'C' grade elsewhere, it can make higher-level reasoning decisions about which tool is safer or more robust for mission-critical tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credential Readiness&lt;/strong&gt;: One of the biggest friction points in MCP development is checking if a tool is actually usable right now versus being stuck behind an unconfigured OAuth flow. The &lt;code&gt;credentials_status&lt;/code&gt; tool allows an agent to self-diagnose: "Can I execute this HubSpot command right now?" If not, it knows it needs to trigger &lt;code&gt;set_credentials&lt;/code&gt; instead of blindly attempting failed executions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Moving Beyond Static Configuration
&lt;/h3&gt;

&lt;p&gt;The paradigm shift here is moving from static configuration (where $Tools = {ToolA, ToolB}$) to dynamic capability acquisition ($Tools = f(Query)$).&lt;/p&gt;

&lt;p&gt;You aren't defining what the agent &lt;em&gt;can&lt;/em&gt; do; you are defining what the agent &lt;em&gt;can find&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you look at our current ecosystem—running things like Vercel management (&lt;code&gt;vercel-alternative&lt;/code&gt;), recruitment automation (&lt;code&gt;applicantstack&lt;/code&gt;), or financial tracking (&lt;code&gt;nachonacho&lt;/code&gt;)—these aren't just endpoints. They are nodes in a graph that an agent can traverse via semantic search.&lt;/p&gt;

&lt;p&gt;For instance, if your task involves optimizing SaaS spend, an agent shouldn't require prior knowledge of NachoNacho existence. It should call &lt;code&gt;search_catalog("SaaS expense management")&lt;/code&gt;, receive the metadata including tool counts and trust scores, inspect the &lt;code&gt;get_listing_prompts&lt;/code&gt; to understand how humans typically interact with that service, and then proceed with confidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Matters Now
&lt;/h3&gt;

&lt;p&gt;bsp니다&lt;br&gt;
to avoid hitting the scaling ceiling of LLMs too early.&lt;/p&gt;

&lt;p&gt;The limiting factor in autonomous agents isn't always reasoning depth; often, it's information density within the context window. By offloading tool discovery to a dedicated indexing layer like this catalog, you keep your primary working context clean and focused on logic while delegating registry maintenance to specialized indexers.&lt;/p&gt;

&lt;p&gt;You stop being a plumber and start being an architect.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>mcp</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why LLM reasoning isn't enough for medical scheduling math</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Tue, 25 Aug 2026 11:13:01 +0000</pubDate>
      <link>https://dev.to/renato_marinho/why-llm-reasoning-isnt-enough-for-medical-scheduling-math-5bh5</link>
      <guid>https://dev.to/renato_marinho/why-llm-reasoning-isnt-enough-for-medical-scheduling-math-5bh5</guid>
      <description>&lt;p&gt;I’ve seen plenty of people try to make Claude or GPT-4 act like a specialized scheduler. They prompt it heavily: "You are a precise medical assistant. Calculate the next five doses based on X frequency."&lt;/p&gt;

&lt;p&gt;The model usually gets it right once. Then it fails when you add constraints—like shifting the entire schedule to land on a Thursday instead of a Tuesday—or when you ask it to validate whether a series of historical dates actually follows the prescribed interval.&lt;/p&gt;

&lt;p&gt;LLMs are probabilistic engines. Scheduling is a deterministic problem. When those two worlds collide without a proper interface, you get hallucinations that aren't just annoying; they are dangerous. In healthcare tech, a hallucinated dose date isn't a bug, it's a liability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving logic out of the prompt
&lt;/h3&gt;

&lt;p&gt;If you're building an agentic workflow around patient care or personal health management, you shouldn't be asking the LLM to perform modular arithmetic in its latent space. You should be giving it tools that handle the heavy lifting via structured execution.&lt;/p&gt;

&lt;p&gt;I recently looked into how we can bridge this specifically for medication management through the &lt;a href="https://vinkius.com/ai-agent-connect/injection-day-alignment" rel="noopener noreferrer"&gt;Injection Day Alignment&lt;/a&gt; MCP server. Instead of letting the model guess how many days pass between intervals when adjusting for weekends or holidays, we provide three specific primitives:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;get_injection_schedule&lt;/code&gt;&lt;/strong&gt;: This generates the sequence. Crucially, it includes &lt;code&gt;targetDayOfWeek&lt;/code&gt;. If you tell it you start on May 1st but everything &lt;em&gt;must&lt;/em&gt; happen on a Thursday, it calculates the necessary offset internally so the resulting array is mathematically sound.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;calculate_shift_offset&lt;/code&gt;&lt;/strong&gt;: Sometimes you don't need a new schedule; you just need to know how much to delay existing plans to hit a better window (like moving from Tuesday to Friday).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;verify_schedule_compliance&lt;/code&gt;&lt;/strong&gt;: This is arguably the most important tool for an agent. It acts as a validator that takes a list of dates and checks them against a strict frequency rule. It catches human errors or model drift immediately.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The edge case: Weekday Realignment
&lt;/h3&gt;

&lt;p&gt;A common mistake when designing these agents is assuming users want static offsets. Most people don't say "add 3 days." They say "I want my shots on Fridays so I don't have to deal with pharmacy closures on Wednesdays."&lt;/p&gt;

&lt;p&gt;The nuance here—which anyone skimming documentation might overlook—is that calculating an injection schedule isn't just about adding $N$ days repeatedly ($x + freq$). Once you introduce a &lt;code&gt;targetDayOfWeek&lt;/code&gt; constraint, you are performing periodic alignment calculation plus iterative incrementation. Doing this manually in every single system integration leads to massive code duplication across various healthcare apps.&lt;/p&gt;

&lt;p&gt;The Injection Day Alignment server handles this predictably using ISO 8601 formats (YYYY-MM-DD), ensuring no timezone ambiguity messes up the dosing counts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why standardizing this matters now
&lt;/h3&gt;

&lt;p&gt;We are entering an era where AI agents won't just chat; they will execute workflows in sensitive domains like medicine and finance. But as long as we rely on engineers writing custom Python scripts or JS functions for every tiny bit of business logic, we aren't really scaling intelligence—we are just scaling technical debt.&lt;/p&gt;

&lt;p&gt;The goal of providing these kinds of professional-grade MCP servers via Vinkius is to remove that friction entirely. We focus on things like isolation and reliability so that when an agent uses &lt;code&gt;verify_schedule_compliance&lt;/code&gt;, the result is treated as ground truth within your application architecture.&lt;/p&gt;

&lt;p&gt;You don't need more "smart" models for this task; you need smarter interfaces between the model and reality.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>healthcare</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stop searching for MCP servers manually—use a registry instead</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Tue, 25 Aug 2026 01:44:16 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-searching-for-mcp-servers-manually-use-a-registry-instead-1fg4</link>
      <guid>https://dev.to/renato_marinho/stop-searching-for-mcp-servers-manually-use-a-registry-instead-1fg4</guid>
      <description>&lt;p&gt;I've spent the last few months watching everyone trip over the same hurdle: the sheer fragmentation of the Model Context Protocol ecosystem.&lt;/p&gt;

&lt;p&gt;You hear about a cool new tool, maybe it's a GitHub integration or a specialized database connector. Then you realize you have to hunt down a specific repo, figure out if it's even compatible with your current client, manually configure OAuth (which is always more painful than documentation suggests), and pray the environment variables don't leak your keys.&lt;/p&gt;

&lt;p&gt;It’s messy. We are trying to build autonomous agents, but we are still acting like manual integrators.&lt;/p&gt;

&lt;p&gt;The reality is that discovery shouldn't be a manual grep through GitHub repos. There needs to be a single source of truth where an agent doesn't just 'know' about a tool, but can actually find it and negotiate access securely.&lt;/p&gt;

&lt;p&gt;That's exactly what Smithery addresses. It isn't just another collection of scripts; it's essentially an index and management layer for the entire MCP landscape.&lt;/p&gt;

&lt;h3&gt;
  
  
  Beyond basic discovery
&lt;/h3&gt;

&lt;p&gt;If you look at most registries, they are glorified lists. They tell you what exists, and then they leave you hanging when it comes to implementation.&lt;/p&gt;

&lt;p&gt;What caught my attention with &lt;a href="https://vinkius.com/ai-agent-connect/smithery" rel="noopener noreferrer"&gt;Smithery&lt;/a&gt; is that it moves beyond static listing into functional orchestration. Most people think an MCP registry is just for finding things using semantic search—and yes, being able to search by name, tags, or description is core—but anyone building serious agentic workflows will care about the capability gaps documented in its toolkit.&lt;/p&gt;

&lt;p&gt;Specifically, there are three areas where this changes how I approach agent architecture:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Introspection of Capabilities
&lt;/h4&gt;

&lt;p&gt;When I design an agent, I hate hardcoding tool definitions. I want the agent to ask: "What can you actually do right now?" Through Smithery, an agent can use &lt;code&gt;get_server_tools&lt;/code&gt; or &lt;code&gt;get_server_resources&lt;/code&gt;. Instead of me telling Claude that 'Server X has function Y', I can allow the agent to query the Smithery registry itself to discover available tools (&lt;code&gt;get_server_tools&lt;/code&gt;), resources (&lt;code&gt;get_server_resources&lt;/code&gt;), and even predefined prompt templates (&lt;code&gt;get_server_prompts&lt;/code&gt;). This turns discovery into a runtime capability rather than a compile-time configuration.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Solving the OAuth Nightmare
&lt;/h4&gt;

&lt;p&gt;We all know the drill: integrating a third-party service usually means wrestling with redirect URIs and client secrets. Smithery uses something called 'Smithery Connect'. This handles the OAuth flows and session management behind the scenes. In practical terms, this means creating a connection becomes a matter of calling &lt;code&gt;create_connection&lt;/code&gt;, and Smithery takes care of the heavy lifting regarding tokens and sessions. It removes that massive friction point where most developers simply give up and decide 'manual integration is easier.'&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Scoped Security (Service Tokens)
&lt;/h4&gt;

&lt;p&gt;You should never hand your primary API key to an LLM-driven process unless you enjoy losing sleep at night. One thing often missed when skimming technical specs is how much importance goes into granular access control. Using &lt;code&gt;create_service_token&lt;/code&gt;, you can generate scoped, time-limited tokens defined by strict policies (namespaces, specific operations, etc.). You aren't giving away the keys to your kingdom; you're handing over a temporary visitor pass with restricted movement.&lt;/p&gt;

&lt;p&gt;A breakdown of what the system allows you to do via its toolset:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Discovery:&lt;/strong&gt; Search verified servers or browse specifically designed tools/resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Management:&lt;/strong&gt; List existing connections via &lt;code&gt;list_connections&lt;/code&gt; or cleanly remove them once they are stale via &lt;code&gt;delete_connection&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability:&lt;/strong&gt; Monitor how these servers are performing or being used through &lt;code&gt;get_server_analytics&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow looks less like traditional DevOps and more like Intent-Based Networking. You define what kind of interaction you want, and the registry facilitates the bridge between your intent and the remote service execution.&lt;/p&gt;

&lt;p&gt;For those building enterprise-grade setups where reliability isn't negotiable, having this centralized control plane is vital for auditing everything from connection metadata to server usage trends.&lt;br&gt;
extra tip: if you only want stuff that won't blow up your production environment immediately, use the &lt;code&gt;verified=true&lt;/code&gt; filter in your searches to target servers that have passed higher scrutiny protocols.&lt;br&gt;
in short: stop treating MCP servers like individual snowflake deployments and start treating them like discoverable services.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>programming</category>
      <category>security</category>
    </item>
    <item>
      <title>Stop manually auditing IAM: Bringing Identity Management into the LLM loop</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Mon, 24 Aug 2026 02:35:51 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-manually-auditing-iam-bringing-identity-management-into-the-llm-loop-9g9</link>
      <guid>https://dev.to/renato_marinho/stop-manually-auditing-iam-bringing-identity-management-into-the-llm-loop-9g9</guid>
      <description>&lt;p&gt;Most of our time as engineers isn't spent building core logic. It's spent on the plumbing—managing user lifecycles, fixing permission drifts, and hunting down stuck sessions in some dashboard we haven't opened in months. We treat Identity and Access Management (IAM) as a static silo. You go into the Userfront console, you click around, you hope you didn't break a multi-tenant hierarchy while trying to add a single admin.&lt;/p&gt;

&lt;p&gt;The Model Context Protocol (MCP) changes the math here. Instead of treating your identity provider as a separate GUI task, you turn it into an actionable extension of your development environment.&lt;/p&gt;

&lt;p&gt;I’ve been looking closely at how we bridge the gap between "an AI knows my code" and "an AI can help me manage my users." Using the &lt;a href="https://vinkius.com/ai-agent-connect/userfront" rel="noopener noreferrer"&gt;Userfront MCP server&lt;/a&gt;, you aren't just asking Claude or Cursor to write code; you're giving it hands to perform operational tasks safely within your identity stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  Beyond simple CRUD
&lt;/h3&gt;

&lt;p&gt;A lot of people think connecting an AI to an API is just about making basic GET and POST requests. They think they want a tool that can &lt;code&gt;create_user&lt;/code&gt;. That’s trivial. Any junior dev can script that.&lt;/p&gt;

&lt;p&gt;The real value—the part that saves actual engineering hours—is in handling the structural complexity of modern SaaS apps. Specifically, things like multi-tenancy and nested organization hierarchies.&lt;/p&gt;

&lt;p&gt;If you are running a B2B application, you aren't dealing with flat lists of users. You are dealing with parents and children. In Userfront, this means managing tenant relationships. With this MCP, instead of navigating deeply nested UI menus, you can tell your agent:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Create a child tenant named 'Beta Testers' under parent tenant 'ten_xyz789'."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The underlying &lt;code&gt;create_child_tenant&lt;/code&gt; tool handles the heavy lifting of maintaining those relational links automatically. It transforms a high-friction administrative chore into a low-friction conversation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Auditing without the headache
&lt;/h3&gt;

&lt;p&gt;Security audits usually involve pulling logs, exporting CSVs, and staring at rows until your eyes bleed. When you give an agent access via MCP, discovery becomes much faster than clicking through pagination settings.&lt;/p&gt;

&lt;p&gt;You can ask questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;"Find all users in my tenant who have 'admin' in their custom data."&lt;/em&gt;
The agent uses &lt;code&gt;find_users&lt;/code&gt; to query specifically for those attributes without needing you to construct complex filter objects manually every single time.&lt;/li&gt;
&lt;li&gt;  &lt;em&gt;"Are there any suspicious active sessions for user X?"&lt;/em&gt;
The &lt;code&gt;get_user_sessions&lt;/code&gt; tool lets you instantly inspect current security contexts. If a service account looks compromised or a user left a session open on a public machine, you identify it immediately via natural language command rather than digging through telemetry dashboards.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Engineering Reality Check: Why most DIY MCPs fail
&lt;/h3&gt;

&lt;p&gt;You might be thinking: &lt;em&gt;“I could just wrap the Userfront API in a small TypeScript script and call it an MCP.”&lt;/em&gt;\&lt;br&gt;
You could. But then you hit the wall everyone forgets until they are halfway through implementation: Governance.&lt;/p&gt;

&lt;p&gt;When I built &lt;a href="https://github.com/vinkius-labs/mcpfusion" rel="noopener noreferrer"&gt;MCPFusion&lt;/a&gt;, the foundation for everything we ship at Vinkius, I focused heavily on isolation. Giving an LLM power to &lt;code&gt;delete_user&lt;/code&gt; or &lt;code&gt;invalidate_api_key&lt;/code&gt; is terrifying if that execution happens in an uncontrolled environment. If that same LLM decides to hallucinate a different user ID during an automated cleanup run, you have a massive reliability issue.&lt;/p&gt;

&lt;p&gt;Vinkius servers execute in isolated V8 sandboxes with strict policy enforcement (DLP, SSRF prevention). When we talk about production-grade connectivity for sensitive stuff like IAM/Identity platforms, "it works on my machine" isn't good enough. It needs to be secure by design so that even if the model goes off the rails, it stays within its lane.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical Workflows for Teams
&lt;/h3&gt;

&lt;p&gt;The utility shifts depending on who is sitting at the keyboard:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For DevOps &amp;amp; Security:&lt;/strong&gt; Rapidly auditing sessions (&lt;code&gt;get_user_sessions&lt;/code&gt;), rotating/invalidating API keys (&lt;code&gt;invalidate_api_key&lt;/code&gt;), or checking JWT formats (&lt;code&gt;get_jwt_format&lt;/code&gt;) when debugging auth flows locally.\r&lt;br&gt;
&lt;strong&gt;For Product/Support:&lt;/strong&gt; Prompting queries to invite beta testers (&lt;code&gt;invite_user&lt;/code&gt;) or modifying metadata to adjust access levels mid-flight without waiting for an engineering sprint cycle.\r&lt;br&gt;
implementation detail: Yes, searching via &lt;code&gt;find_users&lt;/code&gt; allows filtering by custom metadata bits that normally require deep dives into database schemas or proprietary UIs.\r&lt;br&gt;
&lt;strong&gt;For Backend Devs:&lt;/strong&gt; Managing lifecycle events such as bulk imports (&lt;code&gt;process_user_import&lt;/code&gt;) or setting granular roles across specific tenants (&lt;code&gt;set_tenant_user_roles&lt;/code&gt;). \r&lt;br&gt;
idempotency note: Tools like &lt;code&gt;create_or_update_user&lt;/code&gt; provide a cleaner interface for upsert patterns which prevents duplicate entry errors common in manual scripting.\r&lt;br&gt;
extension capability: Since Userfront manages complex identities including MFA and SSO setups indirectly through these configurations (like adjusting JWT claim availability), your ability to debug auth issues moves from being reactive to proactive.\r&lt;br&gt;
amountless possibilities: From customizing what information travels in tokens (&lt;code&gt;update_jwt_format&lt;/code&gt;) to managing hierarchical organizational structures via specialized tools like &lt;code&gt;create_child_tenant&lt;/code&gt;, this effectively gives your local IDE full visibility into your identity layer.\r&lt;br&gt;
isolate realitycheck: Keep in mind that while this provides immense speed, these tools carry weight—especially functions like &lt;code&gt;delete_tenant&lt;/code&gt; or &lt;code&gt;delete_user&lt;/code&gt;. Always verify intent before confirming destructive actions recommended by your agent.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Why your LLM keeps hallucinating labor laws (and how to fix it)</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Mon, 24 Aug 2026 00:04:56 +0000</pubDate>
      <link>https://dev.to/renato_marinho/why-your-llm-keeps-hallucinating-labor-laws-and-how-to-fix-it-1h61</link>
      <guid>https://dev.to/renato_marinho/why-your-llm-keeps-hallucinating-labor-laws-and-how-to-fix-it-1h61</guid>
      <description>&lt;p&gt;LLMs are notoriously bad at determinism when it comes to legal edge cases. They are great at prose, mediocre at logic, and absolute disasters when they encounter regional employment statutes that involve conditional substitution logic.&lt;/p&gt;

&lt;p&gt;Take the concept of 'Mondayization' in Singapore. It’s a specific rule under the Employment Act: if a public holiday lands on a non-working day—like a Sunday—it triggers a substitute holiday. To a human HR manager or a seasoned local accountant, this is trivial. To an LLM trying to predict the next token, it's a trap. Without real-time, deterministic data, the model will confidently tell you that January 1st is just a Sunday, ignoring the fact that Monday becomes a paid holiday for anyone on a standard work schedule.&lt;/p&gt;

&lt;p&gt;The mismatch isn't because the LLM lacks 'knowledge'; it's because knowledge in weights is fuzzy, whereas labor law requires precision.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving from Probabilistic Guessing to Deterministic Tools
&lt;/h3&gt;

&lt;p&gt;When we talk about Model Context Protocol (MCP), most people focus on giving AI access to their files or their Slack. But there is another, more critical layer: giving AI access to specialized, rule-bound engines.&lt;/p&gt;

&lt;p&gt;You don't want an agent &lt;em&gt;guessing&lt;/em&gt; what happens when a holiday falls on a weekend; you want it calling a function that executes strict Boolean logic based on official government mandates.&lt;/p&gt;

&lt;p&gt;I recently looked into how we handle this specifically for the Singapore market. We built the &lt;a href="https://vinkius.com/ai-agent-connect/singapore-public-holiday-mondayization-calculator" rel="noopener noreferrer"&gt;Singapore Public Holiday &amp;amp; Mondayization Calculator&lt;/a&gt; MCP server to solve exactly this gap. Instead of letting an agent drift into hallucinations regarding the Employment Act, you provide it with three surgical tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;get_holiday_details&lt;/code&gt;: To determine exactly which day of the week a date falls on and its immediate impact.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_work_schedule_info&lt;/code&gt;: To validate if an employee's specific shift (say, Tue-Sat) makes them eligible for certain substitutes.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;calculate_annual_holiday_summary&lt;/code&gt;: To generate a complete yearly view of paid holidays and all Mondayization events.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What documentation won't tell you
&lt;/h3&gt;

&lt;p&gt;A junior dev looks at these tool definitions and sees "useful utilities." A senior engineer looking at automation workflows sees something else: predictability for downstream processes.&lt;/p&gt;

&lt;p&gt;The nuance here lies in the interaction between &lt;code&gt;get_work_schedule_info&lt;/code&gt; and the Mondayization trigger. Most people assume everyone follows a Mon-Fri grind. But if your agent is managing operations for staff on a Tue-Sat rotation, those Mondayized holidays might not apply to them in the same way. The magic isn't just in knowing when the holiday is; it's in verifying whether the worker's unique schedule interacts with that specific calendar event according to law.&lt;/p&gt;

&lt;p&gt;By surfacing these as MCP tools, you aren't just teaching an agent facts; you are embedding an expert system into its reasoning loop.&lt;/p&gt;

&lt;h3&gt;
  
  
  Production Grade vs. Hobbyist Scripts
&lt;/h3&gt;

&lt;p&gt;The reason I ended up building Vinkius was because I kept seeing developers spend entire weekends writing custom Python wrappers around niche APIs just so their Claude instance wouldn't mess up basic math or scheduling. That approach scales poorly and introduces massive security risks when you start passing sensitive employee schedules around.&lt;/p&gt;

&lt;p&gt;The goal should be zero friction: subscribe, grab a token, paste it into Cursor or Claude Desktop, and move on with your life.&lt;/p&gt;

&lt;p&gt;If you are building agents meant to touch anything remotely related to workforce management or compliance—whether it’s for Singaporean labor laws or even our &lt;a href="https://vinkius.com/mcp/br-business-days-calculator" rel="noopener noreferrer"&gt;BR Business Days Calculator&lt;/a&gt;—stop relying on prompting techniques alone. Prompt engineering is not a substitute for hard-coded logic wrapped in an MCP interface. One is an attempt to persuade the model; the other is forcing it to be right.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>aiagents</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Stop manually babysitting your user onboarding flows</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Sun, 23 Aug 2026 06:48:57 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-manually-babysitting-your-user-onboarding-flows-426l</link>
      <guid>https://dev.to/renato_marinho/stop-manually-babysitting-your-user-onboarding-flows-426l</guid>
      <description>&lt;p&gt;Most product managers spend half their week staring at dashboards, trying to figure out why a new feature isn't being adopted or why users are dropping off mid-tour. They look at heatmaps, they dig through Segment or Amplitude logs, and then they jump into Chameleon to tweak a segment or trigger a microsurvey. It’s fragmented. It’s manual. And if you’re a developer, it usually means getting pinged with a request to 'just track this one extra event so we can trigger that tour.'&lt;/p&gt;

&lt;p&gt;The Model Context Protocol (MCP) changes the math on this entirely. Instead of having these insights locked behind a proprietary UI, we can finally bring the orchestration layer of product adoption into our conversational workflows.&lt;/p&gt;

&lt;p&gt;I've been looking closely at how we bridge the gap between LLM reasoning and actionable product management. We don't just want an agent that &lt;em&gt;knows&lt;/em&gt; things; we want an agent that can &lt;em&gt;act&lt;/em&gt; on them.&lt;/p&gt;

&lt;p&gt;Take Chameleon, for example. Usually, interacting with it requires navigating their specific dashboard settings or writing glue code to sync user properties for segmentation. But with the &lt;a href="https://vinkius.com/ai-agent-connect/chameleonio" rel="noopener noreferrer"&gt;Chameleon.io MCP server&lt;/a&gt;, you aren't just asking questions—you're running operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Beyond Chatting: Real Operational Tools
&lt;/h3&gt;

&lt;p&gt;A junior implementation might think an MCP is just about querying data. That's wrong. A useful MCP provides a controlled surface area for action. Looking at the toolkit available for Chameleon, the utility goes far beyond simple GET requests:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Real-time User Identity &amp;amp; Targeting&lt;/strong&gt;: With &lt;code&gt;identify_chameleon_user&lt;/code&gt;, you don't wait for a backend deployment to fix a segmentation error. You tell the agent: "Identify user_999 as enterprise/fintech," and the profile updates immediately so they hit the right tour.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event Orchestration&lt;/strong&gt;: Using &lt;code&gt;track_user_event&lt;/code&gt; lets you close the loop between application logic and UX triggers instantly during testing or automated workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback Loops&lt;/strong&gt;: Instead of digging through CSV exports, you can use &lt;code&gt;list_microsurvey_responses&lt;/code&gt; to ask an agent: "What are people saying about the new checkout flow?" The agent pulls the latest responses and synthesizes the sentiment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lifecycle Management&lt;/strong&gt;: From auditing existing setups via &lt;code&gt;list_experiences&lt;/code&gt; to handling sensitive data cleanup with &lt;code&gt;delete_chameleon_user&lt;/code&gt;, the scope covers the entire lifecycle of an in-app experience.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Why this matters for Engineering and Product alike
&lt;/h3&gt;

&lt;p&gt;The nuance most people miss when skimming documentation is the shift in responsibility. In a traditional setup, updating a user segment is a ticket or a config change. In an MCP-enabled workflow, it becomes part of the debugging process itself.&lt;/p&gt;

&lt;p&gt;You can sit in Cursor or Claude, observe a weird edge case where a user isn't seeing a necessary tooltip, and instead of switching tabs seven times, you simply check the segments via &lt;code&gt;list_user_segments&lt;/code&gt;. If you find they lack the required property, you correct it via &lt;code&gt;identify_chameleon_user&lt;/code&gt;. The latency is low ($~950$ms average), making this feel less like "batch processing" and more like "live interaction."&lt;/p&gt;

&lt;p&gt;For Developers, this reduces friction significantly. You can verify event tracking (&lt;code&gt;list_chameleon_events&lt;/code&gt;) right next to your IDE without needing special permissions or jumping through hoops in a separate SaaS portal.&lt;/p&gt;

&lt;p&gt;For PMs and Customer Success teams, it turns their LLM from a passive researcher into an active operator. You move from "Why did they skip this?" to "Let me adjust that segment right now based on what I see."&lt;/p&gt;

&lt;p&gt;The reality is that software has become too complex to manage through single-pane UIs alone anymore. As agents gain more agency via protocols like MCP, tools like Chameleon won't just stay tucked away in browser tabs—they'll become part of the extended nervous system of our development environments.&lt;/p&gt;

&lt;p&gt;You can find this specific integration here:\ sense &lt;a href="https://vinkius.com/ai-agent-connect/chameleonio" rel="noopener noreferrer"&gt;https://vinkius.com/ai-agent-connect/chameleonio&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>product</category>
      <category>engineering</category>
    </item>
    <item>
      <title>Stop letting your AI agents thrash their memory</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Sun, 23 Aug 2026 03:38:41 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-letting-your-ai-agents-thrash-their-memory-4a8a</link>
      <guid>https://dev.to/renato_marinho/stop-letting-your-ai-agents-thrash-their-memory-4a8a</guid>
      <description>&lt;p&gt;You’re building an agent, not just a chatbot. You give it a mission, some long-term context via RAG, and a massive system prompt. It works fine for five minutes. Then, suddenly, it starts hallucinating, losing track of previous steps, or—worse—it becomes incredibly slow and expensive.&lt;/p&gt;

&lt;p&gt;If you've ever scaled an autonomous loop, you know exactly what happened: you hit memory thrashing.&lt;/p&gt;

&lt;p&gt;You thought you were managing state effectively, but your agent was caught in a death spiral of constant demotions and re-promotions between its active context and its vector database. One minute it's following instructions; the next, it's asking questions you answered ten turns ago because the context window decided those details weren't 'important' anymore.&lt;/p&gt;

&lt;p&gt;Managing agentic memory isn't about having a bigger context window. It's about deterministic hierarchy.&lt;/p&gt;

&lt;h3&gt;
  
  
  The math behind the madness
&lt;/h3&gt;

&lt;p&gt;Most people treat agent memory as a black box managed by the LLM provider. They assume if they cram more into the prompt, the agent stays 'smart.' That’s a lie that kills your margins and your reliability. Real intelligence requires a structured movement of information across three distinct layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Working Memory:&lt;/strong&gt; What is happening &lt;em&gt;right now&lt;/em&gt;. This needs to be lightning-fast and highly relevant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Short-Term Memory:&lt;/strong&gt; Recent history and immediate task dependencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-Term Memory:&lt;/strong&gt; The foundational knowledge and historical patterns stored for retrieval later.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The problem is deciding when to move something from Working to Short-Term, or when to evict something entirely to make room for new tokens without losing critical continuity. If you guess based on intuition, you will fail at scale.&lt;/p&gt;

&lt;p&gt;I recently looked at how we handle this in our ecosystem at Vinkius. We realized that engineers aren't spending enough time simulating these lifecycles before they deploy. They are deploying blind and wondering why their agent costs spiked or why the hit rate plummeted.&lt;/p&gt;

&lt;p&gt;To solve this precisely, I wanted something that didn't rely on 'vibes.' I needed a calculator—not for calories, but for token movements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deterministic Lifecycle Management
&lt;/h3&gt;

&lt;p&gt;A practical tool for this is the &lt;a href="https://vinkius.com/ai-agent-connect/agent-memory-tier-calculator" rel="noopener noreferrer"&gt;Agent Memory Tier Calculator&lt;/a&gt;. Unlike basic RAG implementations that just fetch chunks based on similarity scores, this MCP server acts as a simulation engine for memory hierarchies.&lt;/p&gt;

&lt;p&gt;It doesn't just store data; it manages the physics of information flow. Using &lt;code&gt;calculate_memory_lifecycle&lt;/code&gt;, you can actually see the movement between tiers based on a scoring metric that weights recency, frequency, and importance. It treats memory as a fluid resource rather than a static bucket.&lt;/p&gt;

&lt;p&gt;When you run &lt;code&gt;simulate_retrieval_performance&lt;/code&gt;, you get reality checks instead of hopes. You can evaluate whether your current configuration will maintain acceptable latency or if your hit rates are going to crater once the conversation depth increases.&lt;/p&gt;

&lt;p&gt;The most useful part for anyone trying to squeeze performance out of limited windows is &lt;code&gt;optimize_working_memory&lt;/code&gt;. Instead of trial and error with token counts (which is basically throwing money at OpenAI/Anthropic to see what sticks), you tell it: "I want a 90% hit rate," and it tells you exactly how many tokens your Working Memory tier needs to hold to stay stable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avoiding the Thrashing Trap
&lt;/h3&gt;

&lt;p&gt;A common mistake I see in multi-agent orchestrations is ignoring utilization thresholds. In any tiered system, if your Working Memory utilization crosses roughly 95%, you enter 'thrashing.' This is where the system spends more compute cycles moving items between tiers than actually processing tasks. It’s essentially digital vertigo.&lt;/p&gt;

&lt;p&gt;You can identify this by monitoring how often items are being promoted back up immediately after being demoted. If that happens constantly, your tier boundaries are poorly defined or your working memory capacity is fundamentally undersized for the complexity of the task.&lt;/p&gt;

&lt;p&gt;The goal isn't maximum storage; it's maximum stability per token spent.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>llm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stop teaching your AI the same thing twice</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Sat, 22 Aug 2026 02:40:31 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-teaching-your-ai-the-same-thing-twice-3n06</link>
      <guid>https://dev.to/renato_marinho/stop-teaching-your-ai-the-same-thing-twice-3n06</guid>
      <description>&lt;p&gt;You spend twenty minutes explaining your tech stack, your preferred linting rules, and how you handle deployment to an LLM. It's helpful. Then you start a fresh session tomorrow.&lt;/p&gt;

&lt;p&gt;You find yourself typing it all again. Or worse, copying it from a README file.&lt;/p&gt;

&lt;p&gt;This isn't just annoying; it's a failure of the agentic loop. We talk about 'autonomous agents,' but we’re essentially working with highly capable amnesiacs. They have massive context windows, sure, but once that window closes or the session resets, they go back to being strangers.&lt;/p&gt;

&lt;p&gt;I've seen developers try to solve this by stuffing giant system prompts with 'User Preferences.' It's a hack. It bloats the context, costs more tokens, and eventually, the model starts ignoring parts of it anyway because the signal-to-noise ratio collapses.&lt;/p&gt;

&lt;p&gt;The real solution isn't bigger context windows. It's externalized persistence.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Memory Gap
&lt;/h3&gt;

&lt;p&gt;When we integrate Model Context Protocol (MCP) servers into Claude or Cursor, we usually focus on &lt;em&gt;action&lt;/em&gt;: "Search my GitHub," "Read this Jira ticket," or "Query my database." Those are great for retrieval-augmented generation (RAG), but RAG is typically about finding existing documents. It isn't inherently designed to help an agent &lt;em&gt;learn&lt;/em&gt; about you over time.&lt;/p&gt;

&lt;p&gt;That's where &lt;a href="https://vinkius.com/ai-agent-connect/mem0" rel="noopener noreferrer"&gt;Mem0&lt;/a&gt; comes in. Unlike standard RAG which treats everything as static documentation, Mem0 acts as a dedicated long-term memory layer specifically built for personalization.&lt;/p&gt;

&lt;p&gt;If you look closely at how Mem0 handles data—and why I think it beats a custom SQLite implementation—it boils down to how it processes input through its extraction engine. Most people assume you just dump text into a vector DB and call it 'memory.' But if you tell an agent "I prefer dark mode" and save that string directly, a basic semantic search might struggle to relate that to a subsequent request like "Set up my environment."&lt;/p&gt;

&lt;p&gt;Mem0 doesn't just store strings; it extracts structured facts. When you use the &lt;code&gt;add_memory&lt;/code&gt; tool via MCP, the underlying system identifies key entities and relationships automatically. It turns unstructured conversation into organized intelligence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Breaking Down the Tools
&lt;/h3&gt;

&lt;p&gt;The MCP server exposes four critical entry points that turn an LLM from a chatbot into a personalized assistant:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;add_memory&lt;/strong&gt;: This is where the learning happens. Instead of manual indexing, the AI uses this tool to distill facts from conversations. If you mention you work best in the mornings, it extracts that specific temporal preference without you having to manually format a JSON blob.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;search_memories&lt;/strong&gt;: This allows for semantic retrieval based on intent rather than exact keyword matching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;get_memories&lt;/strong&gt;: Useful when you want the agent to perform a holistic review of what it knows about your profile—essentially giving it a chance to 'reflect' before acting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;delete_memory&lt;/strong&gt;: Crucial for privacy and hygiene. As models evolve and user needs change, being able to prune stale context prevents hallucinations caused by outdated assumptions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A nuance many skip: Because Mem0 supports scoping by &lt;code&gt;user_id&lt;/code&gt;, &lt;code&gt;agent_id&lt;/code&gt;, or &lt;code&gt;run_id&lt;/code&gt;, you aren't forced into a single global brain. In production environments—where you wouldn't dream of mixing user contexts—you can isolate memory banks completely while maintaining identical logic across different agent personas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical Implementation (Without Rebuilding Everything)
&lt;/h3&gt;

&lt;p&gt;The bottleneck for most engineers trying to implement anything with MCP is connectivity and auth management (OAuth callbacks are where projects die). To avoid that friction, we host these specialized servers on Vinkius so they behave like production infrastructure instead of experimental scripts running on your local machine.\moipically speaking, adding memory becomes three steps: subscribe, grab a token, paste into Claude/Cursor.&lt;br&gt;
essentially making it plug-and-play for professional workflows.&lt;/p&gt;

&lt;p&gt;You can check out the full capability list here: &lt;a href="https://vinkius.com/ai-agent-connect/mem0" rel="noopener noreferrer"&gt;https://vinkius.com/ai-agent-connect/mem0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The hobbyist tier covers 10k memories per month for free if you just want to test locally with Cursor or Claude Desktop—plenty for individual devs wanting to eliminate those repetitive 'explaining my workflow' sessions.&lt;/p&gt;

&lt;p&gt;A note on cost and scaling: If you move beyond personal experimentation into building SaaS products where thousands of users need distinct memory profiles, the pricing shifts toward usage ($19+/month), but at that scale, managing your own vector + graph + KV hybrid architecture would likely cost significantly more in engineering hours alone.&lt;/p&gt;

&lt;p&gt;The goal isn't just to make AI smarter; it's to make it less exhausting to work with.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>agents</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Stop burning money on inefficient Claude prompts\n</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Fri, 21 Aug 2026 02:02:23 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-burning-money-on-inefficient-claude-promptsn-1g91</link>
      <guid>https://dev.to/renato_marinho/stop-burning-money-on-inefficient-claude-promptsn-1g91</guid>
      <description>&lt;p&gt;If you're building anything serious with Claude right now, you've probably noticed the math doesn't always add up. You design a complex system prompt, attach several megabytes of context—documentation, codebase snippets, previous chat history—and suddenly your token bill looks less like a development cost and more like a mortgage payment.&lt;/p&gt;

&lt;p&gt;The culprit isn't just the model size; it's often how we architect our prompts. Most developers treat a prompt as a single blob of text. They toss everything into the bucket and hope for the best. But if you aren't designing for Claude's Prompt Caching, you are essentially leaving money on the table every single time the agent responds.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Cache Continuity Trap
&lt;/h3&gt;

&lt;p&gt;Prompt caching isn't magic; it’s physics. It relies heavily on prefix matching. For Claude to reuse a cached computation, the exact sequence of tokens must remain identical from the very beginning of the prompt.&lt;/p&gt;

&lt;p&gt;A common mistake I see is placing volatile data—things that change with every turn, like conversation history or specific user queries—anywhere except at the very end. If you slip a timestamp or a dynamic variable into the middle of your instruction block, you break the chain. The cache misses. Everything after that breaking point becomes "new" tokens that you pay full price for again.&lt;/p&gt;

&lt;p&gt;You might think your structure is fine because it 'looks logical,' but logic doesn't guarantee bit-for-bit parity in token sequences.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automating the Layout Logic
&lt;/h3&gt;

&lt;p&gt;To solve this, we shouldn't be guessing where our breakpoints are. We need to analyze exactly how much weight is sitting in stable versus volatile segments.&lt;/p&gt;

&lt;p&gt;I recently looked into the &lt;a href="https://vinkius.com/ai-agent-connect/claude-prompt-caching-optimizer" rel="noopener noreferrer"&gt;Claude Prompt Caching Optimizer&lt;/a&gt;, an MCP server designed specifically to stop this bleeding. Instead of manual trial and error, it gives us three distinct levers to pull:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;analyze_prompt_structure&lt;/code&gt;&lt;/strong&gt;: This evaluates your current arrangement. It tells you whether your heavy lifting (static documentation) is positioned correctly relative to your shifting context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;validate_caching_strategy&lt;/code&gt;&lt;/strong&gt;: This acts as a linter for cache continuity. It checks if you’ve accidentally violated the golden rule: keeping stable segments contiguous at the head of the prompt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;recommend_optimal_layout&lt;/code&gt;&lt;/strong&gt;: This generates a blueprint based on what actually works for LLM architecture (System Prompt $\rightarrow$ Static Context $\rightarrow$ Few-Shot Examples $\rightarrow$ Volatile Context).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The difference between a bad structure and an optimized one can be massive. In one test case, moving static documentation ahead of recent conversation turns increased cache hit ratios from 45% to 85%, saving roughly 1,200 tokens per request instantly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Realizing Efficiency Through MCP
&lt;/h3&gt;

&lt;p&gt;The beauty of implementing this via Model Context Protocol (MCP) is that you don't have to manually rewrite your orchestration code every time you want to tune performance. You bring these tools directly into Cursor, Claude Desktop, or whatever IDE/client you're using to build agents.&lt;/p&gt;

&lt;p&gt;You interface with it naturally:&lt;br&gt;
"Analyze my current prompt structure for efficiency."&lt;br&gt;
The response identifies exactly where the leak is and how many tokens can be reclaimed by reordering elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why bother?
&lt;/h3&gt;

&lt;p&gt;You might ask why this deserves dedicated tooling instead of just better prompting skills. Because once you move from tinkering with individual prompts to managing long-running agentic workflows or complex RAG loops, human intuition fails scale tests quickly. As systems grow more autonomous and contexts get larger, staying under budget requires deterministic validation, not vibes.&lt;/p&gt;

&lt;p&gt;lately, I've seen people trying to manage complexity by adding even &lt;em&gt;more&lt;/em&gt; instructions to fix edge cases they missed during optimization. That creates a death spiral of increasing latency and mounting costs.&lt;/p&gt;

&lt;p&gt;You can find the full suite of tools including related utilities like Token Budget Calculators and Agent Prompt Versioning engines over at &lt;a href="https://vinkius.com/mcp/claude-prompt-caching-optimizer" rel="noopener noreferrer"&gt;Vinkius&lt;/a&gt;. \r&lt;br&gt;
\r&lt;br&gt;
The goal shouldn't be just making AI smarter; it should be making AI integration sustainable for engineering teams who actually care about their bottom line.";"tags":["mcp&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claude</category>
      <category>llm</category>
      <category>optimization</category>
    </item>
    <item>
      <title>Who is actually running your AI agents? Managing MCP sprawl.</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Thu, 20 Aug 2026 03:50:54 +0000</pubDate>
      <link>https://dev.to/renato_marinho/who-is-actually-running-your-ai-agents-managing-mcp-sprawl-1n09</link>
      <guid>https://dev.to/renato_marinho/who-is-actually-running-your-ai-agents-managing-mcp-sprawl-1n09</guid>
      <description>&lt;p&gt;We’re moving past the 'cool demo' phase of Model Context Protocol (MCP). It’s easy to spin up a local server, point Claude or Cursor at it, and feel like you've unlocked god mode. But if you're working in an organization—not just on a side project—that convenience quickly turns into a massive visibility gap.&lt;/p&gt;

&lt;p&gt;When you give an agent access to your filesystem, your database, or your internal APIs via MCP, you aren't just adding features; you are expanding your attack surface. Right now, most people are treating agentic integration as a series of disconnected pipes. They build a tool, they wire it up, they move on. There is no central ledger of what an agent can touch, who authorized it, or even which agents are currently active in the environment.&lt;/p&gt;

&lt;p&gt;If you want to scale this without turning your security team into a bottleneck (or worse, ignoring them until something breaks), you need a control plane. Not another driver, but a way to govern the entire ecosystem.&lt;/p&gt;

&lt;p&gt;That is exactly the problem &lt;a href="https://vinkius.com/ai-agent-connect/runlayer" rel="noopener noreferrer"&gt;Runlayer&lt;/a&gt; solves. It isn't just another MCP server; it acts as the orchestrator for all your other MCP servers and agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Shadow AI Problem
&lt;/h3&gt;

&lt;p&gt;The biggest risk I see right now isn't necessarily malicious intent—it's 'Shadow AI.' One dev finds a useful MCP server online or builds a quick utility script to automate part of their workflow using a custom agent. Suddenly, that agent has legitimate access to company data via some improvised connector. Without centralized oversight, IT has zero visibility into these rogue connections.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;run_mcp_sweep_scan&lt;/code&gt; tool addresses this head-on. Instead of manually auditing every config file on every workstation, you can run a sweep to discover unauthorized MCP servers and shadow AI footprints across the organization. It identifies those hidden nodes and policy violations that typically go unnoticed until an exfiltration event happens.&lt;/p&gt;

&lt;h3&gt;
  
  
  Governance vs. Friction
&lt;/h3&gt;

&lt;p&gt;Usually, when people hear 'governance,' they think 'slowdown.' In traditional enterprise architecture, security usually means saying 'no' or forcing devs through six weeks of procurement and IAM reviews. This kills momentum.&lt;/p&gt;

&lt;p&gt;The goal with Runlayer is to provide enough guardrails so that users can stay fast while staying compliant. By using tools like &lt;code&gt;create_policy&lt;/code&gt;, you can define granular rules about which agents can talk to which specific MCP servers. You aren't blocking everything; you are defining structured permissions.&lt;/p&gt;

&lt;p&gt;You can register agents (whether they are Claude Desktop, Cursor, VS Code extensions like Copilot/Windsurf, or bespoke implementations) and map them specifically to certain capabilities or 'Skills.' Once defined in the control plane, managing them becomes an act of orchestration rather than constant firefighting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Operationalizing Agent Management
&lt;/h3&gt;

&lt;p&gt;A common mistake I see when building complex agentic workflows is hardcoding capabilities into the client scripts themselves. That makes updating things impossible once you have more than two employees using them.&lt;/p&gt;

&lt;p&gt;With Runlayer’s approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Skill Lifecycle:&lt;/strong&gt; Use &lt;code&gt;create_skill&lt;/code&gt; and &lt;code&gt;update_skill&lt;/code&gt; to package reusable capabilities. Think of skills as higher-level abstractions over raw MCP tools. This allows you to iterate on logic without rewriting the core implementation every time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Onboarding:&lt;/strong&gt; Tools like &lt;code&gt;create_agent&lt;/code&gt; allow platform engineers to provision authenticated sessions for developers with pre-approved sets of tools already attached.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lifecycle Control:&lt;/strong&gt; If an employee leaves or an API key is leaked, you don't hunt through &lt;code&gt;.json&lt;/code&gt; configs across dozens of machines. You use &lt;code&gt;revoke_api_key&lt;/code&gt;, &lt;code&gt;delete_agent&lt;/code&gt;, or &lt;code&gt;delete_mcp_server&lt;/code&gt; from the central interface to sever ties instantly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Moving from Manual Configs to Natural Language Ops
&lt;/h3&gt;

&lt;p&gt;A lot of people assume that having an enterprise control plane adds layers of complexity and extra dashboards for everyone to learn. The interesting shift here is how we interact with these planes.&lt;/p&gt;

&lt;p&gt;You don't always need to sit in a GUI clicking buttons through nested menus perfectly designed for mice instead of keyboards. Because Runlayer itself exposes its functionality via MCP tools ($list_agents$, $get_audit_logs$, etc.), you can essentially instruct one highly privileged AI agent to manage your entire infra stack for you.&lt;/p&gt;

&lt;p&gt;You might literally tell your IDE assistant: "Check our current registry for any MCP servers that violate our latest security policy" or "List all active agents and find out why none of them have permission to use the Jira tool." This moves us toward a model where the administrative overhead scales sublinearly with the size of the fleet because the management layer understands its own schema.&lt;/p&gt;

&lt;p&gt;The reality is that we are entering an era where 'Infrastructure as Code' will likely evolve into 'Governance as Prompt.' We won't spend hours debugging YAML files; we will spend time refining policies and inspecting audit logs provided by automated sweeps.&lt;/p&gt;

&lt;p&gt;You can check out more about this tier of automation on &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius&lt;/a&gt;.(Note: Check individual listings for technical specifics.)&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Stop letting your AI hit the context wall blindly</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Wed, 19 Aug 2026 06:10:24 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-letting-your-ai-hit-the-context-wall-blindly-105n</link>
      <guid>https://dev.to/renato_marinho/stop-letting-your-ai-hit-the-context-wall-blindly-105n</guid>
      <description>&lt;p&gt;We've all been there. You're mid-flow with Claude or a custom agentic loop, feeding it documentation, massive codebases, and long chat histories. Everything feels snappy until suddenly, it doesn't.&lt;/p&gt;

&lt;p&gt;The model starts hallucinating wildly, losing track of instructions from five messages ago, or simply hitting that hard limit where the entire session becomes unusable. Most people treat the context window like an infinite ocean; in reality, it’s a bucket with holes in it. And right now, we have almost no visibility into how fast those holes are draining our utility.&lt;/p&gt;

&lt;p&gt;If you're building serious anything—automated refactoring loops, complex RAG pipelines, or autonomous coding agents—you cannot fly blind. You need to know exactly how much 'room' is left before the performance degrades.&lt;/p&gt;

&lt;h3&gt;
  
  
  The invisible cost of heavy contexts
&lt;/h3&gt;

&lt;p&gt;When an LLM approaches its context limit, several things break. First, attention mechanism efficiency drops. Second, the latency often spikes as the KV cache grows. Third, and most frustratingly for engineers, once you hit that ceiling, you lose everything unless you can surgically prune the history.&lt;/p&gt;

&lt;p&gt;Most developers handle this by manually starting new chats or deleting blocks of text. It’s reactive, messy, and completely unscalable for any automated system.&lt;/p&gt;

&lt;p&gt;I wanted a way to make this telemetry part of the agent's own toolkit. Not just a dashboard for me to watch while I sip coffee, but a set of tools for the &lt;em&gt;agent&lt;/em&gt; to manage its own cognitive load.&lt;/p&gt;

&lt;p&gt;That led us to build the &lt;a href="https://vinkius.com/ai-agent-connect/claude-context-window-budget-tracker" rel="noopener noreferrer"&gt;Claude Context Window Budget Tracker&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deterministic Estimation vs. Guesswork
&lt;/h3&gt;

&lt;p&gt;A common mistake when trying to manage tokens is relying on loose approximations. Different models tokenize differently. To solve this reliably without calling an expensive external API every few seconds, this MCP server uses a deterministic character-counting methodology:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code&lt;/strong&gt; is estimated at ~3.5 characters per token.(Since code is dense and repetitive.))
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prose&lt;/strong&gt; is estimated at ~4 characters per token.&amp;lt;br&amp;gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By distinguishing between these two types of input via &lt;code&gt;track_consumption&lt;/code&gt;, we get close enough to reality to make actionable decisions without adding significant overhead to the round trip.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving from Monitoring to Enforcement
&lt;/h3&gt;

&lt;p&gt;The core difference between a "useful tool" and "production-grade infrastructure" lies in what happens when things go wrong. Pure monitoring tells you that you're dying; enforcement helps you live.&lt;/p&gt;

&lt;p&gt;The tracker isn't just a counter; it operates through three distinct primitives:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;track_consumption&lt;/code&gt;&lt;/strong&gt;: As soon as an agent reads a file or receives a response, it records the character count to update its internal state.&amp;lt;br&amp;gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;get_budget_configuration&lt;/code&gt;&lt;/strong&gt;: This allows the agent to check its constraints—what are the warning thresholds? What is the absolute cap?&amp;lt;br&amp;gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;apply_pruning_recommendation&lt;/code&gt;&lt;/strong&gt;: This is where it gets interesting. Instead of just saying "You are out of space," the tool validates whether specific pruning strategies (like dropping old message turns or summarizing previous files) are actually mathematically viable given the current state.&amp;lt;br&amp;gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can even configure strict limits so that when reaching a critical threshold (say 90%), the tool returns a &lt;code&gt;mandatory_action&lt;/code&gt;. This forces the agent into a corrective workflow—it literally won't proceed with standard operations until it has freed up enough tokens through pruning.\ &amp;lt;br&amp;gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Real Scenario: The Autonomous Debugger\r
&lt;/h3&gt;

&lt;p&gt;You have an agent tasked with fixing a bug across four different microservices. It pulls Repo A (50k tokens), Repo B (30k tokens), and starts logging huge stack traces into its history. Without budgeting, it will crash halfway through debugging Repo C.\r&lt;br&gt;
\r&lt;br&gt;
With this MCP implementation deployed via Vinkius,\r&lt;br&gt;
the agent periodically checks its budget status after every large file read:\r\ ""&lt;br&gt;\r"I just read a large file. How much of my context budget is left?"&amp;lt;br&amp;gt;\r"&amp;lt;br&amp;gt;\r"You have used 45,000 tokens... current status is WARNING."&amp;lt;br&amp;gt;\r"&amp;lt;br&amp;gt;\r.Instead of continuing blindly toward failure,\r&lt;br&gt;
the agent realizes it needs to summarize Repo A instead of keeping its full raw contents in memory via &lt;code&gt;apply_pruning_recommendation&lt;/code&gt;. It stays within its functional zone longer and performs better overall.&amp;lt;br&amp;gt;\r|\&lt;br&gt;
\r&lt;br&gt;
another example is checking feasibility before acting:\r"&amp;lt;br&amp;gt;\r"Check if clearing the conversation will help my current budget status."&amp;lt;br&amp;gt;\r"&amp;lt;br&amp;gt;\r"Yes... freeing approximately 25,000 tokens."&amp;lt;br&amp;gt;\r"&amp;lt;br&amp;gt;It transforms decision-making from guesswork into resource management.\r&lt;br&gt;
ailgebraically speaking alone.";"tags":["mcp&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claude</category>
      <category>aiagents</category>
      <category>optimization</category>
    </item>
    <item>
      <title>Stop manually exporting Looker data for your LLMs</title>
      <dc:creator>Renato Marinho</dc:creator>
      <pubDate>Wed, 19 Aug 2026 00:45:18 +0000</pubDate>
      <link>https://dev.to/renato_marinho/stop-manually-exporting-looker-data-for-your-llms-186h</link>
      <guid>https://dev.to/renato_marinho/stop-manually-exporting-looker-data-for-your-llms-186h</guid>
      <description>&lt;p&gt;I've seen too many engineers spend their Tuesday afternoons doing exactly what they shouldn't: downloading CSVs from Looker, cleaning them in Python scripts, and feeding those messy files into a Chat interface just to ask a single question about quarterly trends.&lt;/p&gt;

&lt;p&gt;It’s a waste of cognitive load. We have agents now that can reason perfectly; we just haven't given them the right hands to touch our data repositories effectively.&lt;/p&gt;

&lt;p&gt;There is a growing trend of people trying to build custom MCP servers locally—using stuff like &lt;code&gt;rmcp&lt;/code&gt; or homegrown Node implementations—just to bridge the gap between Claude Code and their internal BI tools. It works if you have three hours to spare and zero production requirements. But once you need to handle OAuth, ensure that your agent isn't performing accidental SSRF attacks against your corporate network, or manage complex permission hierarchies, the DIY approach starts looking very fragile.&lt;/p&gt;

&lt;p&gt;That is why I focused on bridging the professional BI layer with the Model Context Protocol (MCP).&lt;/p&gt;

&lt;p&gt;The challenge with Looker isn't just 'getting the data.' It’s understanding the semantic layer. If an agent doesn't understand your LookML models, it’s just guessing column names based on raw table schemas. That leads to hallucinations that look incredibly convincing until you check the actual numbers.&lt;/p&gt;

&lt;p&gt;A production-grade &lt;a href="https://vinkius.com/ai-agent-connect/looker-business-intelligence-data" rel="noopener noreferrer"&gt;Looker MCP&lt;/a&gt; changes this by exposing the specific tools needed to interact with the Looker ecosystem as discrete functions an agent can call.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moving beyond simple CRUD
&lt;/h3&gt;

&lt;p&gt;When you hook an agent up via this integration, you aren't just giving it 'read access.' You are giving it a toolkit designed for investigative workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Dynamic Data Queries (&lt;code&gt;run_inline_query&lt;/code&gt;)&lt;/strong&gt;: Instead of asking for a whole dataset, an agent can request specific dimensions and measures from a particular model and view. It pulls only what is necessary (up to 100 rows), keeping context windows clean.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Dashboard Orchestration (&lt;code&gt;get_dashboard&lt;/code&gt; &amp;amp; &lt;code&gt;list_dashboards&lt;/code&gt;)&lt;/strong&gt;: An agent can traverse your entire dashboard library. It doesn't just see titles; it sees the query structures and filter configurations that define those dashboards.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Content Discovery (&lt;code&gt;search_content&lt;/code&gt; &amp;amp; &lt;code&gt;list_folders&lt;/code&gt;)&lt;/strong&gt;: This solves the 'where is that report?' problem. You can ask, "Find all dashboards related to Marketing ROI," and the agent uses metadata searching to pinpoint exact UUIDs instead of blind guessing.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Audit Capabilities (&lt;code&gt;get_look&lt;/code&gt; &amp;amp; &lt;code&gt;list_looks&lt;/code&gt;)&lt;/strong&gt;: Understanding historical reporting through 'Looks' becomes conversational. You can trace back how specific datasets were previously mapped and filtered.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The nuance most people miss
&lt;/h3&gt;

&lt;p&gt;A common mistake when building AI + Data integrations is assuming the Agent needs raw SQL access. In an enterprise environment like Looker, giving an LLM direct SQL access is usually a massive security risk and bypasses all the hard work your data engineers put into defining metrics within LookML.&lt;/p&gt;

&lt;p&gt;You want the agent to respect the semantic layer. By utilizing &lt;code&gt;run_inline_query&lt;/code&gt;, the agent operates within the boundaries defined by your existing models. It asks for &lt;code&gt;'orders.total_amount'&lt;/code&gt;, not &lt;code&gt;SELECT sum(price)...&lt;/code&gt;. This ensures that whatever business logic is baked into Looker remains the single source of truth.&lt;/p&gt;

&lt;p&gt;The implementation I pushed through Vinkius handles this complexity under heavy isolation layers (V8 sandboxes) so you aren't accidentally creating new attack vectors while trying to automate analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical Workflows
&lt;/h3&gt;

&lt;p&gt;You might think this is just for analysts, but anyone sitting in front of a terminal can leverage this differently:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Platform Engineers:&lt;/strong&gt;&lt;br&gt;
You can audit folder hierarchies or resource inventory across tenants without clicking through nested UI menus. Need to know which users have access to certain logical groups? Ask it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Data Analysts:&lt;/strong&gt;&lt;br&gt;
You move from "exporting reports" to "validating hypotheses." You tell your IDE (like Cursor) or Claude Code: "Check if there was a spike in orders yesterday compared to last week using the sales model," and it executes precisely because it understands dimensions versus measures.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace the analyst; it's to remove the latency between having a question and seeing the data change color in a visualization.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;MCPs are the music of AI Agents. We built the catalog. Discover &lt;a href="https://vinkius.com" rel="noopener noreferrer"&gt;Vinkius MCP Catalog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>looker</category>
      <category>data</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
