In this article
September 2, 2025
September 2, 2025

From Pain Points to Solutions: How VSCode Solved MCP's Biggest Developer Challenges

Harald Kirschner from VSCode/GitHub shares how they systematically identified and solved the five biggest MCP pain points, transforming the developer experience from frustrating to delightful.

This post is part of our ongoing MCP Night 2.0 series, highlighting the impressive demonstrations from the event. Check out our full event recap and other demo spotlights to see how the Model Context Protocol ecosystem is evolving.

Harald Kirschner from VSCode didn't mince words when he took the stage at MCP Night 2.0.

"I get a lot of complaints," he admitted with a smile, before diving into what he called "the five biggest MCP pain points" that VSCode has systematically addressed.

His presentation was both a candid acknowledgment of real developer frustrations and a showcase of elegant solutions that make MCP genuinely usable.

The Installation Nightmare is Over


The first pain point Harald tackled was one many developers know all too well: the Byzantine process of finding and installing MCP servers. "It started kind of hacky," he explained, "with copying around JSON blobs and maybe hard-coding API keys." This wasn't just inconvenient—it was a barrier to adoption that kept many developers from even trying MCP.

VSCode's solution transforms this experience completely. Instead of wrestling with configuration files, developers can now navigate to MCP servers in their VSCode interface and simply hit "install." Behind this seemingly simple interaction lies an official MCP registry spec that VSCode is already adopting, even as it's still being finalized.

When Harald demonstrated installing a GitHub MCP server, the process was refreshingly straightforward: a few clicks, authentication, and done. "This is what MCP should feel like," he emphasized. "Easy to install and secure to set up."

Making API Keys Actually Secure


The second major improvement addresses a security headache that has plagued MCP adoption. Many servers still require API keys, and the traditional approach meant dropping these sensitive credentials directly into JSON configuration files—a practice that made security-conscious developers cringe.

VSCode now handles API keys as proper inputs, prompting users for them during installation rather than requiring manual JSON editing. This approach makes credential management both more secure and more user-friendly, eliminating one of the most common stumbling blocks for new MCP users.

Beyond Secret Incantations: Intelligent Tool Discovery

Harald's third point struck at something every MCP user has experienced: the frustration of "secret incantations" needed to invoke specific tools. Too often, developers find themselves crafting careful prompts to trigger the right functionality, treating their AI assistants more like command-line interfaces than intelligent agents.

VSCode addresses this with a built-in tool picker that lets developers be explicit about which tools they want to use in any given session. But the real innovation goes deeper: developers can save effective tool combinations as reusable "chat modes," creating what Harald called "context engineering building blocks."

During his demo, Harald showed how this works in practice. He switched to an "explore" chat mode configured with web research and coding tools, then asked about an open water certification quiz he needed to study for. The system automatically engaged the right tools to research the topic and even built interactive demos—all without requiring specific tool invocations.

Scaling to Unlimited Tools

The fourth challenge Harald addressed might seem like a luxury problem, but it's actually fundamental to MCP's future: what happens when developers accumulate dozens or hundreds of tools? Traditional approaches break down quickly under this load, forcing difficult choices about which capabilities to keep active.

VSCode's latest release tackles this head-on with support for essentially unlimited tools. Harald demonstrated this by loading 171 tools simultaneously—a number that would overwhelm most systems—and then successfully running queries that automatically selected the right tools for the task.

"Just like VSCode, you install as many extensions as you want," he explained. "MCP should just scale to what you're working on and bring in the right tools at the right time."

Smart Context Management

The final major pain point Harald discussed was context bloat—the problem of MCP servers potentially flooding conversations with excessive information from searches or other operations. This issue can quickly exhaust token limits and make conversations unwieldy.

VSCode's solution leverages one of MCP's more sophisticated but underutilized capabilities: sampling. When an MCP server performs a search, it can use sampling to summarize results before presenting them to the user. This provides much more condensed, focused answers while still preserving the full context for those who need it.

Harald also highlighted VSCode's support for resource links, a recent addition to the MCP specification that provides another avenue for efficient context management.

Making Development Actually Enjoyable

Beyond these five core solutions, Harald showcased VSCode's developer mode—a feature that transforms the experience of building MCP servers from a frustrating exercise in blind debugging to something approaching enjoyable.

Developer mode automatically restarts servers when files change, eliminating the tedious cycle of manual restarts during development. It also enables full debugging support, including breakpoints and the standard development tools that programmers expect. Perhaps most importantly, it provides access to comprehensive logs—a simple feature that Harald noted "unlocks a magical experience" for developers trying to understand why their servers aren't working correctly.

For those who need even deeper insight, VSCode provides full logs of agent-MCP coordination, including the tools being used and system prompts. This level of visibility makes debugging complex interactions much more manageable.

A Pattern for the Future

What makes Harald's presentation particularly valuable isn't just the specific solutions VSCode has implemented, but the systematic approach they've taken to identifying and addressing real user pain. Rather than building features in isolation, they've clearly listened to community feedback and prioritized the barriers that actually prevent developers from being successful with MCP.

Each solution builds on the others: easy installation encourages experimentation, secure credential management removes adoption barriers, intelligent tool discovery makes daily use more pleasant, unlimited tool support enables power users, and excellent developer experience ensures the ecosystem continues to grow.

This isn't just about making VSCode a better MCP client—it's about establishing patterns that the broader ecosystem can learn from and adopt. When Harald joked about being "over time" at the end of his five-minute presentation, he'd actually packed in insights that could guide MCP development for months to come.

The message is clear: MCP's technical foundations are solid, but success depends on ruthless attention to developer experience. VSCode has shown that with the right approach, MCP can move from being a powerful but finicky tool to something developers actively enjoy using.

---

*This post is part of our MCP Night 2.0 demo recap series. Watch Harald's full presentation on YouTube to see these solutions in action.*

This site uses cookies to improve your experience. Please accept the use of cookies on this site. You can review our cookie policy here and our privacy policy here. If you choose to refuse, functionality of this site will be limited.