MCP server intelligence profile

Excel MCP Server

Enables conversational data analysis of Excel/CSV files through natural language queries, powered by 395 Excel functions via HyperFormula and multi-provider AI. Supports advanced analytics, bulk operations, financial modeling, and large file processing with intelligent chunking

Local Onlyishayoyo
Awaiting current scanNpm · 1.0.2

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
35Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install excel-csv-mcp-server from npm

Version 1.0.2 declares 2 executable entrypoints.

npm install --save-exact excel-csv-mcp-server@1.0.2
npx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcp-server
npx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcp

Identity

Canonical slugexcel-mcp-server-2952521aDeploymentLocal Only
Canonical packagenpm:excel-csv-mcp-serverRepositoryishayoyo/excel-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmexcel-csv-mcp-server1.0.23Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmexcel-csv-mcp-server1.0.2CurrentSep 5, 202635 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
excel-csv-mcpServer-reported name
1Capability groups
Aug 15, 2026Observed

Tools 35

ToolCategoryAnnotationsRisk
add_sheetAdd a new sheet to an existing Excel file
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the existing Excel file (.xlsx or .xls)"
    },
    "sheetName": {
      "type": "string",
      "description": "Name for the new sheet"
    },
    "data": {
      "type": "array",
      "description": "Array of arrays representing rows of data",
      "items": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "headers": {
      "type": "array",
      "description": "Optional headers for the first row",
      "items": {
        "type": "string"
      }
    },
    "position": {
      "type": "number",
      "description": "Position to insert the sheet (0-based index, optional)"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "data"
  ]
}
aggregatePerform aggregation operations on a column
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "column": {
      "type": "string",
      "description": "Column name or index (0-based)"
    },
    "operation": {
      "type": "string",
      "description": "Aggregation operation",
      "enum": [
        "sum",
        "average",
        "count",
        "min",
        "max"
      ]
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "column",
    "operation"
  ]
}
ai_provider_statusCheck status of available AI providers
Input schema
{
  "type": "object",
  "properties": {}
}
auto_fit_columnsAutomatically adjust column widths to fit content in Excel files
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file (.xlsx or .xls)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name (optional, defaults to all sheets)"
    },
    "columns": {
      "type": "array",
      "description": "Specific columns to auto-fit (optional, defaults to all columns). Can be column letters (e.g., [\"A\", \"B\"]) or numbers (e.g., [1, 2])",
      "items": {
        "oneOf": [
          {
            "type": "string",
            "description": "Column letter (e.g., \"A\", \"B\", \"C\")"
          },
          {
            "type": "number",
            "description": "Column number (1-based, e.g., 1, 2, 3)"
          }
        ]
      }
    },
    "minWidth": {
      "type": "number",
      "description": "Minimum column width (default: 10)",
      "default": 10
    },
    "maxWidth": {
      "type": "number",
      "description": "Maximum column width (default: 60)",
      "default": 60
    },
    "padding": {
      "type": "number",
      "description": "Extra padding to add to calculated width (default: 2)",
      "default": 2
    }
  },
  "required": [
    "filePath"
  ]
}
budget_variance_analysisAnalyze budget vs actual performance with variance calculations
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file with budget and actual data"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "actualColumn": {
      "type": "string",
      "description": "Column name or index containing actual values"
    },
    "budgetColumn": {
      "type": "string",
      "description": "Column name or index containing budget values"
    }
  },
  "required": [
    "filePath",
    "actualColumn",
    "budgetColumn"
  ]
}
bulk_aggregate_multi_filesAggregate same column across multiple files in parallel
Input schema
{
  "type": "object",
  "properties": {
    "filePaths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of file paths to process"
    },
    "column": {
      "type": "string",
      "description": "Column name or index (0-based) to aggregate"
    },
    "operation": {
      "type": "string",
      "enum": [
        "sum",
        "average",
        "count",
        "min",
        "max"
      ],
      "description": "Aggregation operation"
    },
    "consolidate": {
      "type": "boolean",
      "description": "Whether to return consolidated result or per-file breakdown (default: true)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "filters": {
      "type": "array",
      "description": "Optional filters to apply before aggregation",
      "items": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string"
          },
          "condition": {
            "type": "string",
            "enum": [
              "equals",
              "contains",
              "greater_than",
              "less_than",
              "not_equals"
            ]
          },
          "value": {
            "type": "string",
            "description": "Value to compare against (numeric strings accepted)"
          }
        },
        "required": [
          "column",
          "condition",
          "value"
        ]
      }
    }
  },
  "required": [
    "filePaths",
    "column",
    "operation"
  ]
}
bulk_filter_multi_filesFilter data across multiple files with optional export
Input schema
{
  "type": "object",
  "properties": {
    "filePaths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of file paths to process"
    },
    "filters": {
      "type": "array",
      "description": "Filters to apply to the data",
      "items": {
        "type": "object",
        "properties": {
          "column": {
            "type": "string"
          },
          "condition": {
            "type": "string",
            "enum": [
              "equals",
              "contains",
              "greater_than",
              "less_than",
              "not_equals"
            ]
          },
          "value": {
            "type": "string",
            "description": "Value to compare against (numeric strings accepted)"
          }
        },
        "required": [
          "column",
          "condition",
          "value"
        ]
      }
    },
    "outputMode": {
      "type": "string",
      "enum": [
        "count",
        "export",
        "summary"
      ],
      "description": "How to return results: count only, export to file, or summary with counts"
    },
    "outputPath": {
      "type": "string",
      "description": "Output file path (required when outputMode is \"export\")"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePaths",
    "filters",
    "outputMode"
  ]
}
correlation_analysisCalculate correlation between two numeric columns
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "column1": {
      "type": "string",
      "description": "First column name or index (0-based)"
    },
    "column2": {
      "type": "string",
      "description": "Second column name or index (0-based)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "column1",
    "column2"
  ]
}
data_cleanerBatch data cleaning operations with intelligent detection of common data quality issues
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "operations": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "trim_whitespace",
          "fix_dates",
          "standardize_numbers",
          "remove_empty_rows",
          "standardize_phone_formats",
          "standardize_names",
          "remove_special_chars",
          "fix_currency"
        ]
      },
      "description": "Array of cleaning operations to apply"
    },
    "preview": {
      "type": "boolean",
      "description": "Show preview before applying changes (default: false)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "outputPath": {
      "type": "string",
      "description": "Output file path for cleaned data (optional, defaults to overwriting source file)"
    }
  },
  "required": [
    "filePath"
  ]
}
data_profileGenerate comprehensive data profiling report for all columns
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath"
  ]
}
dcf_analysisPerform Discounted Cash Flow (DCF) valuation analysis for investment evaluation
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file with cash flow data"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "assumptions": {
      "type": "object",
      "description": "DCF assumptions (optional)",
      "properties": {
        "initialInvestment": {
          "type": "number",
          "description": "Initial investment amount (negative)"
        },
        "growthRate": {
          "type": "number",
          "description": "Annual growth rate (0.15 = 15%)"
        },
        "discountRate": {
          "type": "number",
          "description": "Discount rate/WACC (0.12 = 12%)"
        },
        "terminalMultiple": {
          "type": "number",
          "description": "Terminal value multiple (8x)"
        },
        "projectionYears": {
          "type": "number",
          "description": "Number of projection years"
        }
      }
    }
  },
  "required": [
    "filePath"
  ]
}
evaluate_formulaEvaluate an Excel formula with given context
Input schema
{
  "type": "object",
  "properties": {
    "formula": {
      "type": "string",
      "description": "Excel formula to evaluate (e.g., \"=SUM(A1:A10)\", \"=VLOOKUP(B2,C:D,2,FALSE)\")"
    },
    "context": {
      "type": "object",
      "description": "Cell values and ranges for formula evaluation (optional)",
      "additionalProperties": true
    }
  },
  "required": [
    "formula"
  ]
}
explain_formulaExplain what an Excel formula does in plain English
Input schema
{
  "type": "object",
  "properties": {
    "formula": {
      "type": "string",
      "description": "Excel formula to explain (e.g., \"=VLOOKUP(A2,B:C,2,FALSE)\")"
    },
    "provider": {
      "type": "string",
      "description": "Preferred AI provider: anthropic, openai, deepseek, gemini, or local (optional)",
      "enum": [
        "anthropic",
        "openai",
        "deepseek",
        "gemini",
        "local"
      ]
    }
  },
  "required": [
    "formula"
  ]
}
export_analysisExport analysis results (pivot tables, statistics, etc.) to a new file
Input schema
{
  "type": "object",
  "properties": {
    "analysisType": {
      "type": "string",
      "description": "Type of analysis to export",
      "enum": [
        "pivot_table",
        "statistical_analysis",
        "correlation",
        "data_profile"
      ]
    },
    "sourceFile": {
      "type": "string",
      "description": "Path to the source data file"
    },
    "outputFile": {
      "type": "string",
      "description": "Path for the output file"
    },
    "analysisParams": {
      "type": "object",
      "description": "Parameters for the analysis (depends on analysisType)"
    }
  },
  "required": [
    "analysisType",
    "sourceFile",
    "outputFile",
    "analysisParams"
  ]
}
filter_rowsFilter rows based on column values
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "column": {
      "type": "string",
      "description": "Column name or index (0-based)"
    },
    "condition": {
      "type": "string",
      "description": "Condition: equals, contains, greater_than, less_than",
      "enum": [
        "equals",
        "contains",
        "greater_than",
        "less_than"
      ]
    },
    "value": {
      "type": "string",
      "description": "Value to compare against"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "column",
    "condition",
    "value"
  ]
}
find_duplicatesFind and manage duplicate rows in Excel/CSV files with multiple strategies
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Columns to check for duplicates (empty = all columns)"
    },
    "action": {
      "type": "string",
      "enum": [
        "highlight",
        "remove",
        "export_duplicates",
        "report_only"
      ],
      "description": "What to do with duplicates (default: report_only)"
    },
    "keepFirst": {
      "type": "boolean",
      "description": "Keep first occurrence when removing (default: true)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "outputPath": {
      "type": "string",
      "description": "Output file path for cleaned data (optional, defaults to overwriting source file)"
    }
  },
  "required": [
    "filePath"
  ]
}
format_cellsApply formatting to Excel cells (fonts, colors, borders, alignment)
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file (.xlsx or .xls)"
    },
    "range": {
      "type": "string",
      "description": "Cell range in A1 notation (e.g., \"A1\", \"A1:C5\", \"B2:D10\")"
    },
    "styling": {
      "type": "object",
      "description": "Formatting options to apply",
      "properties": {
        "font": {
          "type": "object",
          "description": "Font styling options",
          "properties": {
            "bold": {
              "type": "boolean",
              "description": "Make text bold"
            },
            "italic": {
              "type": "boolean",
              "description": "Make text italic"
            },
            "underline": {
              "type": "boolean",
              "description": "Underline text"
            },
            "size": {
              "type": "number",
              "description": "Font size (e.g., 12, 14, 16)"
            },
            "color": {
              "type": "string",
              "description": "Font color in ARGB format (e.g., \"FFFF0000\" for red)"
            },
            "name": {
              "type": "string",
              "description": "Font name (e.g., \"Arial\", \"Times New Roman\")"
            }
          }
        },
        "fill": {
          "type": "object",
          "description": "Background fill options",
          "properties": {
            "color": {
              "type": "string",
              "description": "Background color in ARGB format (e.g., \"FFFFFF00\" for yellow)"
            },
            "pattern": {
              "type": "string",
              "description": "Fill pattern (default: \"solid\")"
            }
          }
        },
        "border": {
          "type": "object",
          "description": "Border styling options",
          "properties": {
            "style": {
              "type": "string",
              "description": "Border style: thin, medium, thick, dotted, dashed"
            },
            "color": {
              "type": "string",
              "description": "Border color in ARGB format (e.g., \"FF000000\" for black)"
            },
            "top": {
              "type": "boolean",
              "description": "Apply border to top (default: true)"
            },
            "bottom": {
              "type": "boolean",
              "description": "Apply border to bottom (default: true)"
            },
            "left": {
              "type": "boolean",
              "description": "Apply border to left (default: true)"
            },
            "right": {
              "type": "boolean",
              "description": "Apply border to right (default: true)"
            }
          }
        },
        "alignment": {
          "type": "object",
          "description": "Text alignment options",
          "properties": {
            "horizontal": {
              "type": "string",
              "description": "Horizontal alignment: left, center, right, justify"
            },
            "vertical": {
              "type": "string",
              "description": "Vertical alignment: top, middle, bottom"
            },
            "wrapText": {
              "type": "boolean",
              "description": "Wrap text within cell"
            },
            "textRotation": {
              "type": "number",
              "description": "Text rotation angle in degrees"
            }
          }
        },
        "numberFormat": {
          "type": "string",
          "description": "Number format (e.g., \"$#,##0.00\", \"0.00%\", \"mm/dd/yyyy\")"
        }
      }
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name (optional, defaults to first sheet)"
    }
  },
  "required": [
    "filePath",
    "range",
    "styling"
  ]
}
get_cellGet the value of a specific cell using A1 notation
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "cell": {
      "type": "string",
      "description": "Cell address in A1 notation (e.g., \"A1\", \"B5\")"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "cell"
  ]
}
get_file_infoAnalyze file size and get chunking recommendations
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath"
  ]
}
get_headersGet the column headers (first row) of a file
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath"
  ]
}
get_rangeGet values from a range of cells
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "startCell": {
      "type": "string",
      "description": "Start cell in A1 notation (e.g., \"A1\")"
    },
    "endCell": {
      "type": "string",
      "description": "End cell in A1 notation (e.g., \"D10\")"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "startCell",
    "endCell"
  ]
}
parse_natural_languageConvert natural language to Excel formula or command
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural language query (e.g., \"sum all sales\", \"find duplicates\", \"average by category\")"
    },
    "filePath": {
      "type": "string",
      "description": "Path to file for context (optional)"
    },
    "provider": {
      "type": "string",
      "description": "Preferred AI provider: anthropic, openai, deepseek, gemini, or local (optional)",
      "enum": [
        "anthropic",
        "openai",
        "deepseek",
        "gemini",
        "local"
      ]
    }
  },
  "required": [
    "query"
  ]
}
pivot_tableCreate pivot table with grouping and aggregation
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "groupBy": {
      "type": "string",
      "description": "Column to group by"
    },
    "aggregateColumn": {
      "type": "string",
      "description": "Column to aggregate"
    },
    "operation": {
      "type": "string",
      "description": "Aggregation operation",
      "enum": [
        "sum",
        "average",
        "count",
        "min",
        "max"
      ]
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "groupBy",
    "aggregateColumn",
    "operation"
  ]
}
ratio_analysisPerform comprehensive financial ratio analysis with industry benchmarks
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file with financial statement data"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath"
  ]
}
read_fileRead an entire CSV or Excel file with optional chunking for large files
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional, defaults to first sheet)"
    },
    "offset": {
      "type": "number",
      "description": "Starting row index for chunked reading (0-based, optional)"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of rows to return (optional, enables chunking)"
    }
  },
  "required": [
    "filePath"
  ]
}
read_file_chunkedRead large files in manageable chunks to avoid token limits
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "chunkIndex": {
      "type": "number",
      "description": "Chunk index to read (0-based, defaults to 0)",
      "default": 0
    },
    "chunkSize": {
      "type": "number",
      "description": "Number of rows per chunk (optional, auto-calculated if not provided)"
    }
  },
  "required": [
    "filePath"
  ]
}
scenario_modelingPerform what-if scenario analysis with multiple assumptions
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file with base data"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "scenarios": {
      "type": "array",
      "description": "Array of scenario definitions",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Scenario name"
          },
          "assumptions": {
            "type": "object",
            "description": "Key-value pairs of assumption changes",
            "additionalProperties": {
              "type": "number"
            }
          }
        },
        "required": [
          "name",
          "assumptions"
        ]
      }
    }
  },
  "required": [
    "filePath",
    "scenarios"
  ]
}
searchSearch for cells containing a specific value
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "searchValue": {
      "type": "string",
      "description": "Value to search for"
    },
    "exact": {
      "type": "boolean",
      "description": "Whether to match exactly or contains (default: false)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "searchValue"
  ]
}
smart_data_analysisAI-powered analysis suggestions for your data
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file to analyze"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "provider": {
      "type": "string",
      "description": "Preferred AI provider: anthropic, openai, deepseek, gemini, or local (optional)",
      "enum": [
        "anthropic",
        "openai",
        "deepseek",
        "gemini",
        "local"
      ]
    }
  },
  "required": [
    "filePath"
  ]
}
statistical_analysisPerform comprehensive statistical analysis on a column
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file"
    },
    "column": {
      "type": "string",
      "description": "Column name or index (0-based)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    }
  },
  "required": [
    "filePath",
    "column"
  ]
}
trend_analysisAnalyze time series trends, growth rates, seasonality, and forecasting for sales and performance data
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the CSV or Excel file with time series data"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "dateColumn": {
      "type": "string",
      "description": "Column name or index containing date/time values"
    },
    "valueColumn": {
      "type": "string",
      "description": "Column name or index containing numeric values to analyze"
    },
    "periods": {
      "type": "number",
      "description": "Number of future periods to forecast (default: 12)",
      "default": 12
    }
  },
  "required": [
    "filePath",
    "dateColumn",
    "valueColumn"
  ]
}
validate_data_consistencyCross-validate data integrity across related files
Input schema
{
  "type": "object",
  "properties": {
    "primaryFile": {
      "type": "string",
      "description": "Path to the primary data file to validate"
    },
    "referenceFiles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of reference file paths for validation"
    },
    "validationRules": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "referential_integrity",
          "data_completeness",
          "value_ranges"
        ]
      },
      "description": "Specific validation rules to apply (optional, defaults to all)"
    },
    "keyColumns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific columns to validate for referential integrity (optional)"
    },
    "autoDetectRelationships": {
      "type": "boolean",
      "description": "Automatically detect column relationships (default: true)"
    },
    "tolerance": {
      "type": "number",
      "description": "Tolerance for numeric validations (default: 0.01)"
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (optional)"
    },
    "reportFormat": {
      "type": "string",
      "enum": [
        "summary",
        "detailed"
      ],
      "description": "Format of validation report (default: detailed)"
    }
  },
  "required": [
    "primaryFile",
    "referenceFiles"
  ]
}
vlookup_helperIntelligent VLOOKUP setup and execution with error handling and fuzzy matching
Input schema
{
  "type": "object",
  "properties": {
    "sourceFile": {
      "type": "string",
      "description": "File with data that needs lookup values"
    },
    "lookupFile": {
      "type": "string",
      "description": "File to lookup values from"
    },
    "lookupColumn": {
      "type": "string",
      "description": "Column name or index to match on"
    },
    "returnColumns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Columns to return from lookup table (empty = all except lookup column)"
    },
    "fuzzyMatch": {
      "type": "boolean",
      "description": "Enable fuzzy string matching for lookups (default: false)"
    },
    "handleErrors": {
      "type": "boolean",
      "description": "Auto-handle #N/A errors with fallbacks (default: true)"
    },
    "sourceSheet": {
      "type": "string",
      "description": "Sheet name for source Excel file (optional)"
    },
    "lookupSheet": {
      "type": "string",
      "description": "Sheet name for lookup Excel file (optional)"
    },
    "outputPath": {
      "type": "string",
      "description": "Output file path for merged lookup result (optional)"
    }
  },
  "required": [
    "sourceFile",
    "lookupFile",
    "lookupColumn"
  ]
}
write_fileWrite data to a new CSV or Excel file (supports multiple sheets for Excel)
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path for the new file (must end with .csv, .xlsx, or .xls)"
    },
    "data": {
      "type": "array",
      "description": "Array of arrays representing rows of data (single sheet mode)",
      "items": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "headers": {
      "type": "array",
      "description": "Optional headers for the first row (single sheet mode)",
      "items": {
        "type": "string"
      }
    },
    "sheet": {
      "type": "string",
      "description": "Sheet name for Excel files (single sheet mode, defaults to \"Sheet1\")"
    },
    "sheets": {
      "type": "array",
      "description": "Array of sheet objects for multi-sheet Excel files",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Sheet name"
          },
          "data": {
            "type": "array",
            "description": "Array of arrays representing rows of data",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "headers": {
            "type": "array",
            "description": "Optional headers for the first row",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "data"
        ]
      }
    }
  },
  "required": [
    "filePath"
  ]
}
write_multi_sheetCreate a complex Excel file with multiple sheets, formulas, and inter-sheet references
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path for the new Excel file (must end with .xlsx or .xls)"
    },
    "sheets": {
      "type": "array",
      "description": "Array of sheet definitions",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Sheet name"
          },
          "data": {
            "type": "array",
            "description": "Array of arrays representing rows of data",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "headers": {
            "type": "array",
            "description": "Optional headers for the first row",
            "items": {
              "type": "string"
            }
          },
          "formulas": {
            "type": "array",
            "description": "Array of formula definitions",
            "items": {
              "type": "object",
              "properties": {
                "cell": {
                  "type": "string",
                  "description": "Cell address in A1 notation (e.g., \"A1\", \"B5\")"
                },
                "formula": {
                  "type": "string",
                  "description": "Excel formula (e.g., \"=SUM(A1:A10)\", \"=Sheet1!A1+Sheet2!B2\")"
                }
              },
              "required": [
                "cell",
                "formula"
              ]
            }
          }
        },
        "required": [
          "name",
          "data"
        ]
      }
    },
    "sheetReferences": {
      "type": "boolean",
      "description": "Enable inter-sheet formula references (default: true)"
    }
  },
  "required": [
    "filePath",
    "sheets"
  ]
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Excel MCP Server questions

How do I install Excel MCP Server?

Install the selected package version with: npm install --save-exact excel-csv-mcp-server@1.0.2

What tools does Excel MCP Server provide?

Excel MCP Server exposed 35 tools during independent protocol observation, including add_sheet, aggregate, ai_provider_status, auto_fit_columns, budget_variance_analysis, bulk_aggregate_multi_files, bulk_filter_multi_files, correlation_analysis, and others.

Is Excel MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.