# Vs Claude

> VS Code extension and MCP server so Claude Code can open files, diffs and manipulate VS Code in other ways.

- **Type:** MCP server
- **Install:** `agentstack add mcp-badlogic-vs-claude`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [badlogic](https://agentstack.voostack.com/s/badlogic)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [badlogic](https://github.com/badlogic)
- **Source:** https://github.com/badlogic/vs-claude

## Install

```sh
agentstack add mcp-badlogic-vs-claude
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# VS Claude

A VS Code extension with an integrated MCP server that allows MCP clients like Claude to interact with Visual Studio Code.

## Key Features

- **Smart File Operations** - Open files, diffs, and Git comparisons in VS Code
- **Batch Operations** - Open multiple files at once for efficient workflow
- **Git Integration** - View git diffs between different versions of files
- **Line Highlighting** - Jump to specific lines or highlight line ranges

## Overview

VS Claude provides a simple tool for AI assistants to open files and diffs in VS Code through the MCP (Model Context Protocol) interface.

### Navigation Tool

**open** - Open files, diffs, and git comparisons in VS Code
- Open files with optional line highlighting
- Show diffs between two files
- View git diffs (working changes, staged, commits)
- Open multiple files in a single operation
- See [`mcp/main.go`](mcp/main.go) for the full tool description

## Installation

### Option 1: From VS Code Extension Marketplace
1. Open VS Code
2. Go to Extensions (Cmd+Shift+X / Ctrl+Shift+X)
3. Search for "VS Claude"
4. Click Install

### Option 2: Build from Source
1. Build the VSIX package:
```bash
git clone https://github.com/your-username/vs-claude.git
cd vs-claude
npm install
npm run build
npm install -g @vscode/vsce
vsce package
```

2. Install in VS Code:
   - Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)
   - Run "Extensions: Install from VSIX..."
   - Select the generated `.vsix` file

### Set up Claude Integration
After installation, you will be prompted to install the MCP server for Claude. Click "Install" to proceed.

If you need to install it later or manually:
1. Open the Command Palette (`Cmd+Shift+P` on Mac or `Ctrl+Shift+P` on Windows/Linux)
2. Run "VS Claude: Install MCP"
3. Restart Claude to activate
4. Instruct Claude to use the vs-claude tools if appropriate for the task

### Set up Integration with Other AI Assistants
If your AI assistant supports MCP servers:
1. Open the Command Palette (`Cmd+Shift+P` on Mac or `Ctrl+Shift+P` on Windows/Linux)
2. Run "VS Claude: Install MCP"
3. Click "Manual Setup"
4. Follow the MCP server configuration instructions for your AI assistant

## Architecture

VS Claude consists of two components:

### VS Code Extension (TypeScript)
- Installs the MCP server with Claude CLI
- Implements the file opening logic using VS Code APIs
- Handles file-based IPC for communication with MCP clients

**Commands:**
- `VS Claude: Install MCP` - Install the MCP server with Claude
- `VS Claude: Uninstall MCP` - Remove the MCP server from Claude

### MCP Server (Go)
- Simple proxy that forwards tool calls from MCP clients to VS Code
- Returns responses from VS Code back to the MCP client

### Communication Flow
```
MCP Client (Claude) ↔ MCP Server ↔ File System ↔ VS Code Extension
```

- MCP Server writes commands to `~/.vs-claude/{windowId}.in`
- VS Code Extension writes responses to `~/.vs-claude/{windowId}.out`
- Each VS Code window has a unique ID with metadata in `~/.vs-claude/{windowId}.meta.json`
- When multiple windows are open, the MCP server returns an error listing available windows

## Development

### Prerequisites
- Node.js 16+
- Go 1.21+
- VS Code

### Scripts

```bash
npm run build       # Build TypeScript and Go binaries
npm run build:debug # Build with Go debug symbols (no cross-compilation)
npm run check       # Format with Biome, lint, and type check all code
npm run test        # Run tests
npm run clean       # Remove build artifacts
```

### Build System
- **Extension bundling** with esbuild
- **Cross-platform Go binaries** for macOS (Intel/ARM), Linux, and Windows

### Project Structure
```
vs-claude/
├── src/                 # TypeScript extension source
│   ├── extension.ts     # Main entry point
│   ├── tools/           # Tool implementations
│   │   ├── open-tool.ts # File opening logic
│   │   └── types.ts     # TypeScript types
│   ├── command-handler.ts     # Command dispatcher
│   ├── window-manager.ts      # Window IPC management
│   ├── logger.ts              # Logging system
│   └── setup.ts               # MCP installation logic
├── mcp/                 # Go MCP server source
│   └── main.go         # MCP server implementation
├── scripts/             # Build scripts
│   ├── build-extension.js        # Extension bundling
│   └── build-mcp-server.sh       # Cross-platform Go compilation
├── test/                # Test suite
│   ├── suite/           # Test implementations
│   └── test-workspace/  # Sample project for testing
├── build/              # Build outputs (generated)
│   ├── mcp/            # Cross-platform Go binaries
│   └── extension/      # TypeScript compilation output
└── CLAUDE.md           # Project-specific instructions
```

### Testing

The project includes comprehensive tests that:
- Launch VS Code with the extension
- Test file opening functionality
- Verify the MCP integration

Run tests with:
```bash
npm test
```

### Development

Press F5 to run the extension in development mode.

## Troubleshooting

### Tool Not Available
1. Ensure VS Code is running with the extension installed
2. Check that the MCP server is configured: `claude mcp list`
3. Restart Claude after installation

### Multiple VS Code Windows
When multiple windows are open, the MCP server returns an error listing available windows. The MCP client must then specify a windowId with each request:
```javascript
mcp_vs-claude_open({
  args: {"type": "file", "path": "/path/to/file.ts"},
  windowId: "window-123"
})
```

## Contributing

Contributions are welcome! Please read our contributing guidelines and submit pull requests to our repository.

## Publishing to VS Code extension marketplace
1. Go to https://dev.azure.com/badlogicgames/badlogicgames
2. Sign in with badlogicgames@gmail.com
3. Click the non-descriptive icon next to MZ in the top right
4. Click on "Personal access tokens"
5. Generate a new token, cause the old one likely expired. Select "All accessible organizations" for Organization, Scope Full access
6. `vsce publish`, enter the stupid token
7. Check https://marketplace.visualstudio.com/manage/publishers/mariozechner?noPrompt=true for status of publication

## License

[License information here]

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [badlogic](https://github.com/badlogic)
- **Source:** [badlogic/vs-claude](https://github.com/badlogic/vs-claude)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-badlogic-vs-claude
- Seller: https://agentstack.voostack.com/s/badlogic
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
