mirror of
https://github.com/sbroenne/mcp-server-excel.git
synced 2026-09-19 07:53:08 +08:00
0bb29be3be
* Fix #279: Power Query lifecycle cleanup for Data Model connections BREAKING CHANGES: - Unload now removes Data Model connections (not just worksheet tables) - Delete now removes Data Model connections (prevents orphan connections) IMPROVEMENTS: - List correctly reports IsConnectionOnly for Data Model-only queries - Update uses connection.Refresh() fallback for Data Model-only queries (no worksheet table to refresh) NEW TESTS: - PowerQueryCommandsTests.LifecycleCleanup.cs: 8 tests for Issue #279 - PowerQueryCommandsTests.UpdateErrors.cs: 3 tests for error handling - DataModelComApiBehaviorTests.cs: 11 diagnostic scenarios - PowerQueryComApiBehaviorTests.cs: 15 diagnostic scenarios DOCUMENTATION: - docs/COM-API-BEHAVIOR-FINDINGS.md: Empirical COM API behavior findings - excel_powerquery.md: Updated prompt docs for Data Model cleanup DELETED: - PowerQueryCommandsTests.ErrorQueries.cs: Referenced non-existent local file All 53 PowerQuery and DataModel tests pass. * fix: Use locale-aware format translation instead of global Excel settings - Renamed DateFormatTranslator to NumberFormatTranslator - Extended translator to handle decimal/thousands separators (. and ,) - Removed global UseSystemSeparators/DecimalSeparator/ThousandsSeparator settings from ExcelSession and ExcelBatch (these modified Excel app defaults) - Added IsEnglishNumberLocale property to detect US-style number separators - Format codes are now translated at point of use, not by changing app defaults - Updated all references from DateFormatter to FormatTranslator - Removed unused WithUSFormatSeparators helper from RangeCommands This approach translates US format codes (like $#,##0.00) to locale-specific codes (like $#.##0,00 on German Excel) without modifying Excel's global settings. Previous approach of changing Application.DecimalSeparator affected all workbooks in the Excel instance, which is not desirable. * feat: DAX formula locale handling for European locales (#281) - Add DaxFormulaTranslator to convert US comma separators to semicolons on European locales - Integrate translator in CreateMeasure and UpdateMeasure operations - Power Pivot uses system culture (CultureInfo.CurrentCulture), not Excel International settings - Preserve commas inside string literals and column references - Add 5 integration tests for DAX locale translation
92 lines
2.2 KiB
JSON
92 lines
2.2 KiB
JSON
{
|
|
"name": "excel-mcp",
|
|
"displayName": "Excel MCP Server",
|
|
"description": "Excel automation for AI assistants - manage Sheets, Power Query, DAX, VBA, PowerPivot, Tables, Ranges, Charts, Formatting, Validation & more - requires Excel to be installed",
|
|
"version": "1.1.3",
|
|
"publisher": "sbroenne",
|
|
"icon": "icon.png",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/sbroenne/mcp-server-excel"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/sbroenne/mcp-server-excel/issues"
|
|
},
|
|
"homepage": "https://excelmcpserver.dev/",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"vscode": "^1.106.0"
|
|
},
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"categories": [
|
|
"AI",
|
|
"Chat",
|
|
"Data Science"
|
|
],
|
|
"keywords": [
|
|
"mcp",
|
|
"model context protocol",
|
|
"excel",
|
|
"microsoft",
|
|
"office",
|
|
"spreadsheet",
|
|
"automation",
|
|
"power query",
|
|
"m language",
|
|
"dax",
|
|
"data model",
|
|
"power pivot",
|
|
"vba",
|
|
"macro",
|
|
"table",
|
|
"copilot",
|
|
"ai",
|
|
"github copilot",
|
|
"data analysis"
|
|
],
|
|
"activationEvents": [
|
|
"onStartupFinished"
|
|
],
|
|
"extensionDependencies": [
|
|
"ms-dotnettools.vscode-dotnet-runtime"
|
|
],
|
|
"main": "./out/extension.js",
|
|
"files": [
|
|
"out/**",
|
|
"bin/**",
|
|
"README.md",
|
|
"CHANGELOG.md",
|
|
"LICENSE",
|
|
"icon.png"
|
|
],
|
|
"contributes": {
|
|
"mcpServerDefinitionProviders": [
|
|
{
|
|
"id": "excel-mcp",
|
|
"label": "Excel MCP"
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"clean": "cd .. && dotnet clean src/ExcelMcp.McpServer/ExcelMcp.McpServer.csproj -c Release",
|
|
"build:mcp-server": "npm run clean && cd .. && dotnet publish src/ExcelMcp.McpServer/ExcelMcp.McpServer.csproj -c Release --no-self-contained -o vscode-extension/bin --verbosity minimal",
|
|
"vscode:prepublish": "npm run build:mcp-server && npm run compile",
|
|
"compile": "tsc -p ./",
|
|
"watch": "tsc -watch -p ./",
|
|
"package": "npm run build:mcp-server && vsce package",
|
|
"lint": "eslint src --ext ts"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.19.1",
|
|
"@types/vscode": "^1.106.1",
|
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
"@typescript-eslint/parser": "^8.46.2",
|
|
"@vscode/vsce": "^3.7.1",
|
|
"eslint": "^9.39.1",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.48.0"
|
|
}
|
|
}
|