npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@al3xisdani3l/smart-vs-mcp

v1.0.11

Published

Workspace-aware stdio wrapper for Visual Studio MCP HTTP endpoints

Readme

smart-vs-mcp

Workspace-aware stdio wrapper for Visual Studio MCP HTTP endpoints.

Goal

MCP clients can use one global server command instead of hardcoding a Visual Studio MCP port:

[mcp_servers.vs-mcp-smart]
type = "stdio"
command = "smart-vs-mcp"

The wrapper resolves the current workspace, reads that workspace's VS-MCP settings, then proxies MCP traffic to the right endpoint.

Workspace Settings

Lookup order:

  1. <workspace>/.mcp/mcpserver.settings.json
  2. <workspace>/.mcpserver.settings.json
  3. %LOCALAPPDATA%/MsvcInfo/mcpserver.settings.json
  4. SMART_VS_MCP_CONFIG (env var)
  5. %USERPROFILE%/.smart-vs-mcp/mcpserver.settings.json (legacy fallback)

Example:

{
  "port": 3011,
  "host": "localhost",
  "scheme": "http",
  "sdkPath": "/sdk/",
  "defaultPathFormat": "Windows",
  "autoStart": false
}

Commands

smart-vs-mcp
smart-vs-mcp doctor --workspace C:\Repos\SILT
smart-vs-mcp status --workspace C:\Repos\SILT
smart-vs-mcp list --workspace C:\Repos
smart-vs-mcp scan --workspace C:\Repos

Default command starts stdio MCP proxy. Diagnostics write human-readable output to stdout only for diagnostic commands. Proxy mode writes diagnostics to stderr so stdout stays valid MCP stdio.

Development

npm install
npm run typecheck
npm test
npm run build

Plugin Package

This repository is prepared as a multi-client plugin package, following the same broad structure used by obra/superpowers:

.codex-plugin/plugin.json
.claude-plugin/plugin.json
.cursor-plugin/plugin.json
gemini-extension.json
hooks/
skills/

The included smart-vs-mcp skill explains setup, client configuration, workspace settings, and troubleshooting.

Client Installation

Choose your installation method:

For troubleshooting Codex plugin marketplace issues, see Installing smart-vs-mcp for Codex CLI.

npm

Install globally:

npm install -g @al3xisdani3l/smart-vs-mcp

Or run without global install:

npx -y @al3xisdani3l/smart-vs-mcp doctor --workspace C:\Repos\SILT

skillfish

Install the skill files:

npx skillfish add Al3xisDani3l/smart-vs-mcp --all

Submit/update discovery:

npx skillfish submit Al3xisDani3l/smart-vs-mcp -y

Codex App / Codex CLI

Install as a Codex plugin:

codex plugin marketplace add Al3xisDani3l/smart-vs-mcp
codex plugin add smart-vs-mcp

⚠️ Note: In codex plugin add, @ separates plugin name from marketplace name, not npm version tags. Example: codex plugin add smart-vs-mcp@marketplace-name. The marketplace must be pre-registered via codex plugin marketplace add. If installing a specific branch, add it when registering the marketplace: codex plugin marketplace add Al3xisDani3l/smart-vs-mcp --ref branch-name.

Use the plugin once published, or configure the stdio server directly:

[mcp_servers.vs-mcp-smart]
type = "stdio"
command = "npx"
args = ["-y", "@al3xisdani3l/smart-vs-mcp"]

Use vs-mcp-smart as the logical MCP server name in client configs and repo instructions. The executable remains smart-vs-mcp when globally installed.

Claude Code

Use the plugin once published. For local testing, add a stdio MCP server with command smart-vs-mcp.

The plugin hook injects diagnostic context at session start. It does not edit your Claude configuration and does not start a persistent daemon.

Claude Desktop

Add an MCP server entry:

{
  "mcpServers": {
    "vs-mcp-smart": {
      "command": "npx",
      "args": [
        "-y",
        "@al3xisdani3l/smart-vs-mcp"
      ]
    }
  }
}

If the package is installed globally, this also works:

{
  "mcpServers": {
    "vs-mcp-smart": {
      "command": "smart-vs-mcp",
      "args": []
    }
  }
}

Cursor / Gemini / Other CLIs

Use their plugin/extension support when available, or configure the same stdio command:

smart-vs-mcp

Hooks

SessionStart hooks are diagnostic only. They:

  • locate this plugin checkout
  • run node dist/index.js status when the build exists
  • report npm install && npm run build when the build is missing
  • emit host-compatible context JSON
  • never modify user config files
  • never leave background processes running

Codex plugin installs use hooks/hooks.codex.json. Claude Code uses hooks/hooks.json.

On Windows, hook execution expects Git for Windows Bash. If bash resolves to WSL (C:\Windows\system32\bash.exe), use Git Bash explicitly for local simulation:

& 'C:\Program Files\Git\bin\bash.exe' hooks/run-hook.cmd session-start

Recommended Solution Instructions

Add this to solution-level AGENTS.md, CLAUDE.md, or equivalent context files:

## MCP Tools - ALWAYS PREFER

This solution uses `vs-mcp-smart`, a workspace-aware wrapper around Visual Studio MCP. It resolves the correct VS-MCP endpoint from `.mcp/mcpserver.settings.json`.

When `vs-mcp-smart` tools are available, ALWAYS use them before Grep/Glob/LS:

| Instead of | Use |
|------------|-----|
| `Grep` for symbols | `FindSymbols`, `FindSymbolUsages` |
| `LS` to explore projects | `GetSolutionTree` |
| Reading files to find code | `FindSymbolDefinition` then `Read` |
| Searching for method calls | `GetMethodCallers`, `GetMethodCalls` |

Why: `vs-mcp-smart` routes to the correct Visual Studio instance for this workspace. MCP tools use Roslyn semantic analysis, reduce token use, and avoid broad text scans.

If tools are missing, run `smart-vs-mcp doctor --workspace <repo>` before falling back to manual search.

MCP Market Submission

When this repo has a public GitHub remote, replace placeholder URLs:

https://github.com/Al3xisDani3l/smart-vs-mcp

Then submit the repository URL at:

https://mcpmarket.com/es/submit