Claude Data Buddy
Enables conversational analysis of CSV and Parquet files through natural language, providing statistics, summaries, data type information, and comprehensive multi-step data analysis.
README
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
- Clone the repository:
git clone <repository-url>
cd claude-data-buddy
- 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:
- Use the provided launcher script:
./run_mcp_server.sh
- 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 summaryhead: First few rowscolumns: Column informationinfo: Dataset informationshape: Dimensionsnulls: 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
- Built with FastMCP
- Uses Model Context Protocol
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
E2B
Using MCP to run code via e2b.