Problem
The MssqlMcp .NET server has incorrect tool tags that misrepresent the nature of operations:
Current (incorrect) behavior:
ListTables is tagged as destructive
CreateTable is tagged as read-only
DescribeTable is tagged as read-only ✓ (correct)
Expected behavior:
ListTables should be tagged as read-only (it only queries metadata via INFORMATION_SCHEMA or sys tables)
CreateTable should be tagged as destructive or write (it modifies database schema)
- Other write operations (
InsertData, UpdateData, DropTable) should also be reviewed for correct tagging
Impact
This causes user confusion and may trigger unnecessary confirmations for safe read operations while failing to warn about actual schema modifications.
Environment
- MssqlMcp version: Built from main branch (dotnet implementation)
- .NET 8.0
- MCP SDK: Official C# SDK
Steps to Reproduce
- Configure MssqlMcp server in Claude Desktop or VS Code
- View available tools
- Observe incorrect tags on
ListTables (destructive) and CreateTable (read-only)
Additional Context
The tool tags appear to be swapped or misconfigured in the tool definitions. ListTables performs a SELECT query on database metadata and should be completely safe/read-only.