Skip to content

[FEATURE] GAP-096: VS Code workspaceStorage MCP profile discovery #294

@hello-args

Description

@hello-args

Summary

Discover MCP configs under VS Code workspaceStorage and user profiles (GAP-096).

Problem

GAP-096 is Missing (P0). Inventory only checks well-known static paths in client_registry.py.

Related gap (validated 2026-06-17): --config-path on a VS Code settings.json file that uses the mcp.servers shape returns zero entries because parse_config_file("user", path) only applies the VS Code extractor when client == "vscode". Explicit --config-path hardcodes client label "user". Standard mcpServers JSON works; VS Code nested settings format does not.

Expected Behavior

  1. Expand auto-discovery to workspaceStorage / profiles per plan.
  2. When --config-path points at a VS Code settings file, detect mcp.servers (and other known shapes) from payload structure, not only from client registry label.

Evidence

  • src/mcts/inventory/discoverers.py_extract_mcp_servers, parse_config_file
  • src/mcts/inventory/runner.pyconfig_path branch uses parse_config_file("user", path)

References

Acceptance Criteria

  • workspaceStorage / profile discovery paths added and tested
  • --config-path parses VS Code mcp.servers settings files
  • Documented in docs/scanning/inventory.md

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions