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

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

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/iramk11/claude-data-buddy'

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