Pandas-MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_metadata_toolA | Read file metadata (Excel or CSV) and return in MCP-compatible format. Args: file_path: Absolute path to data file Returns: dict: Structured metadata including: For Excel: - file_info: {type: "excel", sheet_count, sheet_names} - data: {sheets: [{sheet_name, rows, columns}]} For CSV: - file_info: {type: "csv", encoding, delimiter} - data: {rows, columns} Common: - status: SUCCESS/ERROR - columns contain: - name, type, examples - stats: null_count, unique_count - warnings, suggested_operations |
| interpret_column_dataA | Interpret column values and return their unique values. This tool is most valuable for categorical fields with limited unique values, code fields that need interpretation, and fields with abbreviations or cryptic values. Best use cases:
Supported file types:
Args: file_path: Absolute path to data file column_names: List of column names to interpret sheet_name: Sheet name or index to read from Excel files (default: 0, first sheet) Returns: dict: Structured interpretation including: - status: SUCCESS/ERROR - file_info: Basic file information - columns_interpretation: List of column interpretations with: - column_name: Name of the column - unique_values_with_counts: List of (value, count) tuples - unique_count: Total number of unique values - total_values: Total number of values in the column - null_count: Number of null values - data_type: Type of data in the column |
| run_pandas_code_toolA | Execute pandas code with smart suggestions and security checks. Args: code: Python code string containing pandas operations Returns: dict: Either the result or error information Forbidden Operations: The following operations are blocked for security reasons: - 'os.', 'sys.', 'subprocess.' - System access operations - 'open(', 'exec(', 'eval(' - Code execution functions - 'import os', 'import sys' - Specific dangerous imports - 'document.', 'window.', 'XMLHttpRequest' - Browser/DOM access - 'fetch(', 'eval(', 'Function(' - JavaScript/remote operations - 'script', 'javascript:' - Script injection attempts Requirements: - Must assign final result to 'result' variable - Code should contain necessary imports (pandas available as 'pd') |
| generate_chartjs_toolA | Generate interactive Chart.js visualizations from structured data. Args: data: Structured data in MCP format with required structure: { "columns": [ { "name": str, # Column name "type": str, # "string" or "number" "examples": list # Array of values }, ... # Additional columns ] } Example: { "columns": [ { "name": "Category", "type": "string", "examples": ["A", "B", "C"] }, { "name": "Value", "type": "number", "examples": [10, 20, 30] } ] } chart_types: List of supported chart types to generate (first is used) title: Chart title string request_params: Additional visualization parameters (optional) Returns: dict: Result with structure: { "status": "SUCCESS"|"ERROR", "chart_html": str, # Generated HTML content "chart_type": str, # Type of chart generated "html_path": str # Path to saved HTML file } |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool has a distinct purpose: generating charts, interpreting column data, reading metadata, and executing custom pandas code. There is no functional overlap, making it easy for an agent to select the correct tool.
All tool names use a verb_noun pattern with snake_case, which is consistent and descriptive. However, two tools end with '_tool' while the others do not, introducing a minor inconsistency.
With 4 tools, the server is well-scoped for a pandas utility. It covers essential operations (data inspection, interpretation, code execution, visualization) without unnecessary bloat, fitting the typical 3-15 range.
The tool set covers core data workflow steps: metadata reading, column interpretation, custom code execution, and chart generation. While explicit data loading or transformation tools are absent, the run_pandas_code_tool can handle those tasks, making the set mostly complete.