Skip to content

Extension API Request: Query and Control MCP Servers and Tools via VS Code Extension API #251559

Open
@XiaofuHuang

Description

@XiaofuHuang

Feature Request

Our team is developing the AI Toolkit extension for Visual Studio Code, which streamlines generative AI app development by integrating MCP servers and tools, allowing users to build, test, and deploy agents.

Currently, AI Toolkit maintains its own subset and schema of MCP server configurations, but many of user servers are already registered in VS Code. To provide a seamless user experience and avoid configuration duplication, we would like to programmatically interact with the MCP servers that VS Code manages.

Requested API Capabilities

We would like VS Code to expose extension APIs that allow us to:

  • List all registered MCP servers.
  • Query which tools are associated/registered under each MCP server.
  • Check whether a given MCP server is running.
  • Programmatically start an MCP server from extension.

Note: We are aware that users can view and control MCP servers and tools through the VS Code Command Palette. However, for a complete and integrated experience, extensions such as AI Toolkit also need access to this information programmatically via the API.

Background and Motivation

  • VS Code's .vscode/mcp.json server configuration schema is more flexible and supports features (e.g., predefined variables like ${workspaceFolder} or input prompts for secrets) not currently handled by the AI Toolkit extension's own .aitk/mcp.json parser.
  • To enhance interoperability and centralize configuration, we'd like to leverage the existing VS Code support for MCP servers, reducing setup overhead for users.
  • Currently, there are no (documented, stable) extension APIs for programmatically listing, querying, or controlling these MCP servers.

Additional Context

If you need more context on the user journey or technical scenario, please let us know. We can provide a detailed document clarifying our extension’s needs.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions