MCP-Data-Analysis-Server

MCP-Data-Analysis-Server

Provides comprehensive data analysis utilities including statistical functions, probability distributions, and data processing tools through natural language.

Category
Visit Server

README

FastMCP Data Analysis Server

A Model Context Protocol (MCP) server that provides comprehensive data analysis utilities including statistical functions, probability distributions, and data processing tools.

Features

Probability Distributions

  • Poisson Probability: Calculate point, cumulative, and survival probabilities
  • Normal Distribution: PDF, CDF, and survival function calculations
  • Binomial Probability: Complete binomial distribution analysis

Statistical Analysis

  • Descriptive Statistics: Mean, median, mode, variance, skewness, kurtosis, quartiles
  • Correlation Analysis: Pearson and Spearman correlation with significance testing
  • Hypothesis Testing: One-sample t-tests with detailed results
  • Linear Regression: Simple linear regression with R², MSE, and equation

Data Processing

  • CSV Analysis: Process CSV text data and generate comprehensive summaries
  • Data Summarization: Automatic detection of numeric/categorical columns

Installation

  1. Initialize the project with uv:
uv init fastmcp-data-analysis-server
cd fastmcp-data-analysis-server
  1. Install dependencies:
uv add fastmcp numpy scipy pandas

Or install from the pyproject.toml:

uv sync
  1. Install development dependencies (optional):
uv add --dev pytest pytest-asyncio black isort mypy

Usage

Running the Server

# Using uv
uv run python main.py

# Or if installed
python main.py

Available Tools

1. Poisson Probability

# Point probability: P(X = k)
poisson_probability(lam=3.5, k=2, prob_type="point")

# Cumulative probability: P(X ≤ k)  
poisson_probability(lam=3.5, k=5, prob_type="cumulative")

# Survival probability: P(X > k)
poisson_probability(lam=3.5, k=4, prob_type="survival")

2. Descriptive Statistics

descriptive_statistics([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

3. Normal Distribution

# Standard normal
normal_probability(x=1.96, mean=0, std_dev=1, prob_type="cumulative")

# Custom normal distribution
normal_probability(x=85, mean=100, std_dev=15, prob_type="point")

4. Correlation Analysis

correlation_analysis(
    x_data=[1, 2, 3, 4, 5], 
    y_data=[2, 4, 6, 8, 10]
)

5. Hypothesis Testing

hypothesis_test_ttest(
    sample_data=[12, 15, 18, 16, 17], 
    population_mean=14, 
    alpha=0.05
)

6. Linear Regression

linear_regression_analysis(
    x_data=[1, 2, 3, 4, 5],
    y_data=[2, 4, 5, 4, 5]
)

7. Binomial Probability

# Probability of exactly 3 successes in 10 trials
binomial_probability(n=10, k=3, p=0.4, prob_type="point")

8. CSV Data Analysis

csv_text = """name,age,score
Alice,25,85
Bob,30,92
Charlie,22,78"""

data_summary_from_csv_text(csv_text)

Example Responses

Poisson Probability Response

{
    "probability": 0.2138,
    "description": "P(X = 2)",
    "lambda": 3.5,
    "k": 2,
    "prob_type": "point",
    "mean": 3.5,
    "variance": 3.5,
    "std_dev": 1.8708
}

Descriptive Statistics Response

{
    "count": 10,
    "mean": 5.5,
    "median": 5.5,
    "std_dev": 3.0277,
    "variance": 9.1667,
    "min": 1.0,
    "max": 10.0,
    "skewness": 0.0,
    "kurtosis": -1.2
}

Development

Code Formatting

uv run black main.py
uv run isort main.py

Type Checking

uv run mypy main.py

Testing

uv run pytest

MCP Client Integration

This server can be used with any MCP client. The tools are automatically exposed and can be called with the appropriate parameters.

Example MCP Client Usage

# Assuming you have an MCP client connected
client.call_tool("poisson_probability", {
    "lam": 2.5,
    "k": 3,
    "prob_type": "cumulative"
})

Example MCP Server Config

{
  "mcpServers": {
    "analysis-mcp": {
      "command": "fastmcp-data-analysis-server/.venv/bin/python",
      "args": [
        "fastmcp-data-analysis-server/main.py"
      ],
    }
  }
}

Error Handling

All functions include comprehensive error handling for:

  • Invalid parameter values
  • Empty datasets
  • Mismatched data lengths
  • Invalid probability types
  • Mathematical domain errors

License

MIT License

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured