Skip to main content
Glama

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: MCP Prompt Enhancer

๐Ÿš€ 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadMando/mcp-autonomous-analyst'

If you have feedback or need assistance with the MCP directory API, please join our Discord server