Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude Data Buddysummarize the sales data CSV file"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-buddyInstall dependencies:
pip install -r requirements.txtUsage
Running the MCP Server
The server can be run directly or integrated with Claude Desktop.
Direct Execution:
python main.pyClaude Desktop Integration:
Use the provided launcher script:
./run_mcp_server.shConfigure 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 fileAvailable 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
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.