MCPizy
BrowseGuidesDocsFor publishersSubmit
Back to Blog
Tutorial
7 min read
· By Hugo Berton, MCPizy

VS Code MCP Client Extension: Built-In vs Add-On

Do you need a vs code mcp client extension? See what built-in MCP support covers, when an add-on helps, and how to vet one before install.

mcpvs-codegithub-copilotextensionssecuritysetup

Most people do not need a separate vs code mcp client extension, because VS Code with Copilot already connects to MCP servers. Add-ons only matter for gaps. Servers such as GitHub and Context7 list VS Code plus Copilot as supported clients, and you configure them with a config file. Install an extension only when it solves a specific problem, and vet its publisher and permissions first.

Short answer: do you need an extension at all?

For most setups, no. The pages for the GitHub and Context7 MCP servers both state that they work in VS Code with GitHub Copilot, alongside Cursor and Claude Code. That means the editor itself can act as the MCP client: it launches or reaches the server, lists its tools, and lets the agent call them. You do not have to add anything to get that loop working.

The question to ask is not whether a vs code mcp client extension exists, but what job it would do that the editor cannot. If the answer is "connect a server and call its tools", the built-in route is enough. If the answer is something specific, such as a different interface or extra management features, an extension may earn its place. Treat each one as an exception you justify.

This article separates the two cases so you can decide quickly. It covers what the editor handles, where an add-on can help, how configuration works either way, what no client does for you, and how to judge whether an extension deserves your trust. It ends with servers worth connecting first.

What does built-in MCP support cover?

Built-in support means the editor plays the client role. It reads a list of servers from a config file, starts local ones or connects to remote ones, and exposes their tools to the chat agent. The GitHub server, for example, offers tools such as get_repository, list_issues, create_issue, list_pull_requests and get_file_contents, and the agent calls them like any other capability.

Our guides on what Copilot MCP support is and MCP tools, resources and prompts explain the moving parts. In practice, the client handles discovery of tools, passing your request to the model, and returning the results. The server decides what those tools can actually do.

Authentication is where server and client meet. The GitHub server description says it uses a fine-grained personal access token, and recommends the smallest scope, read-only repository and issues access, before upgrading to write access when a human approves. That advice applies whichever client you use, because the token governs the server, not the editor.

When does a vs code mcp client extension still make sense?

An extension makes sense when it fills a gap you can name. Examples might be a friendlier way to browse and enable servers, extra diagnostics around a server that fails to start, or a workflow that bundles several steps into one command. Whether any particular extension does this well is something you have to check on its own page, not assume.

A useful test is to write down the single sentence that justifies the add-on. "It shows me why my server crashed" is a real reason, and our walkthrough to debug an MCP server in VS Code shows what you can already do without one. "It is popular" is not a reason.

Also consider the cost. Every extension runs inside your editor with whatever access it requests, and it may sit between you and the servers you connect. An add-on that manages your MCP configuration could in principle read tokens stored there. That does not make extensions bad, but it does make the decision a security one, not just a convenience one.

How do you add servers either way?

The built-in path is a config file. Our guides on how to add an MCP server to VS Code and the VS Code mcp.json schema cover the exact fields. The idea is simple: name the server, say how to start it, and pass any environment variables it needs, such as a token.

Many servers also publish a one-line install command. The GitHub server page lists npx -y @modelcontextprotocol/server-github as a direct run command, and Context7 lists npx -y @upstash/context7-mcp. Both also show an installer form: mcpizy install github and mcpizy install context7. These commands start the server, and your client config simply points at them.

If you use an extension instead, check what it writes. A well-behaved one should end up producing the same kind of server entry you could have typed by hand. After adding anything, confirm the tools appear in the chat tool list, and test with a harmless read-only call before granting write access.

  1. Pick the server and read its tool list.
  2. Create the smallest credential it needs.
  3. Add the entry to your config or through the extension.
  4. Run one read-only tool call to verify.

What does a client not do for you?

A client, built-in or add-on, does not make a server safe. It passes calls through. The GitHub server description lists several pitfalls that no client can fix: fine-grained tokens may not include private repositories by default, so list_pull_requests can return empty until you select the repo explicitly; search_code relies on an index that is eventually consistent and lossy; and create_or_update_file commits through the API, without signing or pre-commit hooks.

Those are server behaviours, and they follow you to every editor. The description advises pushing to a branch and opening a pull request instead of committing straight to main. A client with a polished interface will not stop an agent from doing the risky thing if the token allows it.

Nor does a client decide which servers deserve trust. That judgement sits with you. Our guides on MCP server permissions and scopes and local versus remote servers help you reason about what each connection can reach before you enable it.

How do you judge an extension's trustworthiness?

Start with who publishes it and whether you can read its source. Check that its description matches what it actually asks for, and be wary of any add-on that wants broad access just to list servers. Look at how recently it was updated and whether problems reported by users get answered. These are signals to weigh together; none is proof.

The same discipline applies to the servers an extension helps you install. For servers, our guide on how to audit an MCP server before install gives a repeatable checklist. As one example of an independent signal, the CheckMCP audit of upstash/context7 scores it 100/100, grade A, noting an MIT licence and a recent last commit. The same page shows the grade whether it flatters the server or not.

For the GitHub server, no CheckMCP audit is published, so the signal there is the official nature of the server and the scope of the token you give it. Absence of an audit is not a verdict, but it means you do more of the checking yourself. Whatever you add, start read-only and widen access only when you have a reason.

Which servers should you connect next?

With the client question settled, pick servers by the work you do. The GitHub MCP server is the natural first connection for code work: reading repositories, triaging issues and reviewing pull requests. Its description names pull request review and issue triage as the strongest uses, and suggests Linear for sprint and cycle planning if you need that side too.

The Context7 MCP server serves live documentation for libraries and frameworks, which helps when the model's memory of an API is out of date. Our comparison Context7 vs DeepWiki shows how it stacks up against an alternative.

For a longer shortlist aimed at this exact editor setup, read Copilot MCPs: servers to add first. Add one server at a time, confirm its tools show up, and only then add the next. That keeps problems easy to trace, and it keeps the list of things your agent can touch short enough to review.

Found this useful? Share it.

MCP Servers Mentioned