Skip to content

Can Claude Code VS Code Extension Connect to MCP Servers? (Current Limitations Explained)

Problem

I installed the Claude Code VS Code extension, configured my MCP servers, and expected them to work. They didn’t.

Here’s what I tried:

  1. Added MCP server config to ~/.claude/settings.json
  2. Restarted VS Code
  3. Started a Claude Code session in the extension
  4. Asked Claude to use my fetch MCP server

Nothing. The MCP tools were completely unavailable.

I verified my configuration was correct. I tried different MCP servers. I reinstalled the extension. None of it worked.

Then I opened a terminal, ran claude, and immediately saw all my MCP tools loaded and ready to use.

The Direct Answer

No, the Claude Code VS Code extension cannot connect to MCP servers.

This isn’t a bug. It’s a known limitation. MCP server functionality works in the Claude Code CLI (terminal version) but is not supported in the VS Code extension.

I found confirmation in a Reddit thread where users discussed exactly this issue:

“I prefer the extension UI so I can read Claude’s Thinking blocks, but I cannot get it to connect to any MCP servers, so I switch back and forth.”

Another user explained the architectural difference:

“Terminal CC operates on your project as a whole. Multi-file tasks, session memory, agents that invoke other agents, custom slash commands and skills, hooks that fire on tool events. The VS Code extension surface doesn’t fully expose that.”

The highest-voted comment cut to the chase:

“The VSCode plug-in is always behind the terminal version. Certain slash commands do not work in the VSCode plug-in as well.”

Feature Comparison

Claude Code: CLI vs VS Code Extension
Feature CLI VS Code Extension
─────────────────────────────────────────────────────────
MCP server connections Yes No
Multi-file operations Full Limited
Session memory Yes Basic
Custom slash commands Full Partial
Agent orchestration Yes No
Hooks on tool events Yes No
Skills system Full Limited
Thinking blocks UI Basic Good

The extension provides a nicer UI for reading Claude’s reasoning, but it lacks the powerful features that make Claude Code truly useful for complex development workflows.

Why This Limitation Exists

MCP (Model Context Protocol) servers are external processes. Claude Code must:

MCP Server Lifecycle
┌──────────────────────────────────────────────────────────┐
│ MCP Server Requirements │
├──────────────────────────────────────────────────────────┤
│ 1. Spawn external process (uvx, npx, etc.) │
│ 2. Establish JSON-RPC communication channel │
│ 3. Discover available tools dynamically │
│ 4. Execute tool calls and handle responses │
│ 5. Manage process lifecycle and error states │
└──────────────────────────────────────────────────────────┘

The CLI has full access to the operating system. It can spawn subprocesses, manage their lifecycles, and handle inter-process communication directly.

The VS Code extension runs inside VS Code’s sandboxed extension host. This environment restricts what extensions can do with external processes. The security model prevents extensions from freely spawning and managing subprocesses.

VS Code Extension Security Sandbox
┌─────────────────────────────────────────────────────────┐
│ VS Code Extension Host │
│ (Sandboxed Environment) │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Claude Code Extension │ │
│ │ │ │
│ │ ✓ File system access (limited) │ │
│ │ ✓ Terminal integration │ │
│ │ ✓ Editor manipulation │ │
│ │ │ │
│ │ ✗ Direct subprocess spawning │ │
│ │ ✗ Unrestricted process management │ │
│ │ ✗ MCP server connections │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

This is a fundamental architectural constraint, not a missing feature that can be easily patched.

What You Lose Without MCP

MCP servers dramatically extend Claude’s capabilities. Without them, you’re limited to built-in tools.

Popular MCP Servers and Their Use Cases
Server │ What It Provides │ Why You Need It
────────────────────────────────────────────────────────────────────
fetch │ Web scraping, HTML extraction │ Research, content gathering
context7 │ Official documentation lookup │ Accurate library references
filesystem │ Controlled file access │ Safe file operations
postgres │ Database queries │ Data-driven applications
github │ GitHub API operations │ Issue/PR management
slack │ Slack integration │ Team communication

I use fetch to scrape web content and context7 to pull official library documentation. These tools transform Claude from a coding assistant into a comprehensive research and development platform.

The Workaround: Use CLI

To access MCP servers, you must use the Claude Code CLI.

Step 1: Configure MCP Servers

Create or edit ~/.claude/settings.json:

settings.json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"]
}
}
}

Step 2: Start CLI from Terminal

terminal
claude

When Claude starts, it loads your MCP servers. You’ll see tools prefixed with mcp__:

MCP Tool Naming Convention
mcp__fetch__fetch_html
mcp__fetch__fetch_markdown
mcp__fetch__fetch_txt
mcp__fetch__fetch_json
mcp__context7__resolve-library-id
mcp__context7__query-docs

Step 3: Hybrid Workflow

I’ve adopted this pattern:

Practical Hybrid Workflow
Task Type Tool
────────────────────────────────────────────────
Quick edits and reviews VS Code extension
Reading Claude's thinking process VS Code extension
MCP-powered operations CLI
Multi-file refactoring CLI
Agent orchestration CLI
Hook-based automation CLI
Custom skills execution CLI

The extension is good for reading. The CLI is necessary for doing.

What I Did Wrong

MistakeWhy I Made ItReality
Assumed feature parityExtension looked similar to CLIExtension is a subset, not a mirror
Tried different configsThought config was the issueExtension ignores MCP config entirely
Blamed my setupSearched for my errorThe limitation is architectural
Expected documentationSearched official docsLimitation not clearly documented

I wasted hours debugging my configuration before finding the Reddit thread that explained this is expected behavior.

Why This Matters

MCP servers are becoming essential for serious AI-assisted development:

  • Custom integrations: Connect Claude to your specific tools and workflows
  • Database access: Query databases directly from Claude
  • API connections: Interact with external services
  • Web research: Scrape and analyze web content
  • Documentation lookup: Get accurate, up-to-date library references

Without MCP support, the VS Code extension can handle basic coding tasks but can’t participate in the advanced workflows that make Claude Code powerful.

Will The Extension Get MCP Support?

Maybe. Anthropic hasn’t announced a timeline, but the technical challenges (sandboxed environment, process control) are solvable. Other VS Code extensions manage subprocesses using language servers and similar patterns.

Until then, the workflow is clear:

  1. Use VS Code extension for UI preference and quick tasks
  2. Use CLI for MCP-powered operations and complex workflows
  3. Accept the switching cost as part of current limitations

The extension trails the CLI in feature development. New capabilities ship to CLI first. The extension catches up later, if at all.

If you see MCP tools prefixed with mcp__ in your session, you’re using the CLI. If you don’t see them, you’re using the extension, and no configuration will make them appear.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments