Skip to main content
Glama
chaworld

vscode-mcp-server

by chaworld

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct action on a specific resource: file operations (create, overwrite, read) and extension operations (install, uninstall, list). The descriptions clearly differentiate create_file from overwrite_file, so there is no ambiguity.

    Naming Consistency4/5

    Tool names follow a consistent verb_noun pattern (create_file, read_file, install_extension, list_extensions). There is a minor inconsistency with 'extension' singular in install/uninstall and 'extensions' plural in list, but the overall pattern is predictable.

    Tool Count5/5

    With 6 tools, the set is well-scoped and each tool earns its place. It covers two distinct functional areas without redundancy, fitting comfortably within the ideal 3-15 range.

    Completeness4/5

    The domain is a VSCode-focused server covering file and extension management. File operations include create, read, and update (via overwrite) but lack a delete operation. Extension management is complete with list, install, and uninstall. This is a minor gap that agents can work around.

  • Average 3.6/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden of behavioral disclosure, but it only states the basic action. It does not disclose idempotency, network requirements, version resolution behavior, or potential side effects, which are important for an installation operation.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence with no redundancy. Every word contributes to conveying the basic purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having an output schema, the description leaves out essential context for a tool with no annotations: success/failure behavior, whether installation is idempotent, potential network dependencies, and how to obtain the extension ID. The description is too thin for a complete tool contract.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has no description for extension_id, and the description's phrase 'by its ID' adds only minimal value beyond what the parameter name already implies. It fails to clarify the expected format, such as publisher.extension naming convention.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states a specific verb ('installs') plus the resource ('VSCode extension') and the key scope ('by its ID'). It naturally distinguishes itself from sibling tools like uninstall_extension and list_extensions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided about when to use this tool versus alternatives such as uninstall_extension or list_extensions. There is also no mention of prerequisites like needing the exact extension ID or checking existing installations.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states a read operation but does not disclose potential errors, encoding, permissions, or side effects. The description adds little beyond the tool's name.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single sentence, front-loaded with the action, with no wasted words. It is appropriately concise and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given an output schema exists and the tool is simple, the description covers the basic purpose but lacks usage and parameter context that would make it fully complete. It is minimally adequate but leaves gaps for an agent selecting among sibling tools.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has a single 'path' parameter with no description, and the tool description does not elaborate on path format, required permissions, or accepted file types. Schema description coverage is 0%, so the description fails to compensate for the missing detail.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Reads') and resource ('file content'), clearly distinguishing it from sibling write-tools like create_file and overwrite_file. It is unambiguous about what the tool does.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided regarding when to use this tool versus alternatives. The description only states what the tool does, leaving the agent to infer context from the name.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects, permission requirements, whether the extension must already be installed, or the outcome of the operation beyond the action itself. For a destructive tool, this is a notable gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that is front-loaded and contains no wasted words. It efficiently conveys the core action and parameter.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple with one parameter and a clear action, so the description covers the basic intent. However, since it is a destructive operation with no annotations or output schema information, additional context such as what happens on success, error cases, or installation prerequisites would make it more complete. The current description is minimally acceptable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema only provides the parameter name 'extension_id' with no description. The description adds that the extension is identified by its ID, which partially clarifies the parameter's semantics, but it does not define the expected format (e.g., 'publisher.name'). With 0% schema coverage, the description provides minimal but useful compensation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action: 'Uninstalls a VSCode extension by its ID.' The verb is specific, the resource is identified, and the input mechanism is noted, distinguishing it from sibling tools like install_extension and list_extensions.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage whenever an extension needs to be removed, but it does not explicitly state when to use it over alternatives or provide any context on prerequisites. No alternatives are mentioned, so the guidance is implied rather than explicit.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description must disclose behavior on its own. It discloses the primary side effect (file creation) and a key edge case (fails if exists), but omits other behavioral traits such as whether parent directories are created, permission requirements, or error handling on partial writes.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences with no filler or repetition. The action verb is front-loaded, and every word contributes meaning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple two-parameter file creation tool with an output schema, the description covers the core purpose and a key failure mode. It is slightly incomplete regarding directory creation or permissions, but these are not critical for basic file creation and the output schema likely covers return values.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema description coverage is 0%, so the description must compensate for parameter meaning. It only indirectly references 'content' and does not explain 'path' format or any constraints. Though parameter names are self-explanatory, the description adds minimal semantic value beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Creates' and names the resource ('a new file') with content. It clearly distinguishes itself from the sibling tool 'overwrite_file' by stating it fails if the file already exists, making the purpose unmistakable.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The failure condition ('Fails if the file already exists') provides implicit guidance to use this tool only for new files and to consider the sibling tool for overwriting. However, it does not explicitly name 'overwrite_file' as an alternative, so it lacks a fully explicit when-not-to-use statement.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description must disclose behavioral traits itself. The verb 'Lists' implies a read-only operation, but the description does not explicitly confirm non-destructiveness, required environment, or output characteristics beyond the listing. It is minimally transparent but adequate for a simple listing tool.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence with no wasted words. It states the action and resource clearly, making it perfectly concise and appropriately sized.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no parameters and an output schema that presumably defines the return structure, the description is complete enough. It clearly indicates what the tool does, and the sibling tool relationship provides additional context for when to use it.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, and the schema is empty with 100% coverage. The description correctly adds no parameter explanation that would be redundant. The baseline for zero parameters is 4, and the description does not need to elaborate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the specific verb 'Lists' and clearly identifies the resource as 'all installed VSCode extensions.' This distinguishes it from sibling tools like install_extension and uninstall_extension, which perform mutations, and read_file, which accesses file content.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide any explicit guidance on when to use this tool versus alternatives. It simply states what it does, leaving the usage context to be inferred. No exclusions or alternative tools are mentioned.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states that the tool overwrites existing content, which is critical destructive behavior. However, it does not mention other important traits such as whether it creates parent directories, preserves permissions, or handles errors, making it minimally transparent but not richly detailed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that is front-loaded with the main action. It contains no wasted words and effectively communicates the tool's purpose and basic behavior.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple with two string parameters and an output schema, so the description does not need to explain return values. It covers the core behavior (overwrite or create) sufficiently. However, it could be more complete by mentioning the distinction from create_file or potential error conditions, but for a tool of this simplicity it is adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has 0% description coverage, so the description must compensate for parameter meaning. The description mentions 'given content' which clearly maps to the 'content' parameter, and 'existing file' implies the 'path' parameter. However, it does not elaborate on path format, encoding, or any constraints, providing only basic clarity beyond the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's action with a specific verb ('overwrites') and resource ('file'), and also indicates it can create a new file. This distinguishes it from sibling tools like create_file because it explicitly covers both overwriting existing files and creating new ones.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear context on when to use the tool: when you need to overwrite an existing file or create a new one. However, it does not explicitly mention alternatives or when not to use it (e.g., when you want to create a file without risking overwriting an existing one, use create_file instead). This lacks explicit exclusion guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

vscode-mcp-server MCP server

Copy to your README.md:

Score Badge

vscode-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chaworld/vscode-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server