Skip to main content

🧠 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).

Metadata

Release files for iflow-mcp-hassenamri005-mix-server 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp-hassenamri005-mix-server 0.1.1
File Size Uploaded
iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp-hassenamri005-mix-server 0.1.1
File Interpreter ABI Platform
iflow_mcp_hassenamri005_mix_server-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.3 kB

Release files / iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz

Download URL iflow_mcp_hassenamri005_mix_server-0.1.1.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fbcbd6a4d291f37385a17237827d6a6ef5a8af5b1d76a962bc39d8641eb482b3
BLAKE2b-256 checksum
How to use checksums
76cd6b1cdf58b0c91db451a7ec6879097cce0c518575abf1caeb03a42eaa1412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / iflow_mcp_hassenamri005_mix_server-0.1.1-py3-none-any.whl

Download URL iflow_mcp_hassenamri005_mix_server-0.1.1-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
66124e6f2f225c463197fce013d08c09c96d44b0fc3c28df14298aab8bb39798
BLAKE2b-256 checksum
How to use checksums
57e310c0993b106827bc9e4b47396650f3cbe66643c4d43cb93845eb5ed8ba77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page