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.2npx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcp-servernpx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcpEnables 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
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
Version 1.0.2 declares 2 executable entrypoints.
npm install --save-exact excel-csv-mcp-server@1.0.2npx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcp-servernpx -y -p excel-csv-mcp-server@1.0.2 excel-csv-mcp| Canonical slug | excel-mcp-server-2952521a | Deployment | Local Only |
|---|---|---|---|
| Canonical package | npm:excel-csv-mcp-server | Repository | ishayoyo/excel-mcp |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| npm | excel-csv-mcp-server | 1.0.2 | 3 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| npmexcel-csv-mcp-server | 1.0.2Current | Sep 5, 2026 | 35 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
add_sheetAdd a new sheet to an existing Excel fileInput 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 columnInput 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 providersInput schema{
"type": "object",
"properties": {}
} | — | — | |
auto_fit_columnsAutomatically adjust column widths to fit content in Excel filesInput 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 calculationsInput 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 parallelInput 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 exportInput 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 columnsInput 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 issuesInput 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 columnsInput 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 evaluationInput 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 contextInput 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 EnglishInput 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 fileInput 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 valuesInput 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 strategiesInput 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 notationInput 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 recommendationsInput 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 fileInput 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 cellsInput 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 commandInput 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 aggregationInput 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 benchmarksInput 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 filesInput 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 limitsInput 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 assumptionsInput 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 valueInput 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 dataInput 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 columnInput 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 dataInput 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 filesInput 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 matchingInput 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 referencesInput 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"
]
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Install the selected package version with: npm install --save-exact excel-csv-mcp-server@1.0.2
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.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.