<?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: Praveen Raj Thulasi S</title>
    <description>The latest articles on DEV Community by Praveen Raj Thulasi S (@praveen007).</description>
    <link>https://dev.to/praveen007</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%2F4156816%2Fcff7ec1e-f62f-4ae0-80e6-1eb7535e46ed.png</url>
      <title>DEV Community: Praveen Raj Thulasi S</title>
      <link>https://dev.to/praveen007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/praveen007"/>
    <language>en</language>
    <item>
      <title>I Built an Agentic Analytics Platform — Here's What I Learned</title>
      <dc:creator>Praveen Raj Thulasi S</dc:creator>
      <pubDate>Fri, 02 Oct 2026 09:34:56 +0000</pubDate>
      <link>https://dev.to/praveen007/i-built-an-agentic-analytics-platform-heres-what-i-learned-2f7j</link>
      <guid>https://dev.to/praveen007/i-built-an-agentic-analytics-platform-heres-what-i-learned-2f7j</guid>
      <description>&lt;h1&gt;
  
  
  I Built an Agentic Analytics Platform — Here's What I Learned
&lt;/h1&gt;

&lt;p&gt;What if you could ask your analytics dashboard:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Why did sales decrease last month?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and instead of manually filtering charts and writing database queries, an AI system could investigate the data, generate a query, validate it, analyze the results, and explain what it found?&lt;/p&gt;

&lt;p&gt;That's what I wanted to explore with &lt;strong&gt;AgentVerse&lt;/strong&gt;, an agentic analytics platform I built using &lt;strong&gt;React, Node.js, MongoDB, Ollama, and MCP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This project started as an experiment with multi-agent AI. Along the way, I learned that building an agentic application is much less about simply connecting an LLM to a database—and much more about controlling, validating, and observing what the AI does.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What is AgentVerse?
&lt;/h2&gt;

&lt;p&gt;AgentVerse is a natural-language analytics platform.&lt;/p&gt;

&lt;p&gt;Instead of manually writing MongoDB queries, users can ask questions such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show monthly sales for the last 12 months.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show the top 5 products by revenue.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Why did sales decrease last month?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The platform translates these questions into an analytics workflow.&lt;/p&gt;

&lt;p&gt;At a high level:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flg0r7jqdyn7svrapx68t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flg0r7jqdyn7svrapx68t.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
Orchestrator Agent
  ↓
Query Generation
  ↓
Query Guardian
  ↓
MCP Server
  ↓
MongoDB
  ↓
Evidence Analysis
  ↓
Insight Agent
  ↓
Visualization
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal isn't just to generate an answer.&lt;/p&gt;

&lt;p&gt;The goal is to make the &lt;strong&gt;entire analytical process controllable and observable&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧠 Why Multi-Agent?
&lt;/h1&gt;

&lt;p&gt;One approach would be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → LLM → Database → Answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But that gives one model too many responsibilities.&lt;/p&gt;

&lt;p&gt;It has to understand the question, understand the schema, generate a query, execute it, analyze the result, and produce a visualization.&lt;/p&gt;

&lt;p&gt;Instead, I separated the workflow into specialized components.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    User
                      │
                      ▼
               Orchestrator
                      │
          ┌───────────┼───────────┐
          ▼           ▼           ▼
       Intent       Schema     Session
       Planning    Discovery    State
          │
          ▼
    Query Generation
          │
          ▼
    Query Guardian
          │
          ▼
       MCP Server
          │
          ▼
       MongoDB
          │
          ▼
    Evidence Engine
          │
          ▼
     Insight Agent
          │
          ▼
    Visualization
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each component has a specific responsibility.&lt;/p&gt;

&lt;p&gt;This makes the system easier to debug and gives me more control over what each part of the AI workflow is allowed to do.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔌 MCP as the Data Boundary
&lt;/h1&gt;

&lt;p&gt;One of the most interesting parts of the project was using &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; as a boundary between the AI agents and the database.&lt;/p&gt;

&lt;p&gt;Instead of allowing the agent to directly access MongoDB:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent
  ↓
MongoDB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the architecture becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent
  ↓
MCP Server
  ↓
MongoDB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The MCP layer exposes controlled tools such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;get_schema
execute_query
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means the AI can request the tools it needs without having unrestricted access to the underlying database.&lt;/p&gt;

&lt;p&gt;For me, MCP became more than just a way to connect an LLM to tools.&lt;/p&gt;

&lt;p&gt;It became an architectural boundary between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI reasoning&lt;/strong&gt; → &lt;strong&gt;Data access&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🛡️ The Problem I Didn't Expect: AI-Generated Queries
&lt;/h1&gt;

&lt;p&gt;Getting an LLM to generate a MongoDB aggregation pipeline isn't particularly difficult.&lt;/p&gt;

&lt;p&gt;The difficult part is deciding:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Should I trust the generated query?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer is no.&lt;/p&gt;

&lt;p&gt;LLMs can generate invalid queries, use incorrect fields, or potentially generate operations that shouldn't be allowed in an analytics application.&lt;/p&gt;

&lt;p&gt;That's why I built a &lt;strong&gt;Query Guardian&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The flow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM generates query
        ↓
   Query Guardian
        ↓
     Validation
        ↓
   ┌────┴────┐
   │         │
 Valid     Invalid
   │         │
   ▼         ▼
Execute    Repair
             │
             ▼
        Validate Again
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Guardian checks things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allowed aggregation stages&lt;/li&gt;
&lt;li&gt;Allowed operators&lt;/li&gt;
&lt;li&gt;Collection names&lt;/li&gt;
&lt;li&gt;Field names&lt;/li&gt;
&lt;li&gt;Pipeline length&lt;/li&gt;
&lt;li&gt;Result limits&lt;/li&gt;
&lt;li&gt;Forbidden operations&lt;/li&gt;
&lt;li&gt;Query structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The analytics system is designed around read-only operations rather than allowing the AI to modify the database.&lt;/p&gt;

&lt;p&gt;This was one of the biggest lessons from the project:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;LLM output should be treated as untrusted input, not executable truth.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  📊 A Real Example
&lt;/h1&gt;

&lt;p&gt;Let's say a user asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Why did sales decrease last month?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The system doesn't simply send that sentence to an LLM and return whatever it says.&lt;/p&gt;

&lt;p&gt;Instead, the request goes through several stages.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Understand the request
&lt;/h3&gt;

&lt;p&gt;The Orchestrator identifies the request as a root-cause analysis task.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Discover the schema
&lt;/h3&gt;

&lt;p&gt;The system retrieves the available database structure through MCP.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Generate a query
&lt;/h3&gt;

&lt;p&gt;The Analytics Query Agent creates a MongoDB aggregation pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Validate it
&lt;/h3&gt;

&lt;p&gt;Query Guardian checks the generated pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Execute it
&lt;/h3&gt;

&lt;p&gt;The validated query is sent through the MCP server to MongoDB.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Analyze the evidence
&lt;/h3&gt;

&lt;p&gt;The Evidence Engine calculates measurable changes in the returned data.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Overall Revenue:    -18.2%

South Region:       -31.4%
Electronics:        -24.7%
Product A:          -28.1%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. Generate the insight
&lt;/h3&gt;

&lt;p&gt;The Insight Agent receives the structured evidence and creates the explanation.&lt;/p&gt;

&lt;p&gt;Rather than blindly claiming:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The South region caused the decline."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the system can use more careful language such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The South region recorded the largest observed regional decline and may represent a contributing factor."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This distinction matters.&lt;/p&gt;

&lt;p&gt;A correlation in the data isn't automatically proof of causation.&lt;/p&gt;




&lt;h1&gt;
  
  
  📈 Dynamic Visualizations
&lt;/h1&gt;

&lt;p&gt;The result isn't just text.&lt;/p&gt;

&lt;p&gt;AgentVerse can determine an appropriate visualization based on the analytical result.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Trend over time
       ↓
   Line Chart

Category comparison
       ↓
    Bar Chart

Distribution
       ↓
    Pie Chart

Single metric
       ↓
    KPI Card
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The React frontend uses &lt;strong&gt;Recharts&lt;/strong&gt; to render these visualizations.&lt;/p&gt;

&lt;p&gt;The workflow becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Question
   ↓
Intent
   ↓
Query
   ↓
Data
   ↓
Evidence
   ↓
Insight
   ↓
Visualization
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  🔍 Making the AI Workflow Observable
&lt;/h1&gt;

&lt;p&gt;One thing I didn't want was a black box that simply says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Here's your answer."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AgentVerse includes an execution trace showing the different stages of the workflow.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Orchestrator Agent
  Intent Classification

✓ MCP Schema Discovery
  Database Schema

✓ Analytics Query Agent
  MQL Generation

✓ Query Guardian
  Security Validation

✓ MCP Execution
  MongoDB Query

✓ Insight Agent
  Evidence Synthesis

✓ Visualization
  Chart Selection
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes the system easier to understand and debug.&lt;/p&gt;

&lt;p&gt;If something goes wrong, I can investigate the intermediate steps instead of only looking at the final response.&lt;/p&gt;




&lt;h1&gt;
  
  
  📝 Audit Logging
&lt;/h1&gt;

&lt;p&gt;Agentic applications can be difficult to debug because there are multiple intermediate operations.&lt;/p&gt;

&lt;p&gt;So I also added an audit layer that can track information such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Request ID
User Question
Generated Pipeline
Validation Status
Rows Returned
Execution Time
Timestamp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives me a history of what the system actually did.&lt;/p&gt;

&lt;p&gt;For example, if an insight looks incorrect, I can trace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Question
      ↓
Generated Query
      ↓
Guardian Validation
      ↓
Database Result
      ↓
Evidence
      ↓
Final Insight
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is much more useful than debugging only the final LLM response.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧰 Tech Stack
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Recharts&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Backend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;Mongoose&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI / Agent Layer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;LLM-based agents&lt;/li&gt;
&lt;li&gt;MCP&lt;/li&gt;
&lt;li&gt;Multi-agent orchestration&lt;/li&gt;
&lt;li&gt;Structured JSON responses&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  💡 What I Learned
&lt;/h1&gt;

&lt;h3&gt;
  
  
  1. LLMs should not be trusted blindly
&lt;/h3&gt;

&lt;p&gt;The model can generate something that looks valid but isn't.&lt;/p&gt;

&lt;p&gt;Validation needs to happen outside the model.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Not everything needs AI
&lt;/h3&gt;

&lt;p&gt;Things like query limits, security checks, percentage calculations, and schema validation are better handled deterministically.&lt;/p&gt;

&lt;p&gt;Use AI where reasoning is useful.&lt;/p&gt;

&lt;p&gt;Use traditional code where deterministic correctness matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. More agents don't automatically mean a better system
&lt;/h3&gt;

&lt;p&gt;Adding agents increases complexity.&lt;/p&gt;

&lt;p&gt;The reason for separating components should be clear responsibilities—not simply having "more AI."&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Observability matters
&lt;/h3&gt;

&lt;p&gt;With a traditional API, debugging can be relatively straightforward.&lt;/p&gt;

&lt;p&gt;With an agentic system, there may be several intermediate decisions.&lt;/p&gt;

&lt;p&gt;Execution traces and audit logs become extremely valuable.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. AI should not become a single point of failure
&lt;/h3&gt;

&lt;p&gt;If the LLM is unavailable, the application shouldn't necessarily become completely unusable.&lt;/p&gt;

&lt;p&gt;Fallback strategies and deterministic logic can make the system more resilient.&lt;/p&gt;




&lt;h1&gt;
  
  
  🚧 What's Next?
&lt;/h1&gt;

&lt;p&gt;AgentVerse is still evolving.&lt;/p&gt;

&lt;p&gt;Some areas I want to explore next are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More MCP tools&lt;/li&gt;
&lt;li&gt;Multiple data sources&lt;/li&gt;
&lt;li&gt;Better agent evaluation&lt;/li&gt;
&lt;li&gt;Streaming agent responses&lt;/li&gt;
&lt;li&gt;Improved query validation&lt;/li&gt;
&lt;li&gt;More advanced anomaly detection&lt;/li&gt;
&lt;li&gt;Long-term agent memory&lt;/li&gt;
&lt;li&gt;Cloud deployment&lt;/li&gt;
&lt;li&gt;Production-grade observability&lt;/li&gt;
&lt;li&gt;Automated evaluation of analytical accuracy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest question I want to explore is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How do we reliably evaluate an agentic analytics system?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A fluent AI response isn't necessarily a correct one.&lt;/p&gt;

&lt;p&gt;That's where I think a lot of interesting engineering work remains.&lt;/p&gt;




&lt;h1&gt;
  
  
  🎯 Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Building AgentVerse changed how I think about AI applications.&lt;/p&gt;

&lt;p&gt;Earlier, my main question was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Which LLM should I use?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I think more about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What should the LLM be allowed to do?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That shift completely changed how I approached the architecture.&lt;/p&gt;

&lt;p&gt;The LLM is only one component.&lt;/p&gt;

&lt;p&gt;The interesting engineering happens around it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM
 ↓
Tools
 ↓
Validation
 ↓
Security
 ↓
Evidence
 ↓
Observability
 ↓
Reliable Application
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's what I've learned while building AgentVerse.&lt;/p&gt;

&lt;p&gt;And I'm still learning.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's your experience with Agentic AI?
&lt;/h2&gt;

&lt;p&gt;If you're building an agentic application, what has been the hardest part for you?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Orchestration? Tool calling? Security? Reliability? Evaluation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear your experience.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ Built With
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;React&lt;/code&gt; &lt;code&gt;TypeScript&lt;/code&gt; &lt;code&gt;Node.js&lt;/code&gt; &lt;code&gt;Express&lt;/code&gt; &lt;code&gt;MongoDB&lt;/code&gt; &lt;code&gt;Ollama&lt;/code&gt; &lt;code&gt;MCP&lt;/code&gt; &lt;code&gt;Multi-Agent AI&lt;/code&gt; &lt;code&gt;Tailwind CSS&lt;/code&gt; &lt;code&gt;Recharts&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #AgenticAI #MCP #LLM #MongoDB #React #NodeJS #TypeScript #WebDevelopment
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>agents</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
