Skip to main content

View your installed MCP servers in VSCode

Managing Model Context Protocol (MCP) servers in VS Code has become significantly easier with the dedicated management interface in the Extensions view. While you can configure MCP servers in multiple places throughout VS Code, the Extension tab provides a centralized, visual approach to monitoring and controlling all your available MCP servers.

The challenge of multiple configuration points

VS Code offers several ways to configure MCP servers, which provides flexibility but can also create complexity:

  • Workspace settings via .vscode/mcp.json files for project-specific configurations
  • User settings for global MCP server configurations across all workspaces
  • Automatic discovery of servers defined in other tools like Claude Desktop
  • Direct installation from the curated MCP server list
  • Command-line configuration using the --add-mcp option
  • And more…

While this flexibility is powerful for developers working across different projects and environments, it can make it challenging to get a complete picture of which MCP servers are actually available and running.

The Extensions tab

VS Code addresses this complexity with the MCP SERVERS - INSTALLED section in the Extensions view (Ctrl+Shift+X or ⇧⌘X on Mac). This dedicated interface serves as a command center for all your MCP servers, regardless of where they were configured.


The Extensions tab provides a unified view that shows:

  • All currently installed MCP servers from any configuration source
  • Server status (running, stopped, or error states)
  • Quick access to server-specific actions and information
  • Visual indicators for server health and connectivity

You can manage the MCP server directly from the Extensions tab by right-clicking on any MCP server:

The opened context menu gives you directly access to the following options:

  • Start/Stop/Restart - Control server lifecycle without editing configuration files
  • Show Output - View server logs for debugging and monitoring
  • Disconnect Account - Manage authentication for servers requiring credentials
  • Show Configuration - View the current server configuration
  • Browse Resources - Explore resources provided by the server
  • Configure Model Access - Control sampling permissions for different models
  • Show Sampling Requests - Monitor model access requests
  • Uninstall - Remove servers cleanly from your environment

I really like this addition as it greatly helps working with an growing number of available MCP servers.

Nice!

More information

Use MCP servers in VS Code

MCP Power-User Mode: Revealing Every MCP Feature in VS Code

Popular posts from this blog

Podman– Command execution failed with exit code 125

After updating WSL on one of the developer machines, Podman failed to work. When we took a look through Podman Desktop, we noticed that Podman had stopped running and returned the following error message: Error: Command execution failed with exit code 125 Here are the steps we tried to fix the issue: We started by running podman info to get some extra details on what could be wrong: >podman info OS: windows/amd64 provider: wsl version: 5.3.1 Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM Error: unable to connect to Podman socket: failed to connect: dial tcp 127.0.0.1:2655: connectex: No connection could be made because the target machine actively refused it. That makes sense as the podman VM was not running. Let’s check the VM: >podman machine list NAME         ...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

Cleaner switch expressions with pattern matching in C#

Ever find yourself mapping multiple string values to the same result? Being a C# developer for a long time, I sometimes forget that the C# has evolved so I still dare to chain case labels or reach for a dictionary. Of course with pattern matching this is no longer necessary. With pattern matching, you can express things inline, declaratively, and with zero repetition. A small example I was working on a small script that should invoke different actions depending on the environment. As our developers were using different variations for the same environment e.g.  "tst" alongside "test" , "prd" alongside "prod" .  We asked to streamline this a long time ago, but as these things happen, we still see variations in the wild. This brought me to the following code that is a perfect example for pattern matching: The or keyword here is a logical pattern combinator , not a boolean operator. It matches if either of the specified pattern...