Public leaderboard

Public assessment

juehang/vscode-mcp-server (vscode-mcp-server)

vscode-mcp-server · v1.0.0 · scanned

What changed in the harness

Selection accuracy 100→98, token cost up 5%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

27.1 / 30

27.1 out of 30
03Economics

19.9 / 20

19.9 out of 20
04Discoverability

10.4 / 20

10.4 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

7 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
create_diff
no_return_description
Modify an existing file by showing a diff and getting user approval before applying the changes. Returns the diff result and whether the user approved and the changes were applied. Use only on existing files; do not use for new files.
open_file
no_return_description
Open a file in the VS Code editor so the user can see it. Use this after creating a brand new file or after applying changes with create_diff. Returns confirmation that the file was opened and revealed in the editor.
open_project
no_return_description
Open a project folder in VS Code so the AI agent's current active working directory is set and visible. Call this as soon as a new session begins. Returns confirmation that the project was opened.
check_extension_status
no_return_description
Check whether the VS Code MCP Extension is installed and responding. Returns the extension's status, indicating whether it is installed and reachable, so you can decide whether retries or setup are needed.
get_extension_port
name_restates_behavior no_return_description
Return the TCP port number that the VS Code MCP Extension is running on, so the AI agent can connect to it directly. Use after verifying the extension is installed and responding.
list_available_projects
no_return_description
List all available projects from the port registry file so the user can choose which project to work with. Returns the set of registered projects, including their identifiers and port information.
get_context_tabs
no_return_description
Retrieve information about tabs that have been specifically marked for AI context inclusion using the VS Code UI toggle. Returns the marked tabs, optionally including their file content or the specified line ranges, so the agent can use only the relevant context.

Selection evidence

Confusable tool pairs.

4 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
get_active_tabs get_context_tabs high Both descriptions frame themselves as retrieving tab info 'to provide context for the AI agent'; a task like 'get the tabs for my context' or 'which tabs are active for AI context' could select get_active_tabs even when the user means specifically marked context tabs.
check_extension_status get_extension_port medium A task like 'check the MCP extension' or 'make sure the extension is running/responding' overlaps both; diagnosing a connection issue could plausibly route to get_extension_port (port info) instead of check_extension_status, since both only share the notion of checking the extension.
open_file open_project low Descriptions clearly separate opening a file vs. a project folder, but a task like 'open the project file in VS Code' or 'open up what we're working on' could land on the wrong one since both start with the same purpose verb.
open_project list_available_projects low A task like 'open a project' without a specific path might cause selection of open_project over listing options first, or 'show me projects to open' could pick open_project; the overlap is mostly the word 'project' and the shared setup/selection workflow.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard