22
33** Let AI assistants like Claude control Visual Studio through the Model Context Protocol!**
44
5- [ ![ License] ( https://img.shields.io/github/license/CodingWithCalvin/VS-VSMCP?style=for-the-badge )] ( https://github.com/CodingWithCalvin/VS-VSMCP/blob/main/LICENSE )
6- [ ![ Build Status] ( https://img.shields.io/github/actions/workflow/status/CodingWithCalvin/VS-VSMCP/build.yml?style=for-the-badge )] ( https://github.com/CodingWithCalvin/VS-VSMCP/actions/workflows/build.yml )
7- [ ![ Marketplace Version] ( https://img.shields.io/visual-studio-marketplace/v/CodingWithCalvin.VS-VSMCP?style=for-the-badge )] ( https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-VSMCP )
8- [ ![ Marketplace Installs] ( https://img.shields.io/visual-studio-marketplace/i/CodingWithCalvin.VS-VSMCP?style=for-the-badge )] ( https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-VSMCP )
5+ [ ![ License] ( https://img.shields.io/github/license/CodingWithCalvin/VS-MCPServer?style=for-the-badge )] ( https://github.com/CodingWithCalvin/VS-MCPServer/blob/main/LICENSE )
6+ [ ![ Build Status] ( https://img.shields.io/github/actions/workflow/status/CodingWithCalvin/VS-MCPServer/build.yml?style=for-the-badge )] ( https://github.com/CodingWithCalvin/VS-MCPServer/actions/workflows/build.yml )
7+ [ ![ Marketplace Version] ( https://img.shields.io/visual-studio-marketplace/v/CodingWithCalvin.VS-MCPServer?style=for-the-badge )] ( https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-MCPServer )
8+ [ ![ Marketplace Installs] ( https://img.shields.io/visual-studio-marketplace/i/CodingWithCalvin.VS-MCPServer?style=for-the-badge )] ( https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-MCPServer )
9+ [ ![ Marketplace Rating] ( https://img.shields.io/visual-studio-marketplace/r/CodingWithCalvin.VS-MCPServer?style=for-the-badge )] ( https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-MCPServer )
910
1011---
1112
1617## ✨ Features
1718
1819### 📂 Solution Tools
19- - ** solution_info** - Get information about the current solution
20- - ** solution_open** - Open a solution file
21- - ** solution_close** - Close the current solution
22- - ** project_list** - List all projects in the solution
23- - ** project_info** - Get detailed project information
20+
21+ | Tool | Description |
22+ | ------| -------------|
23+ | ` solution_info ` | Get information about the current solution |
24+ | ` solution_open ` | Open a solution file |
25+ | ` solution_close ` | Close the current solution |
26+ | ` project_list ` | List all projects in the solution |
27+ | ` project_info ` | Get detailed project information |
2428
2529### 📝 Document Tools
26- - ** document_list** - List all open documents
27- - ** document_active** - Get the active document
28- - ** document_open** - Open a file in the editor
29- - ** document_close** - Close a document
30- - ** document_read** - Read document contents
31- - ** document_write** - Write to a document
30+
31+ | Tool | Description |
32+ | ------| -------------|
33+ | ` document_list ` | List all open documents |
34+ | ` document_active ` | Get the active document |
35+ | ` document_open ` | Open a file in the editor |
36+ | ` document_close ` | Close a document |
37+ | ` document_read ` | Read document contents |
38+ | ` document_write ` | Write to a document |
3239
3340### ✏️ Editor Tools
34- - ** selection_get** - Get the current text selection
35- - ** selection_set** - Set the selection range
36- - ** editor_insert** - Insert text at cursor position
37- - ** editor_replace** - Find and replace text
38- - ** editor_goto_line** - Navigate to a specific line
39- - ** editor_find** - Search within documents
41+
42+ | Tool | Description |
43+ | ------| -------------|
44+ | ` selection_get ` | Get the current text selection |
45+ | ` selection_set ` | Set the selection range |
46+ | ` editor_insert ` | Insert text at cursor position |
47+ | ` editor_replace ` | Find and replace text |
48+ | ` editor_goto_line ` | Navigate to a specific line |
49+ | ` editor_find ` | Search within documents |
4050
4151### 🔨 Build Tools
42- - ** build_solution** - Build the entire solution
43- - ** build_project** - Build a specific project
44- - ** clean_solution** - Clean the solution
45- - ** build_cancel** - Cancel a running build
46- - ** build_status** - Get current build status
52+
53+ | Tool | Description |
54+ | ------| -------------|
55+ | ` build_solution ` | Build the entire solution |
56+ | ` build_project ` | Build a specific project |
57+ | ` clean_solution ` | Clean the solution |
58+ | ` build_cancel ` | Cancel a running build |
59+ | ` build_status ` | Get current build status |
4760
4861## 🛠️ Installation
4962
5063### Visual Studio Marketplace
5164
52651 . Open Visual Studio 2022 or 2026
53662 . Go to ** Extensions > Manage Extensions**
54- 3 . Search for "VS MCP Server"
67+ 3 . Search for "MCP Server"
55684 . Click ** Download** and restart Visual Studio
5669
5770### Manual Installation
5871
59- Download the latest ` .vsix ` from the [ Releases] ( https://github.com/CodingWithCalvin/VS-VSMCP /releases ) page and double-click to install.
72+ Download the latest ` .vsix ` from the [ Releases] ( https://github.com/CodingWithCalvin/VS-MCPServer /releases ) page and double-click to install.
6073
6174## 🚀 Usage
6275
6376### Starting the Server
6477
65781 . Open Visual Studio
66- 2 . Go to ** Tools > VSMCP > Start Server** (or enable auto-start in settings)
79+ 2 . Go to ** Tools > MCP Server > Start Server** (or enable auto-start in settings)
67803 . The MCP server starts on ` http://localhost:5050 `
6881
6982### Configuring Claude Desktop
@@ -74,26 +87,32 @@ Add this to your Claude Desktop MCP settings:
7487{
7588 "mcpServers" : {
7689 "visual-studio" : {
77- "url" : " http://localhost:5050"
90+ "url" : " http://localhost:5050/sse "
7891 }
7992 }
8093}
8194```
8295
8396### Settings
8497
85- Configure the extension at ** Tools > Options > VSMCP ** :
98+ Configure the extension at ** Tools > Options > MCP Server ** :
8699
87- - ** Auto-start server** - Start the MCP server when Visual Studio launches
88- - ** HTTP Port** - Port for the MCP server (default: 5050)
100+ | Setting | Description | Default |
101+ | ---------| -------------| ---------|
102+ | Auto-start server | Start the MCP server when Visual Studio launches | Off |
103+ | Binding Address | Address the server binds to | ` localhost ` |
104+ | HTTP Port | Port for the MCP server | ` 5050 ` |
105+ | Server Name | Name reported to MCP clients | ` Visual Studio MCP ` |
106+ | Log Level | Minimum log level for output | ` Information ` |
107+ | Log Retention | Days to keep log files | ` 7 ` |
89108
90109## 🏗️ Architecture
91110
92111```
93- ┌─────────────────┐ ┌─────────────────────┐ named pipes ┌─────────────────┐
94- │ Claude Desktop │ HTTP/SSE │ VSMCP .Server.exe │ ◄────────────────► │ VS Extension │
95- │ (MCP Client) │ ◄────────────► │ (MCP Server) │ JSON-RPC │ (Tool Impl) │
96- └─────────────────┘ :5050 └─────────────────────┘ └─────────────────┘
112+ +------------------+ +----------------------+ named pipes +------------------+
113+ | Claude Desktop | HTTP/SSE | MCPServer .Server | <-------------> | VS Extension |
114+ | (MCP Client) | <---------> | (MCP Server) | JSON-RPC | (Tool Impl) |
115+ +------------------+ :5050 +----------------------+ +------------------+
97116```
98117
99118## 🤝 Contributing
@@ -103,7 +122,7 @@ Contributions are welcome! Whether it's bug reports, feature requests, or pull r
103122### Development Setup
104123
1051241 . Clone the repository
106- 2 . Open ` src/CodingWithCalvin.VSMCP .slnx ` in Visual Studio 2022
125+ 2 . Open ` src/CodingWithCalvin.MCPServer .slnx ` in Visual Studio 2022
1071263 . Ensure you have the "Visual Studio extension development" workload installed
1081274 . Ensure you have .NET 10.0 SDK installed
1091285 . Press F5 to launch the experimental instance
0 commit comments