File Analysis MCP Server logo

File Analysis MCP Server

by huangyz0918

This MCP server provides tools for file reading/writing, data analysis (especially CSV), visualization, and PDF reading, accessible via MCP clients like Claude Desktop. It enables users to interact with files and data through natural language prompts.

View on GitHub

Last updated: N/A

File Analysis MCP Server

This Model Context Protocol (MCP) server provides tools for reading and writing files, analyzing data (especially CSV files), generating visualizations, and reading PDF files - all accessible to any MCP client like Claude Desktop.

Features

File Operations

  • Read and write text files securely
  • List files in directories matching patterns
  • Get detailed file information (size, creation time, etc.)
  • Extract text content from PDF files

Data Analysis

  • Read and sample CSV files
  • Analyze CSV data with detailed statistics
  • Visualize data with various plot types (bar, line, scatter, histogram, boxplot)

Included Prompts

  • Analyze Data File - Comprehensive data analysis
  • Data Cleaning Steps - Identifying and fixing data issues
  • Generate Summary Report - Executive summary for stakeholders
  • Exploratory Data Analysis - Detailed EDA workflow

Installation

Prerequisites

  • Python 3.10 or higher
  • Claude Desktop or another MCP client

Setup

  1. Install dependencies:
pip install "mcp[cli]" pandas numpy matplotlib PyPDF2
  1. Set up safe directories (optional):
# Default directories are ~/Documents and ~/Downloads
# To customize, set this environment variable:
export MCP_FILE_ROOTS="~/Documents:~/Desktop:~/Downloads"
  1. Install in Claude Desktop:
mcp install file_analysis_server.py

Usage with Claude Desktop

Once installed, you can ask Claude questions like:

  • "Can you list the files in my Documents folder?"
  • "Read the content of ~/Documents/example.txt for me"
  • "Extract text from my ~/Documents/report.pdf file"
  • "Read page 5 of my PDF document"
  • "Analyze the data in ~/Downloads/sample.csv"
  • "Create a bar chart of the 'Sales' column from my CSV file"
  • "Write a summary report of my quarterly_sales.csv file"

Security

The server enforces strict path validation to ensure only files within authorized directories can be accessed. By default, these are limited to ~/Documents and ~/Downloads.

Configuration

You can adjust the allowed directories by setting the MCP_FILE_ROOTS environment variable. Multiple directories should be separated by colons, for example:

mcp install file_analysis_server.py -v MCP_FILE_ROOTS="~/Documents:~/Desktop:~/projects/data"

Development

For development and testing:

mcp dev file_analysis_server.py

This will start the server with the MCP Inspector interface for interactive testing.

Examples

Reading a file

Could you read the content of ~/Documents/notes.txt?

Reading a PDF file

Can you extract the text from ~/Documents/report.pdf?

Reading specific pages from a PDF

Please read pages 3 and 5 from ~/Downloads/manual.pdf

Analyzing CSV data

I have a CSV file at ~/Downloads/sales_data.csv. Could you analyze it and tell me about the 'Revenue' column?

Creating a visualization

Using my ~/Documents/monthly_data.csv file, can you create a bar chart showing 'Month' vs 'Profit'?

Using prompts

Can you run an exploratory data analysis on ~/Downloads/customer_data.csv?