Mcp Data Explore — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Data Explore (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that provides dataset exploration and analysis tools for any LLM client. The server performs actual data analysis and returns formatted results, eliminating the need for users to write or execute code.
The fastest way to get started:
# 1. Navigate to project directory
cd /path/to/mcp-data-explore
# 2. Install dependencies
uv sync
# 3. Add MCP server to Claude Code (project scope - shared with team)
claude mcp add data-explore -s project -- uv --directory . run python main.py
# 4. Start Claude Code
claude
# 5. Try it out in Claude Code
# "Analyze the test_data.csv file"
# "What's the correlation between age and salary?"git clone <repository-url>
cd mcp-data-exploreuv syncpython main.pyClaude Code has excellent built-in MCP support. Here's how to connect:
The project already includes a .mcp.json file that's shared with everyone:
{
"mcpServers": {
"data-explore": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"python",
"main.py"
],
"env": {}
}
}
}This file is automatically detected by Claude Code when you start it in the project directory.
Environment Variable Support in .mcp.json:
You can use environment variables in your .mcp.json for flexibility:
{
"mcpServers": {
"data-explore": {
"command": "${UV_COMMAND:-uv}",
"args": [
"--directory",
"${PROJECT_DIR:-.}",
"run",
"python",
"main.py"
],
"env": {
"PYTHONPATH": "${CUSTOM_PYTHON_PATH:-}"
}
}
}
}Security Note: Claude Code will prompt for approval before using project-scoped servers from .mcp.json files for security.
You can add the MCP server using Claude Code CLI commands:
# Add MCP server to project scope (shared with team via .mcp.json)
claude mcp add data-explore -s project -- uv --directory . run python main.py
# Add MCP server to user scope (available across all your projects)
claude mcp add data-explore -s user -- uv --directory /Users/ida/Documents/eric/mcp-data-explore run python main.py
# Add MCP server to local scope (private to you in this project) - DEFAULT
claude mcp add data-explore -- uv --directory . run python main.py
# or explicitly specify local scope
claude mcp add data-explore -s local -- uv --directory . run python main.py
# Add with environment variables if needed
claude mcp add data-explore -s project -e PYTHONPATH=/custom/path -- uv --directory . run python main.pyMCP Server Management Commands:
# List all configured MCP servers
claude mcp list
# Get details for a specific server
claude mcp get data-explore
# Remove an MCP server
claude mcp remove data-explore
# Reset project-scoped server approval choices
claude mcp reset-project-choices
# Import servers from Claude Desktop (macOS/WSL only)
claude mcp add-from-claude-desktop
# Add server from JSON configuration
claude mcp add-json data-explore '{"type":"stdio","command":"uv","args":["--directory",".","run","python","main.py"],"env":{}}'Claude Code supports three MCP server scopes with clear precedence:
.mcp.json file (version controlled)Scope Precedence: local > project > user (local overrides project, project overrides user)
Choosing the Right Scope:
# View all MCP commands and help
claude mcp --help
# Check connection status of all servers (use /mcp command in Claude Code)
/mcp
# Configure server startup timeout (10 seconds example)
MCP_TIMEOUT=10000 claude # Start in project directory (automatically loads .mcp.json)
cd /Users/ida/Documents/eric/mcp-data-explore
claude
# Claude Code will automatically detect and load the project MCP configuration
# You can use the /mcp command within Claude Code to check server statusOnce connected, you should see the MCP tools available. Try asking:
You: "Analyze the test dataset in this directory"
Claude Code: [Uses analyze_dataset tool] → Returns comprehensive analysis
You: "What's the correlation between age and salary?"
Claude Code: [Uses analyze_dataset with correlation type] → Returns correlation matrix
You: "Clean my data by removing duplicates and filling nulls"
Claude Code: [Uses clean_data tool] → Returns cleaning results
You: "Test if the age column is normally distributed"
Claude Code: [Uses statistical_summary tool] → Returns normality test resultsOpen your Claude Desktop configuration file:
macOS/Linux:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
code %APPDATA%\Claude\claude_desktop_config.jsonAdd the following to your claude_desktop_config.json:
{
"mcpServers": {
"data-explore": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp-data-explore",
"run",
"python",
"main.py"
]
}
}
}Important: Replace /ABSOLUTE/PATH/TO/mcp-data-explore with the actual absolute path to your project directory.
Windows Example:
{
"mcpServers": {
"data-explore": {
"command": "uv",
"args": [
"--directory",
"C:\\\\Users\\\\YourName\\\\mcp-data-explore",
"run",
"python",
"main.py"
]
}
}
}Completely close and restart Claude Desktop for the changes to take effect.
Look for the tools icon in Claude Desktop. You should see 3 available tools:
For other MCP-compatible clients, use these connection details:
uv --directory /path/to/mcp-data-explore run python main.pyPerforms comprehensive dataset analysis.
Parameters:
dataset_path (required): Path to CSV fileanalysis_type (optional): "summary", "correlation", "distribution", "missing_values" (default: "summary")columns (optional): List of column names to analyzeExample Usage:
Performs data cleaning operations and shows results.
Parameters:
dataset_path (required): Path to CSV fileoperations (required): List of operations - "remove_nulls", "fill_nulls", "remove_duplicates", "standardize_columns", "convert_types"output_path (optional): Path to save cleaned datasetExample Usage:
Performs statistical tests and analysis.
Parameters:
dataset_path (required): Path to CSV filecolumns (optional): Specific columns to analyzetests (optional): List of tests - "normality", "correlation_test", "ttest"Example Usage:
Once connected to your MCP client, you can ask natural language questions like:
The server will automatically:
# Verify MCP server starts manually
cd /Users/ida/Documents/eric/mcp-data-explore
python main.py
# Check server configuration
claude mcp get data-explore
# List all servers
claude mcp list.mcp.json is in the project root for project scopeclaude mcp get data-explore)/mcp command in Claude Code to check connection status"--directory", ".") for project scopeuv is in your PATH: which uvcmd /c wrapper for some commandsclaude mcp reset-project-choices to reset approval choices # Test server directly with JSON-RPC
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {}, "id": 1}' | python main.py
# Set debug timeout
MCP_TIMEOUT=30000 claudeclaude_desktop_config.json~/Library/Logs/Claude/mcp*.logIf you see module import errors:
uv sync # Reinstall dependencies
python -c "import pandas; print('Dependencies OK')" # Test imports@mcp.tool() decorated async function in main.pyCLAUDE.md with the new tool specificationsCurrently supports CSV files. To add support for other formats:
This project is open source. Feel free to modify and distribute according to your needs.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.