Skip to main content
Glama

MCP Data Analyzer

Features

  • Data Loading and Analysis: Supports loading .xlsx and .csv files for statistical analysis.

  • Visualization: Generate various graphs and charts using matplotlib and plotly.

Related MCP server: ChatBI MCP Server

Installation

To install this project, clone the repository using git:

git clone https://github.com/OuchiniKaeru/mcp-data-analyzer.git
cd mcp-data-analyzer
uv sync

Development (Unpublished Servers)

"mcpServers": {
  "mcp-data-analyzer": {
    "disabled": false,
    "timeout": 60,
    "type": "stdio",
    "command": "uv",
    "args": [
      "--directory",
      "/path_to/mcp-data-analyzer/",
      "run",
      "mcp-data-analyzer"
    ]
  }
}

Published Servers

"mcpServers": {
  "mcp-data-analyzer": {
    "command": "uvx",
    "args": [
      "mcp-data-analyzer"
    ]
  }
}

機能

  • データ読み込みと分析: .xlsx および .csv ファイルの読み込みと統計分析をサポートします。

  • 可視化: matplotlib および plotly を使用して、さまざまなグラフやチャートを生成します。

インストール

このプロジェクトをインストールするには、git を使用してリポジトリをクローンします。

git clone https://github.com/OuchiniKaeru/mcp-data-analyzer.git
cd mcp-data-analyzer
uv sync

開発 (未公開サーバー)

"mcpServers": {
  "mcp-data-analyzer": {
    "disabled": false,
    "timeout": 60,
    "type": "stdio",
    "command": "uv",
    "args": [
      "--directory",
      "/path_to/mcp-data-analyzer/",
      "run",
      "mcp-data-analyzer"
    ]
  }
}

公開サーバー

"mcpServers": {
  "mcp-data-analyzer": {
    "command": "uvx",
    "args": [
      "mcp-data-analyzer"
    ]
  }
}

Available Tools

2 tools
load_fileA

Load Data File Tool

Purpose: Load a local CSV or XLSX file into a DataFrame.

Usage Notes: • If a df_name is not provided, the tool will automatically assign names sequentially as df_1, df_2, and so on. • For XLSX files, you can specify the sheet_name. If not provided, the first sheet will be loaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
df_nameNo
sheet_nameNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains default naming behavior for df_name and sheet selection for XLSX files, which are useful behavioral traits. However, it doesn't address important aspects like error handling, file size limits, memory implications, or what the output looks like (though there's no output schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear sections (Purpose, Usage Notes), uses bullet points for readability, and contains no redundant information. Every sentence adds value, and the information is appropriately front-loaded with the core purpose stated first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a data loading tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description provides adequate basic information but lacks important context. It doesn't explain what a DataFrame is in this context, doesn't mention supported file encodings or formats beyond CSV/XLSX, and doesn't describe error conditions or the structure of returned data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate. It provides meaningful context for all three parameters: file_path is implied as the data source, df_name gets default naming behavior explained, and sheet_name gets XLSX-specific guidance. The description adds substantial value beyond the bare schema, though it doesn't explain parameter formats or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Load a local CSV or XLSX file into a DataFrame'), identifies the resource (data files), and distinguishes this from its only sibling 'run_script' by focusing on data loading rather than script execution. The purpose is concrete and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance through the 'Usage Notes' section, which explains default behaviors for optional parameters. However, it doesn't explicitly state when to use this tool versus alternatives (like 'run_script') or mention any prerequisites or exclusions. The guidance is helpful but incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_scriptB

Python Script Execution Tool

Purpose: Execute Python scripts for specific data analytics tasks.

Allowed Actions 1. Print Results: Output will be displayed as the script’s stdout. 2. [Optional] Save DataFrames: Store DataFrames in memory for future use by specifying a save_to_memory name. 3. Create Charts: You can use matplotlib.pyplot or plotly.graph_objects to create and save charts to an absolute path.

Prohibited Actions 1. Overwriting Original DataFrames: Do not modify existing DataFrames to preserve their integrity for future tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYes
save_to_memoryNo

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: it executes Python scripts, outputs results via stdout, allows saving DataFrames in memory and creating charts, and prohibits overwriting original DataFrames. This covers core functionality, constraints, and output methods, though it lacks details on error handling, execution environment, or resource limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Purpose, Allowed Actions, Prohibited Actions) and uses bullet points for readability. It's appropriately sized with no redundant sentences, though the 'Purpose' section could be more front-loaded with critical details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (executing arbitrary Python scripts), no annotations, no output schema, and low schema coverage, the description is moderately complete. It covers basic behavior and constraints but lacks details on return values, error cases, execution context, or integration with sibling tools, leaving gaps for an AI agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It mentions 'save_to_memory' in the allowed actions, providing some semantic context for that parameter, but doesn't explain the 'script' parameter beyond implying it's for Python code. This leaves key parameter details undocumented, failing to fully compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Execute Python scripts for specific data analytics tasks,' which is a specific verb+resource combination. However, it doesn't explicitly differentiate from the sibling tool 'load_file' (which likely loads files rather than executing scripts), so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage through 'Allowed Actions' and 'Prohibited Actions' sections, which suggest when to use this tool (for data analytics tasks with specific allowed outputs) and some constraints (not overwriting DataFrames). However, it doesn't explicitly state when to use this vs. alternatives like 'load_file' or other potential tools, nor does it provide clear exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.5/5.0
Disambiguation5/5

The two tools have completely distinct purposes: load_file is for loading data files into DataFrames, while run_script is for executing Python scripts for analytics tasks. There is no overlap in functionality or ambiguity about when to use each tool.

Naming Consistency4/5

Both tools use snake_case naming, which is consistent. However, load_file follows a verb_noun pattern while run_script uses verb_noun, but the noun 'script' is less specific than 'file', creating a minor deviation in clarity. Overall, the naming is mostly predictable and readable.

Tool Count2/5

With only 2 tools, the server feels severely under-scoped for a 'Data Analyzer' purpose. Key operations like data transformation, filtering, aggregation, or visualization-specific tools are missing, making it inadequate for comprehensive data analysis workflows.

Completeness2/5

The tool set is significantly incomplete for data analysis. While loading and script execution are covered, there are major gaps: no tools for data cleaning, transformation, statistical analysis, or dedicated visualization. This will likely cause agent failures when trying to perform common analytics tasks beyond basic loading and scripting.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-powered business intelligence and data analysis using pandas and LLM code generation. Supports automated data processing, statistical analysis, and visualization creation through natural language interactions.
    15
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables analysis of datasets from CSV/Excel files, Google Sheets, and Google Drive with comprehensive data profiling tools including schema inference, missing value reports, correlation analysis, and outlier detection. Supports exporting analytical reports in multiple formats to local storage or Google Drive.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables data analysis and visualization operations such as loading CSV/Excel/JSON files, computing summary statistics, generating charts, and exploring datasets via SSE/HTTP.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OuchiniKaeru/mcp-data-analyzer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server