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

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