mcp_server_public

llm-guy/mcp_server_public

3.2

If you are the rightful owner of mcp_server_public and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server designed for analyzing CSV and Parquet files, providing essential tools for data file analysis.

Tools
  1. summarize_csv_file

    Summarizes a CSV file by reporting its number of rows and columns.

  2. summarize_parquet_file

    Summarizes a Parquet file by reporting its number of rows and columns.

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

  1. Install uv (if not already installed):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Create and activate virtual environment:

    uv venv
    source .venv/bin/activate
    
  3. 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

  1. summarize_csv_file(filename: str)

    • Summarizes a CSV file by reporting its number of rows and columns
    • Example: summarize_csv_file("sample.csv")
  2. 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

  1. Create a new file in the tools/ directory
  2. Import the MCP server instance: from server import mcp
  3. Define your tool function with the @mcp.tool() decorator
  4. Import the new tool module in main.py

Adding New File Formats

  1. Add utility functions in utils/file_reader.py
  2. Create corresponding tools in the tools/ directory
  3. 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.