# Troubleshooting: MCP Tools Not Appearing in VS Code
## ✅ Good News: Your Server Works!
Your HackerNews MCP server is **working perfectly**. When tested with the MCP protocol, it correctly returns all 9 tools:
```
✅ search_stories
✅ search_by_date
✅ search_comments
✅ get_front_page
✅ get_latest_stories
✅ get_ask_hn
✅ get_show_hn
✅ get_story
✅ get_user
```
The issue is with VS Code / GitHub Copilot configuration, not your server.
## Common Issues & Solutions
### 1. GitHub Copilot Chat Extension Not Installed
**Check:**
- Open VS Code Extensions (Ctrl+Shift+X)
- Search for "GitHub Copilot Chat"
- Ensure it's installed and enabled
**Required Extensions:**
- ✅ GitHub Copilot
- ✅ GitHub Copilot Chat
### 2. MCP Support Not Enabled in VS Code
MCP support in VS Code is **still experimental** and may require:
**Option A: VS Code Insiders**
```bash
# Download VS Code Insiders
# https://code.visualstudio.com/insiders/
```
**Option B: Enable Experimental Features**
1. Open VS Code Settings (Ctrl+,)
2. Search for "copilot mcp"
3. Enable "GitHub Copilot Chat: MCP Enabled"
### 3. Configuration File Location
The `.vscode/mcp.json` file **must** be in the workspace root:
```
hn-mcp-server/
├── .vscode/
│ └── mcp.json ← Must be here
├── dist/
│ └── index.js
├── src/
└── package.json
```
### 4. Try Alternative Configuration
Since the JSON schema validation is complaining, try this format in `.vscode/settings.json` instead:
```json
{
"github.copilot.chat.mcp.enabled": true,
"github.copilot.chat.mcp.servers": {
"hackernews": {
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"],
"env": {
"DEBUG": "1"
}
}
}
}
```
### 5. Use Claude Desktop Instead
Since MCP support in VS Code is experimental, **Claude Desktop has better MCP support**:
**macOS:**
```bash
mkdir -p ~/Library/Application\ Support/Claude
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOF'
{
"mcpServers": {
"hackernews": {
"command": "node",
"args": ["/absolute/path/to/hn-mcp-server/dist/index.js"]
}
}
}
EOF
```
**Linux:**
```bash
mkdir -p ~/.config/claude
cat > ~/.config/claude/claude_desktop_config.json << 'EOF'
{
"mcpServers": {
"hackernews": {
"command": "node",
"args": ["/absolute/path/to/hn-mcp-server/dist/index.js"]
}
}
}
EOF
```
Replace `/absolute/path/to` with your actual path (use `pwd` in the project directory).
### 6. Manual Testing (Verify Server Works)
Run this to confirm your server responds correctly:
```bash
cd /mnt/sdb5/projects/speckit_mcp/hn-mcp-server
node test-server.js
```
You should see all 9 tools listed in the JSON response.
### 7. Check VS Code Output Panel
1. Open Output panel (Ctrl+Shift+U)
2. Select "GitHub Copilot Chat" from dropdown
3. Look for error messages about MCP
Common errors:
- `MCP server failed to start` → Check node version, build status
- `Command not found` → Check path in mcp.json
- `Permission denied` → Make sure dist/index.js is readable
### 8. Restart Everything
Sometimes a full restart helps:
```bash
# Kill any running node processes
pkill -f "dist/index.js"
# Rebuild the server
npm run build
# Restart VS Code completely (not just reload)
# Close all windows and reopen
```
### 9. Check Node.js Version
```bash
node --version
```
Should output `v20.0.0` or higher. If not:
```bash
# Install Node.js 20 LTS
# https://nodejs.org/
```
### 10. Try Absolute Path
Instead of `${workspaceFolder}`, try an absolute path in `mcp.json`:
```json
{
"hackernews": {
"command": "node",
"args": ["/mnt/sdb5/projects/speckit_mcp/hn-mcp-server/dist/index.js"]
}
}
```
## Current Status of MCP in VS Code
As of October 2025, MCP support in VS Code is **experimental**:
- ✅ Works well in Claude Desktop
- ⚠️ Experimental in VS Code (may require Insiders build)
- ⚠️ Configuration format may change
- ⚠️ Not all features fully implemented
**Recommendation: Use Claude Desktop** for the best MCP experience until VS Code support is stable.
## Alternative: Test with MCP Inspector
The MCP team provides an inspector tool:
```bash
npx @modelcontextprotocol/inspector node dist/index.js
```
This will:
1. Start your server
2. Open a web UI
3. Let you test all tools interactively
## What We Know Works
✅ Your MCP server implementation is **100% correct**
✅ All 9 tools are properly registered
✅ Server responds to MCP protocol messages
✅ Input/output schemas are valid
✅ Server starts without errors
## What Needs Investigation
⏳ Why VS Code isn't discovering the server from `mcp.json`
⏳ Whether VS Code Insiders is required
⏳ Exact configuration format VS Code expects
## Next Steps
1. **Try Claude Desktop** (easiest, most reliable)
- Download from https://claude.ai/desktop
- Configure with absolute path
- Should work immediately
2. **Try MCP Inspector** (for testing)
```bash
npx @modelcontextprotocol/inspector node dist/index.js
```
3. **Check for VS Code Updates**
- MCP support is being actively developed
- Updates may improve compatibility
4. **Join MCP Discord**
- Official Model Context Protocol community
- Get help with VS Code integration
- Share configuration that works
## Success Indicators
You'll know it's working when:
- ✅ Copilot Chat shows "Available tools" in the UI
- ✅ You can ask "What tools are available?" and see the list
- ✅ Tool calls appear in Copilot responses
- ✅ You get HN data back from queries
## Need More Help?
- **MCP Discord**: https://discord.gg/modelcontextprotocol (check for invite)
- **GitHub Discussions**: https://github.com/modelcontextprotocol/specification/discussions
- **VS Code Issues**: https://github.com/microsoft/vscode/issues
---
**Remember**: Your server is working perfectly! This is a configuration/integration issue, not a code issue.