Skip to main content
Glama

Claude Data Buddy

Your friendly data analysis assistant powered by Claude!

A Model Context Protocol (MCP) server for analyzing CSV and Parquet files with natural language interface support. Claude Data Buddy makes data analysis conversational and accessible through Claude Desktop integration - just ask questions about your data!

Features

  • CSV Analysis: Summarize, describe, and analyze CSV files

  • Parquet Support: Full support for Parquet file format

  • Comprehensive Analysis: Multi-step analysis including statistics, data types, null counts, and sample data

  • Natural Language Interface: Works seamlessly with Claude Desktop for conversational data analysis

  • MCP Client: Full-featured asynchronous client with demo and interactive modes

  • Error Handling: Robust error handling and validation

Related MCP server: mcp-data-lens

Requirements

  • Python 3.8+

  • CUDA-compatible GPU (optional, for certain operations)

Installation

  1. Clone the repository:

git clone <repository-url>
cd claude-data-buddy
  1. Install dependencies:

pip install -r requirements.txt

Usage

Running the MCP Server

The server can be run directly or integrated with Claude Desktop.

Direct Execution:

python main.py

Claude Desktop Integration:

  1. Use the provided launcher script:

./run_mcp_server.sh
  1. Configure Claude Desktop by adding to your claude_desktop_config.json:

{
  "mcpServers": {
    "claude-data-buddy": {
      "command": "python",
      "args": ["/path/to/claude-data-buddy/main.py"]
    }
  }
}

Using the MCP Client

Demo Mode:

from client import MCPFileAnalyzerClient

async def main():
    client = MCPFileAnalyzerClient()
    await client.connect()
    await client.demo_mode()
    await client.disconnect()

asyncio.run(main())

Interactive Mode:

from client import MCPFileAnalyzerClient

async def main():
    client = MCPFileAnalyzerClient()
    await client.connect()
    await client.interactive_mode()
    await client.disconnect()

asyncio.run(main())

Project Structure

claude-data-buddy/
├── main.py                      # MCP server implementation
├── client.py                    # MCP client with demo/interactive modes
├── requirements.txt             # Python dependencies
├── run_mcp_server.sh            # Server launcher script
├── claude_desktop_config.json   # Claude Desktop configuration example
├── data_files/                  # Sample data files
│   ├── sample.csv
│   ├── sample.parquet
│   └── ...
└── README.md                    # This file

Available Tools

list_data_files

Lists all available CSV and Parquet files in the data directory.

summarize_csv

Provides a comprehensive summary of a CSV file including:

  • Row and column counts

  • Column names and data types

  • Sample data (head)

  • Basic statistics

summarize_parquet

Similar to summarize_csv but for Parquet files.

analyze_csv

Performs various analysis operations:

  • describe: Statistical summary

  • head: First few rows

  • columns: Column information

  • info: Dataset information

  • shape: Dimensions

  • nulls: Null value counts

comprehensive_analysis

Performs a complete multi-step analysis including:

  • Summary statistics

  • Data types

  • Null value analysis

  • Sample data

  • Memory usage

MCP Integration

This server implements the Model Context Protocol, allowing it to work with:

  • Claude Desktop

  • Custom MCP clients

  • Any MCP-compatible application

Example Usage

Via Claude Desktop:

User: "Summarize sample.csv as a CSV file"
Claude: [Calls summarize_csv tool and returns results]

Via Python Client:

result = await client.call_tool("summarize_csv", {"file_name": "sample.csv"})
print(result)

Acknowledgments

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Enables conversational data analysis of Excel/CSV files through natural language queries, powered by 395 Excel functions via HyperFormula and multi-provider AI. Supports advanced analytics, bulk operations, financial modeling, and large file processing with intelligent chunking.
    35
    30 npm
    36
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to ask questions about their spreadsheets in plain English and receive instant answers using DuckDB-powered analytics, supporting multiple file formats like Excel, CSV, and Parquet.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with local CSV and Parquet data files through natural language queries, facilitating tasks like summarizing datasets or retrieving specific information.
    5
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables data analysis on CSV/Excel files using pandas. Supports profiling, column interpretation, sandboxed code execution, and interactive chart generation.
    4
    1
    MIT