Skip to main content
Glama
MadMando
by MadMando

Autonomous Analyst

๐Ÿง  Overview

Autonomous Analyst is a local, agentic AI pipeline that:

  • Analyzes tabular data

  • Detects anomalies with Mahalanobis distance

  • Uses a local LLM (llama3.2:1b via Ollama) to generate interpretive summaries

  • Logs results to ChromaDB for semantic recall

  • Is fully orchestrated via the Model Context Protocol (MCP)


โš™๏ธ Features

Component

Description

FastAPI Web UI

Friendly dashboard for synthetic or uploaded datasets

MCP Tool Orchestration

Each process step is exposed as a callable MCP tool

Anomaly Detection

Mahalanobis Distance-based outlier detection

Visual Output

Saved scatter plot of inliers vs. outliers

Local LLM Summarization

Insights generated using llama3.2:1b via Ollama

Vector Store Logging

Summaries are stored in ChromaDB for persistent memory

Agentic Planning Tool

A dedicated LLM tool (autonomous_plan) determines next steps based on dataset context

Agentic Flow

LLM + memory + tool use + automatic reasoning + context awareness


๐Ÿงช Tools Defined (via MCP)

Tool Name

Description

LLM Used

generate_data

Create synthetic tabular data (Gaussian + categorical)

โŒ

analyze_outliers

Label rows using Mahalanobis distance

โŒ

plot_results

Save a plot visualizing inliers vs outliers

โŒ

summarize_results

Interpret and explain outlier distribution using llama3.2:1b

โœ…

summarize_data_stats

Describe dataset trends using llama3.2:1b

โœ…

log_results_to_vector_store

Store summaries to ChromaDB for future reference

โŒ

search_logs

Retrieve relevant past sessions using vector search (optional LLM use)

โš ๏ธ

autonomous_plan

Run the full pipeline, use LLM to recommend next actions automatically

โœ…


๐Ÿค– Agentic Capabilities

  • Autonomy: LLM-guided execution path selection with autonomous_plan

  • Tool Use: Dynamically invokes registered MCP tools via LLM inference

  • Reasoning: Generates technical insights from dataset conditions and outlier analysis

  • Memory: Persists and recalls knowledge using ChromaDB vector search

  • LLM: Powered by Ollama with llama3.2:1b (temperature = 0.1, deterministic)


Related MCP server: coremcp

๐Ÿš€ Getting Started

1. Clone and Set Up

git clone https://github.com/MadMando/mcp-autonomous-analyst.git
cd mcp-autonomous-analyst
conda create -n mcp-agentic python=3.11 -y
conda activate mcp-agentic
pip install uv
uv pip install -r requirements.txt

2. Start the MCP Server

mcp run server.py --transport streamable-http

3. Start the Web Dashboard

uvicorn web:app --reload --port 8001

Then visit: http://localhost:8000


๐ŸŒ Dashboard Flow

  • Step 1: Upload your own dataset or click Generate Synthetic Data

  • Step 2: The system runs anomaly detection on feature_1 vs feature_2

  • Step 3: Visual plot of outliers is generated

  • Step 4: Summaries are created via LLM

  • Step 5: Results are optionally logged to vector store for recall


๐Ÿ“ Project Layout

๐Ÿ“ฆ autonomous-analyst/
โ”œโ”€โ”€ server.py                  # MCP server
โ”œโ”€โ”€ web.py                     # FastAPI + MCP client (frontend logic)
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ synthetic_data.py
โ”‚   โ”œโ”€โ”€ outlier_detection.py
โ”‚   โ”œโ”€โ”€ plotter.py
โ”‚   โ”œโ”€โ”€ summarizer.py
โ”‚   โ”œโ”€โ”€ vector_store.py
โ”œโ”€โ”€ static/                   # Saved plot
โ”œโ”€โ”€ data/                     # Uploaded or generated dataset
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

๐Ÿ“š Tech Stack

  • MCP SDK: mcp

  • LLM Inference: Ollama running llama3.2:1b

  • UI Server: FastAPI + Uvicorn

  • Memory: ChromaDB vector database

  • Data: pandas, matplotlib, scikit-learn


โœ… .gitignore Additions

__pycache__/
*.pyc
*.pkl
.env
static/
data/

๐Ÿ™Œ Acknowledgements

This project wouldn't be possible without the incredible work of the open-source community. Special thanks to:

Tool / Library

Purpose

Repository

๐Ÿง  Model Context Protocol (MCP)

Agentic tool orchestration & execution

modelcontextprotocol/python-sdk

๐Ÿ’ฌ Ollama

Local LLM inference engine (llama3.2:1b)

ollama/ollama

๐Ÿ” ChromaDB

Vector database for logging and retrieval

chroma-core/chroma

๐ŸŒ FastAPI

Interactive, fast web interface

tiangolo/fastapi

โšก Uvicorn

ASGI server powering the FastAPI backend

encode/uvicorn

๐Ÿ’ก If you use this project, please consider starring or contributing to the upstream tools that make it possible.

This repo was created with the assistance of a local rag-llm using llama3.2:1b

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Connect Legacy Databases to AI Agents via Model Context Protocol. Open-source bridge for LLM data analysis.
    9
    11
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that exposes GPU-accelerated anomaly detection to AI assistants via the Model Context Protocol. Provides two MCP tools: waveguard_scan (send training + test data in one call, returns per-sample anomaly scores and top explanatory features) and waveguard_health (check API and GPU status). Works on time series, JSON, numbers, text, and images โ€” fully stateless.
    3
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A unified context layer that connects your local data โ€” repositories, documents, remote machines, and notes โ€” to LLM interfaces through the Model Context Protocol (MCP).
    3
    MIT