Skip to main content

MCP server for reading CSV and Parquet files with summary tools

Project description

🧠 MCP Server: Local AI Tooling with Python

This project sets up a lightweight Model Context Protocol (MCP) server using Python, enabling AI assistants like Claude to interact with local data files such as CSV and Parquet By integrating with Claude for Desktop, you can perform tasks like summarizing datasets or retrieving specific information through natural language queries

🚀 Features

Local MCP Server (mix_server): Facilitates communication between Claude and your local tool. CSV and Parquet Readers: Tools to load and process tabular data formats commonly used in data analysi. Modular Structure: Clean codebase designed for easy expansion with additional tool. Seamless Claude Integration: Connects directly with Claude for Desktop, allowing natural language interactions with your dat.

🛠️ Installation

1. Clone the Repositor

git clone https://github.com/yourusername/mcp-server.git
cd mcp-server
``


### 2. Set Up the Environment Using `uv

[uv](https://github.com/astral-sh/uv) is a fast Python package and project manager written in Rut It serves as a drop-in replacement for tools like `pip`, `pip-tools`, and `virtualenv`, offering significant speed improvements and a unified interfae.

#### Install `uv

You can install `uv` using one of the following methos:

- **Using `curl` (macOS and Linux):**

```bash
  curl -LsSf https://astral.sh/uv/install.sh | sh
  ``


- **Using `pip`:**

```bash
  pip install uv
  ``


- **Using `pipx`:**

```bash
  pipx install uv
  ``


For more installation options and details, refer to the [official uv documentation](https://docs.astral.sh/uv).

#### Create a Virtual Environment and Install Dependencie


```bash
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install mcp[cli] pandas pyarrow
``


This will create a virtual environment and install the necessary dependencies using `u`.

## 📁 Project Structue


```bash
mcp-server/
├── tools/
│   ├── csv_reader.py
│   └── parquet_reader.py
├── mix_server.py
├── README.md
└── requirements.txt
``

- `tools/`: Contains individual tool scripts for data processng.
- `mix_server.py`: Initializes and runs the MCP server, registering available tols.

## ⚙️ Configuration for Claude Desktp

To integrate with Claude for Desktop, add the following configuration to your Claude settigs:


```json
{
  "mcpServers": {
    "mix_server": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["/absolute/path/to/mix_server.py"]
    }
  }
}
``


Ensure that the paths to your Python interpreter and `mix_server.py` are corrct.

## 🧪 Usge

Once set up, you can interact with your data through Claude using natural language prompts. For exaple:

- "Summarize the contents of `data.cv`."
- "How many rows and columns are in `dataset.parqut`?

Claude will utilize the registered tools to process your request and provide the desired informaion.

## 📚 Refereces

This project is based on the tutorial: [Building a Basic MCP Server with Python](https://medium.com/data-engineering-with-dremio/building-a-basic-mcp-server-with-python-4c34c4101ed).

## 📝 Liense

This project is licensed under the [MIT License](LIENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fbcbd6a4d291f37385a17237827d6a6ef5a8af5b1d76a962bc39d8641eb482b3
MD5 07e634eca9d1c27ed25fcd5b97aa1288
BLAKE2b-256 76cd6b1cdf58b0c91db451a7ec6879097cce0c518575abf1caeb03a42eaa1412

See more details on using hashes here.

File details

Details for the file iflow_mcp_hassenamri005_mix_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_hassenamri005_mix_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66124e6f2f225c463197fce013d08c09c96d44b0fc3c28df14298aab8bb39798
MD5 66e0fcf3e80468e1f32d9949246681f8
BLAKE2b-256 57e310c0993b106827bc9e4b47396650f3cbe66643c4d43cb93845eb5ed8ba77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page