Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e551a8b
feat: improve test coverage and fix COM resource leaks
trsdn Mar 4, 2026
776bb67
docs: update README from Excel to PowerPoint
trsdn Mar 4, 2026
8b46f5b
docs: update all instruction files from Excel to PowerPoint
trsdn Mar 4, 2026
491b108
feat: add 6 new PowerPoint tools + rename instruction files
trsdn Mar 4, 2026
ad915ff
feat: add 4 more PowerPoint tools (CustomShow, PageSetup, SlideImport…
trsdn Mar 4, 2026
a122b82
feat: add shape copy/shadow/connector/merge + video export
trsdn Mar 4, 2026
f96a0e3
feat: add print, color schemes - complete all PowerPoint COM features
trsdn Mar 4, 2026
43bf701
docs: replace all Excel references with PowerPoint across codebase
trsdn Mar 4, 2026
7b244c1
docs: replace Excel→PowerPoint in docs/, skills/, CHANGELOG.md
trsdn Mar 4, 2026
bd2b8e5
docs: fix remaining Excel→PowerPoint in templates, privacy, security,…
trsdn Mar 4, 2026
fa6868f
docs: rewrite CHANGELOG.md from scratch for PowerPoint MCP
trsdn Mar 4, 2026
f782448
feat: add shape duplicate, save-as, background image + cleanup stale …
trsdn Mar 4, 2026
f9b1288
feat: add 5 new operations + delete Excel-only stale content
trsdn Mar 4, 2026
d83f021
chore: remove specs/ and gh-pages/ directories
trsdn Mar 4, 2026
7e02529
chore: fix last Excel references (variables, configs, docs)
trsdn Mar 4, 2026
2ac49d6
refactor: rename last Excel identifiers in code
trsdn Mar 4, 2026
2aee3d3
refactor: rename Excel variables in test files
trsdn Mar 4, 2026
07dc2db
docs: fix operation counts to 125 across README, FEATURES, CHANGELOG
trsdn Mar 4, 2026
cb5fa6a
feat: add text format-advanced, table format-cell, custom doc propert…
trsdn Mar 4, 2026
1501846
docs: fix Excel code examples in instructions and templates
trsdn Mar 4, 2026
afcc2b4
fix: resolve issues #1-#4, #11 + deep audit fixes
trsdn Mar 4, 2026
e292a14
fix: resolve issues #13-#20 (workflows, icon, extension, templates, L…
trsdn Mar 4, 2026
920d191
fix: fix CLI csproj skill output path excel-cli → ppt-cli
trsdn Mar 4, 2026
c0afb37
feat: implement issues #7-#10, #12 (text audit, hyperlink validate, c…
trsdn Mar 4, 2026
040c1ba
feat: implement issues #5 #6 (chart data editing, placeholder image r…
trsdn Mar 4, 2026
43f572f
fix: resolve issues #21-#27 (critical csproj, Bicep, scripts, feature…
trsdn Mar 4, 2026
2d43564
chore: add Torsten Mahr copyright for fork modifications
trsdn Mar 4, 2026
a4baa25
feat: fix bugs #30-#32, implement features #28 #33-#37
trsdn Mar 4, 2026
3ebe2cb
feat: implement 7 more operations + fix counts to 150
trsdn Mar 4, 2026
0b0e525
feat: cycles 5-9 — fix bugs, add 6 features, update counts to 156
trsdn Mar 4, 2026
d5ec978
feat: cycles 1-7 — add Accessibility + Proofing tools, rewrite LLM tests
trsdn Mar 4, 2026
a02529f
feat: implement #41-#45 (shape find, view mode, format painter, image…
trsdn Mar 4, 2026
9ab468d
feat: final 3 features + last stale fixes
trsdn Mar 4, 2026
3db62f5
chore: remove Stefan's old planning artifacts + fix mcpb
trsdn Mar 4, 2026
70adbc6
Remove Application Insights telemetry — zero logging policy
trsdn Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ dotnet_diagnostic.CA1707.severity = suggestion
# ===========================

# Core layer: treat warnings as errors (all warnings fixed)
[src/ExcelMcp.Core/**/*.cs]
[src/PptMcp.Core/**/*.cs]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = error
dotnet_analyzer_diagnostic.category-Design.severity = warning # API design changes require careful planning
dotnet_analyzer_diagnostic.category-Performance.severity = error
Expand All @@ -116,22 +116,22 @@ dotnet_diagnostic.IDE0072.severity = suggestion # Populate switch
dotnet_diagnostic.IDE0018.severity = suggestion # Variable declaration inlining

# CLI layer: Some ToString warnings remain - treat most as errors
[src/ExcelMcp.CLI/**/*.cs]
[src/PptMcp.CLI/**/*.cs]
dotnet_analyzer_diagnostic.category-Globalization.severity = error
dotnet_analyzer_diagnostic.category-Performance.severity = error
dotnet_diagnostic.CA1305.severity = warning # ToString culture warnings in display layer (acceptable for CLI)
dotnet_diagnostic.CA1311.severity = warning # ToLower warnings in display layer (acceptable for CLI)
dotnet_diagnostic.CA1304.severity = warning # Culture warnings in display layer (acceptable for CLI)

# MCP Server layer: Additional warnings to fix in follow-up
[src/ExcelMcp.McpServer/**/*.cs]
[src/PptMcp.McpServer/**/*.cs]
dotnet_diagnostic.CA1861.severity = warning # Static readonly arrays - low risk, fix in follow-up
dotnet_diagnostic.CA1866.severity = warning # String.StartsWith(char) - performance optimization
dotnet_diagnostic.CA1310.severity = warning # StartsWith StringComparison - low risk in prompts
dotnet_diagnostic.CA1869.severity = warning # JsonSerializerOptions caching - fix in follow-up

# ComInterop layer: Windows-only, platform warnings expected
[src/ExcelMcp.ComInterop/**/*.cs]
[src/PptMcp.ComInterop/**/*.cs]
dotnet_diagnostic.CA1416.severity = suggestion # Platform-specific APIs expected (Windows-only library)


4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
# Binary files
*.dll binary
*.exe binary
*.xlsx binary
*.xlsm binary
*.pptx binary
*.pptm binary
*.png binary
*.jpg binary
*.jpeg binary
Expand Down
72 changes: 36 additions & 36 deletions .github/ISSUE_TEMPLATE/breaking-changes-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ Implement breaking changes from `MCP-BREAKING-CHANGES-PROPOSAL.md` before the 1.

## Objectives

Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes without affecting users. This is a **golden opportunity** to improve the API before 1.0.
Since PptMcp MCP Server hasn't been released yet, we can make breaking changes without affecting users. This is a **golden opportunity** to improve the API before 1.0.

### Key Changes

1. **Better Terminology**: `batchId` → `sessionId` (clearer intent)
2. **Consistent Naming**: `excelPath` → `filePath`, `sheetName` → `worksheetName`
2. **Consistent Naming**: `presentationPath` → `filePath`, `slideIndex` parameter changes
3. **Standardized Errors**: Error codes and structured error responses
4. **Cleaner Code**: Remove redundant validation attributes
5. **Richer Responses**: Add metadata to all tool outputs
Expand All @@ -34,12 +34,12 @@ Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes

- [ ] Rename `BatchSessionTool.cs` → `SessionTool.cs`
- [ ] Rename tools:
- `begin_excel_batch` → `begin_excel_session`
- `commit_excel_batch` → `end_excel_session`
- `list_excel_batches` → `list_excel_sessions`
- `begin_ppt_batch` → `begin_ppt_session`
- `commit_ppt_batch` → `end_ppt_session`
- `list_ppt_batches` → `list_ppt_sessions`
- [ ] Update all `batchId` parameters to `sessionId` in:
- All 9 tool files in `src/ExcelMcp.McpServer/Tools/`
- `ExcelToolsBase.cs`
- All 9 tool files in `src/PptMcp.McpServer/Tools/`
- `PptToolsBase.cs`
- All prompt files (4 files)
- [ ] Update documentation:
- `BATCH-SESSION-GUIDE.md` → `SESSION-GUIDE.md`
Expand All @@ -49,47 +49,47 @@ Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes
- [ ] Update tests (all files referencing batchId)
- [ ] Update Program.cs cleanup handler

#### 1.2 excelPath → filePath
#### 1.2 presentationPath → filePath
**Affected files**: 16 C# files

- [ ] Update all tool files:
- `ExcelPowerQueryTool.cs`
- `ExcelWorksheetTool.cs`
- `ExcelParameterTool.cs`
- `ExcelCellTool.cs`
- `ExcelVbaTool.cs`
- `ExcelConnectionTool.cs`
- `ExcelDataModelTool.cs`
- `ExcelFileTool.cs`
- `HyperlinkTool.cs`
- `TableTool.cs`
- `PptSlideTool.cs`
- `PptShapeTool.cs`
- `PptTextTool.cs`
- `PptChartTool.cs`
- `PptVbaTool.cs`
- `PptAnimationTool.cs`
- `PptTransitionTool.cs`
- `PptFileTool.cs`
- `PptNotesTool.cs`
- `PptMediaTool.cs`
- [ ] Update all Core command interfaces
- [ ] Update all Core command implementations
- [ ] Update all tests
- [ ] Update all prompt content and documentation

#### 1.3 sheetName → worksheetName
#### 1.3 slideIndex parameter changes
**Affected files**: ~5 files

- [ ] `ExcelWorksheetTool.cs`
- [ ] Worksheet Core commands
- [ ] `PptSlideTool.cs`
- [ ] Slide Core commands
- [ ] Related tests
- [ ] Prompt content
- [ ] Documentation

### Phase 2: Error Response Standardization (1-2 days)

#### 2.1 Define Error Codes
- [ ] Create `src/ExcelMcp.Core/Models/ErrorCodes.cs`
- [ ] Create `src/PptMcp.Core/Models/ErrorCodes.cs`
- [ ] Define standard error codes:
```csharp
FILE_NOT_FOUND
QUERY_NOT_FOUND
WORKSHEET_NOT_FOUND
INVALID_M_CODE
PRIVACY_LEVEL_REQUIRED
SLIDE_NOT_FOUND
SHAPE_NOT_FOUND
INVALID_PARAMETER
ANIMATION_ERROR
VBA_TRUST_REQUIRED
EXCEL_BUSY
POWERPOINT_BUSY
SESSION_NOT_FOUND
SESSION_FILE_MISMATCH
```
Expand All @@ -100,11 +100,11 @@ Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes
{
"success": false,
"error": {
"code": "QUERY_NOT_FOUND",
"message": "Power Query 'SalesData' not found",
"code": "SLIDE_NOT_FOUND",
"message": "Slide 'Intro' not found",
"details": {
"queryName": "SalesData",
"availableQueries": ["Data1", "Data2"]
"slideName": "Intro",
"availableSlides": ["Slide1", "Slide2"]
}
}
}
Expand Down Expand Up @@ -183,8 +183,8 @@ Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes
## Files Affected

**C# Files**: ~30 files
- 9 tool files in `src/ExcelMcp.McpServer/Tools/`
- 4 prompt files in `src/ExcelMcp.McpServer/Prompts/`
- 9 tool files in `src/PptMcp.McpServer/Tools/`
- 4 prompt files in `src/PptMcp.McpServer/Prompts/`
- 1 Program.cs
- ~10 Core command files
- ~10 test files
Expand All @@ -201,8 +201,8 @@ Since ExcelMcp MCP Server hasn't been released yet, we can make breaking changes
## Success Criteria

- [ ] All `batchId` references changed to `sessionId`
- [ ] All `excelPath` references changed to `filePath`
- [ ] All `sheetName` references changed to `worksheetName`
- [ ] All `presentationPath` references changed to `filePath`
- [ ] All `slideIndex` references updated consistently
- [ ] Error response format standardized with error codes
- [ ] Validation attributes cleaned up
- [ ] Rich metadata added to all responses
Expand Down Expand Up @@ -233,7 +233,7 @@ git checkout -b feature/breaking-changes-pre-1.0
git commit -m "Phase 1.1: Rename batchId to sessionId"
# Test
# Implement Phase 1.2
git commit -m "Phase 1.2: Rename excelPath to filePath"
git commit -m "Phase 1.2: Rename presentationPath to filePath"
# Continue...
```

Expand Down
30 changes: 15 additions & 15 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bug Report
about: Create a report to help us improve ExcelMcp
about: Create a report to help us improve PptMcp
title: '[BUG] '
labels: 'bug'
assignees: ''
Expand All @@ -12,19 +12,19 @@ A clear and concise description of what the bug is.

## Component
Which component is this bug related to?
- [ ] **MCP Server** (Model Context Protocol server for AI assistants - `mcp-excel`)
- [ ] **CLI** (Command-line interface - `ExcelMcp.exe`)
- [ ] **MCP Server** (Model Context Protocol server for AI assistants - `mcp-ppt`)
- [ ] **CLI** (Command-line interface - `PptMcp.exe`)
- [ ] **Core Library** (Shared functionality)
- [ ] **Not sure**

## Command/Usage
**For CLI:**
```
ExcelMcp <command> <arguments>
PptMcp <command> <arguments>
```

**For MCP Server:**
- Tool name: [e.g., powerquery, worksheet, etc.]
- Tool name: [e.g., slide, shape, text, chart, etc.]
- Action: [e.g., list, view, import, etc.]
- Parameters used: [describe what was passed]

Expand All @@ -42,21 +42,21 @@ If applicable, paste the full error message:

## Environment
- **Windows Version**: [e.g. Windows 11, Windows 10]
- **Excel Version**: [e.g. Excel 365, Excel 2019]
- **ExcelMcp Version**: [e.g. v1.0.0]
- **PowerPoint Version**: [e.g. PowerPoint 365, PowerPoint 2019]
- **PptMcp Version**: [e.g. v1.0.0]
- **.NET Version**: [Run `dotnet --version`]
- **Installation Method**: [NuGet tool / Binary download / Source build]
- **File Format**: [e.g. .xlsx, .xlsm]
- **File Format**: [e.g. .pptx, .pptm]
- **VBA Trust Enabled**: [Yes/No - if VBA-related issue]
- **AI Assistant** (if using MCP Server): [e.g., GitHub Copilot, Claude Desktop, ChatGPT, etc.]

## Sample File
If possible, attach a sample Excel file that reproduces the issue (remove sensitive data).
If possible, attach a sample PowerPoint file that reproduces the issue (remove sensitive data).

## VBA-Related Issues (if applicable)
- [ ] VBA trust is properly configured (`ExcelMcp check-vba-trust`)
- [ ] Using .xlsm file format for VBA commands
- [ ] VBA module exists in the workbook
- [ ] VBA trust is properly configured (`PptMcp check-vba-trust`)
- [ ] Using .pptm file format for VBA commands
- [ ] VBA module exists in the presentation
- [ ] Macro security settings allow programmatic access

## Steps to Reproduce
Expand All @@ -68,7 +68,7 @@ If possible, attach a sample Excel file that reproduces the issue (remove sensit
## Additional Context
Add any other context about the problem here.

## Excel Process Cleanup
- [ ] Excel processes clean up properly after the command
- [ ] Excel processes remain running (this is part of the bug)
## PowerPoint Process Cleanup
- [ ] PowerPoint processes clean up properly after the command
- [ ] PowerPoint processes remain running (this is part of the bug)
- [ ] Not applicable/unsure
30 changes: 14 additions & 16 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature Request
about: Suggest an idea for ExcelMcp
about: Suggest an idea for PptMcp
title: '[FEATURE] '
labels: 'enhancement'
assignees: ''
Expand All @@ -25,11 +25,11 @@ A clear and concise description of what you want to happen.

**For CLI:**
```bash
ExcelMcp new-command <file.xlsx> <parameters>
PptMcp new-command <file.pptx> <parameters>
```

**For MCP Server:**
- Tool: [e.g., powerquery, worksheet, vba]
- Tool: [e.g., slide, shape, text, vba]
- Action: [e.g., new-action]
- Parameters: [describe expected parameters]

Expand All @@ -38,32 +38,30 @@ A clear and concise description of any alternative solutions or features you've

## Use Case
Describe the specific use case this feature would address:
- [ ] Power Query management
- [ ] VBA script automation
- [ ] Worksheet operations
- [ ] Slide operations
- [ ] Data analysis
- [ ] Coding agent automation
- [ ] Macro-enabled workbook (.xlsm) operations
- [ ] Macro-enabled presentation (.pptm) operations
- [ ] Other: [please specify]

## Target Users
Who would benefit from this feature?
- [ ] **AI Assistants** (GitHub Copilot, Claude, ChatGPT via MCP Server)
- [ ] **Direct CLI Users** (Command-line automation)
- [ ] **CI/CD Pipelines** (Automated Excel development workflows)
- [ ] **Excel Developers** (Power Query, VBA development)
- [ ] **CI/CD Pipelines** (Automated PowerPoint development workflows)
- [ ] **PowerPoint Developers** (VBA development)
- [ ] **Data Engineers** (ETL workflows)
- [ ] Other: [please specify]

## Excel Operations Involved
What Excel APIs or operations would this feature likely use?
- [ ] Power Query (Workbook.Queries)
- [ ] Worksheets (Worksheet operations)
- [ ] Named Ranges (Workbook.Names)
- [ ] Charts/PivotTables
## PowerPoint Operations Involved
What PowerPoint APIs or operations would this feature likely use?
- [ ] Slides (Slide operations)
- [ ] Shapes (Shape operations)
- [ ] Charts
- [ ] VBA/Macros (VBProject.VBComponents)
- [ ] External connections
- [ ] Macro-enabled workbooks (.xlsm)
- [ ] Animations/Transitions
- [ ] Macro-enabled presentations (.pptm)
- [ ] Other: [please specify]

## Additional context
Expand Down
Loading
Loading