Exposes VSCode's semantic code understanding capabilities via MCP
Strong tool coverage (28 tools) with consistent naming patterns (verb_noun) and complete input schemas. All tools have descriptions and properly typed parameters. However, descriptions are often terse (avg ~60 chars, below the 194-char baseline), lack WHEN-to-use guidance, and output schemas are not documented. Error handling is present but generic. Missing tool annotations (readOnlyHint, destructiveHint) for 27 of 28 tools despite clear risk classifications. No pagination support documented for list-returning tools. Parameter descriptions lack format/constraint details (e.g., 'uri' accepts 'File URI or absolute file path' but doesn't specify which is preferred or how they're resolved).
Apply a code action (quick fix or refactoring) to a range
Get incoming and outgoing calls for a function or method
Get diagnostic problems (errors, warnings) for a file or the entire workspace
Get all symbols (functions, classes, variables) in a document
Find all references to a symbol at a specific position
Format a document using the configured formatter
Format a specific range in a document
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields. Tools like document_symbols, workspace_symbols, find_references, and diagnostics return complex nested structures with no schema specification.
Descriptions lack WHEN-to-use guidance and are below baseline (avg ~60 chars vs 194-char baseline). E.g., 'Get all symbols (functions, classes, variables) in a document' doesn't explain when to call document_symbols vs workspace_symbols or what the LLM should do with results.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Get available code actions (quick fixes, refactorings) for a range
Get code lens information (reference counts, test status, etc.) for a document
Get code completion suggestions at a position (IntelliSense)
Get color information from a document (CSS colors, theme colors, etc.)
Get all occurrences of a symbol at a position within the document
Get clickable links (URLs, file paths) found in a document
Get collapsible regions (functions, classes, blocks) in a document
Get inline parameter names and type hints for a range
Get the currently open workspace folder(s)
Get semantic selection ranges (expand/shrink selection by syntax nodes)
Get detailed semantic token information (types, modifiers) for syntax understanding
Get function signature and parameter information at a position
Get type hierarchy (supertypes/inheritance or subtypes/implementations)
Find the definition of a symbol at a specific position
Get hover information (type, documentation) for a position
Open a workspace folder in VSCode
Organize and sort imports in a document
Rename a symbol across the workspace
Search for files in the workspace using glob patterns
Search for text or regex patterns across the workspace (like Ctrl+Shift+F)
Search for symbols across the entire workspace
Tool annotations missing. 27 of 28 tools lack readOnlyHint, destructiveHint, or idempotentHint despite clear risk classifications (WRITE vs READ_ONLY). Agents cannot determine which tools are safe to retry or have side effects.
Parameter descriptions lack format/constraint details. 'uri' parameter accepts 'File URI or absolute file path' but doesn't specify which is preferred, how they're resolved, or whether both are always valid. 'query' in workspace_symbols lacks pattern guidance.
No pagination support documented for list-returning tools (document_symbols, workspace_symbols, find_references, get_completions, get_code_actions). Large results could exhaust context window without limit/offset parameters.