mirror of
https://github.com/sbroenne/mcp-server-excel.git
synced 2026-09-19 07:53:08 +08:00
d72d8f8d1b
* chore: remove telemetry diagnostic output
* chore: update packages to .NET 10 and MCP SDK 0.4.1-preview.1
- Microsoft.Extensions.Hosting: 9.0.10 -> 10.0.0
- Microsoft.Extensions.Logging: 9.0.10 -> 10.0.0
- Microsoft.Extensions.Configuration: 9.0.10 -> 10.0.0
- Microsoft.Extensions.DependencyInjection: 9.0.10 -> 10.0.0
- System.Text.Json: 9.0.10 -> 10.0.0
- ModelContextProtocol: 0.4.0-preview.3 -> 0.4.1-preview.1
All packages forward-compatible with .NET 8.0 runtime.
No breaking changes - verified build passes with 0 warnings.
* refactor: migrate MCP tools from [Description] attributes to XML documentation
- Convert all 12 tool files to use XML docs (/// <summary>, /// <param>)
- XML docs processed by MCP SDK's XmlToDescriptionGenerator source generator
- Remove all CA1861 pragma warnings and [SuppressMessage] attributes (not needed)
- Remove dead code: ThrowUnknownAction() and invalid action error handlers
- Add GlobalUsings.cs for Chart and Range namespaces
- Update mcp-server-guide.instructions.md with NO EMOJIS rule
The XmlToDescriptionGenerator converts XML comments to [Description] attributes
at compile time, providing better IDE support and documentation integration.
* feat(mcp): add tool categories and remove outdated LLM guidance
- Add [McpMeta("category", "...")] to all 12 tools for better LLM discovery
- Remove unhelpful LLM guidance (suggestedNextActions, retryGuidance, workflowHint, operationContext)
- Update ExcelResourceProvider to use excel_file sessions
Follows principle: state facts, not guidance - LLMs figure out next steps
* fix: add prominent warning to prevent premature session close
- Update ServerInstructions in Program.cs to explicitly warn LLMs:
- WAIT for ALL pending tool calls before closing
- Closing while operations running causes failures
- Expand excel_file tool description with detailed session lifecycle
- Addresses race condition where close was called during parallel operations
* feat: add showExcel parameter to watch Excel during automation
- Add showExcel parameter to excel_file open action
- When true, Excel window becomes visible during operations
- Perfect for debugging, demos, and learning what AI is doing
Implementation:
- ExcelFileTool: Added showExcel parameter to ExcelFile() and OpenSessionAsync()
- SessionManager: Added showExcel parameter to CreateSession()
- ExcelSession: Added BeginBatch overload with showExcel parameter
- ExcelBatch: Sets Excel.Visible based on showExcel flag
Server instructions:
- Added prominent session close warnings (wait for all operations)
- LLM instructed to proactively offer showExcel for complex tasks
- Example prompt: 'Would you like me to show Excel so you can watch?'
Documentation updated:
- README.md: User-facing section with natural language examples
- FEATURES.md: Added to File Operations section
- INSTALLATION.md: Added tip after test installation step
- gh-pages/index.md: Added tip to Interactive Development feature
- McpServer README: Added to AI-Powered Workflows list
- VS Code extension copilot-instructions.md: LLM guidance
44 lines
2.7 KiB
XML
44 lines
2.7 KiB
XML
<Project>
|
|
<!-- Central Package Management for consistent versions across solution -->
|
|
<PropertyGroup>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageVersion Include="Microsoft.AnalysisServices" Version="19.106.1" />
|
|
<!-- UI Framework -->
|
|
<PackageVersion Include="Spectre.Console" Version="0.54.0" />
|
|
<PackageVersion Include="Spectre.Console.Cli" Version="0.53.1" />
|
|
<!-- Microsoft Extensions for MCP Server -->
|
|
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
|
|
<!-- Application Insights Worker Service SDK for telemetry (Users, Sessions, Funnels, User Flows) -->
|
|
<!-- Worker Service SDK provides proper DI integration, auto-collection modules, and host lifetime awareness -->
|
|
<PackageVersion Include="Microsoft.ApplicationInsights.WorkerService" Version="2.23.0" />
|
|
<!-- Base SDK needed for tests that directly use TelemetryClient -->
|
|
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.23.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.Resilience" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
|
|
<PackageVersion Include="Microsoft.Extensions.ObjectPool" Version="10.0.0" />
|
|
<PackageVersion Include="System.Text.Json" Version="10.0.0" />
|
|
<!-- NuGet API Client -->
|
|
<PackageVersion Include="NuGet.Protocol" Version="6.12.1" />
|
|
<PackageVersion Include="NuGet.Versioning" Version="6.12.1" />
|
|
<!-- MCP SDK -->
|
|
<PackageVersion Include="ModelContextProtocol" Version="0.4.1-preview.1" />
|
|
<!-- Testing Framework -->
|
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
|
|
<PackageVersion Include="System.Net.Http" Version="4.3.5" />
|
|
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.2" />
|
|
<PackageVersion Include="xunit" Version="2.9.3" />
|
|
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
|
|
<PackageVersion Include="coverlet.collector" Version="6.1.0" />
|
|
<PackageVersion Include="MartinCostello.Logging.XUnit" Version="0.7.0" />
|
|
<!-- Code Analysis and Security -->
|
|
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.5" />
|
|
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="10.0.100" />
|
|
</ItemGroup>
|
|
</Project>
|