Data File Analysis MCP Server
Enables analysis of CSV and Parquet files by providing summaries of row and column counts. Includes sample data and tools for easy integration.
README
Basic MCP Server for Data File Analysis
A Model Context Protocol (MCP) server that provides tools for analyzing CSV and Parquet files.
Features
- CSV File Analysis: Summarize CSV files by reporting row and column counts
- Parquet File Analysis: Summarize Parquet files by reporting row and column counts
- Sample Data: Includes sample user data in both CSV and Parquet formats
Project Structure
mix_server/
│
├── data/ # Sample CSV and Parquet files
│ ├── sample.csv
│ └── sample.parquet
│
├── tools/ # MCP tool definitions
│ ├── __init__.py
│ ├── csv_tools.py
│ └── parquet_tools.py
│
├── utils/ # Reusable file reading logic
│ ├── __init__.py
│ └── file_reader.py
│
├── server.py # MCP server instance
├── main.py # Entry point for the MCP server
├── generate_parquet.py # Script to convert CSV to Parquet
└── README.md # This file
Installation
-
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Create and activate virtual environment:
uv venv source .venv/bin/activate -
Install dependencies:
uv add "mcp[cli]" pandas pyarrow
Usage
Running the Server
Start the MCP server:
uv run main.py
Using with LM Studio
To use this MCP server with LM Studio, edit your mcp.json file and add:
This starts the MCP server for you.
{
"mcpServers": {
"mix_server": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/mcp_server_public",
"run",
"main.py"
]
}
}
}
Note: Replace /path/to/your/mcp_server_public with the actual path to your mcp_server_public directory.
Once loaded you should see all available tools for your local LLM to use.
Available Tools
-
summarize_csv_file(filename: str)
- Summarizes a CSV file by reporting its number of rows and columns
- Example:
summarize_csv_file("sample.csv")
-
summarize_parquet_file(filename: str)
- Summarizes a Parquet file by reporting its number of rows and columns
- Example:
summarize_parquet_file("sample.parquet")
Sample Data
The server includes sample user data with the following structure:
- id: Unique identifier
- name: User's full name
- email: User's email address
- signup_date: Date when the user signed up
Development
Adding New Tools
- Create a new file in the
tools/directory - Import the MCP server instance:
from server import mcp - Define your tool function with the
@mcp.tool()decorator - Import the new tool module in
main.py
Adding New File Formats
- Add utility functions in
utils/file_reader.py - Create corresponding tools in the
tools/directory - Import the new tools in
main.py
Dependencies
- mcp[cli]: Official MCP SDK and command-line tools
- pandas: For reading CSV and Parquet files
- pyarrow: Adds support for reading Parquet files via Pandas
License
This project is open source and available under the MIT License.
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.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.