Skip to content

Commit 84e8d83

Browse files
committed
feat: Initial implementation of VS MCP Server extension
Exposes Visual Studio features as an MCP (Model Context Protocol) server, enabling AI assistants like Claude to interact with VS programmatically. Core features: - HTTP/SSE MCP transport on configurable port (default 5050) - Auto-start option and manual menu controls (Tools > VSMCP) - Named pipe JSON-RPC for internal VS-to-server communication MCP tools implemented: - Solution: solution_info, solution_open, solution_close, project_list, project_info - Documents: document_list, document_active, document_open, document_close, document_read, document_write, selection_get, selection_set - Editor: editor_insert, editor_replace, editor_goto_line, editor_find - Build: build_solution, build_project, clean_solution, build_cancel, build_status Architecture: - CodingWithCalvin.VSMCP: Main VSIX extension (net48) - CodingWithCalvin.VSMCP.Server: MCP server process (net10.0) - CodingWithCalvin.VSMCP.Shared: Shared contracts (multi-target)
0 parents  commit 84e8d83

25 files changed

Lines changed: 2221 additions & 0 deletions

.gitignore

Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
## Ignore Visual Studio temporary files, build results, and
2+
## files generated by popular Visual Studio add-ons.
3+
4+
# User-specific files
5+
*.suo
6+
*.user
7+
*.userosscache
8+
*.sln.docstates
9+
10+
# User-specific files (MonoDevelop/Xamarin Studio)
11+
*.userprefs
12+
13+
# Build results
14+
[Dd]ebug/
15+
[Dd]ebugPublic/
16+
[Rr]elease/
17+
[Rr]eleases/
18+
x64/
19+
x86/
20+
build/
21+
bld/
22+
[Bb]in/
23+
[Oo]bj/
24+
25+
# Visual Studio 2015 cache/options directory
26+
.vs/
27+
# Uncomment if you have tasks that create the project's static files in wwwroot
28+
#wwwroot/
29+
30+
# MSTest test Results
31+
[Tt]est[Rr]esult*/
32+
[Bb]uild[Ll]og.*
33+
34+
# NUNIT
35+
*.VisualState.xml
36+
TestResult.xml
37+
38+
# Build Results of an ATL Project
39+
[Dd]ebugPS/
40+
[Rr]eleasePS/
41+
dlldata.c
42+
43+
# DNX
44+
project.lock.json
45+
artifacts/
46+
47+
*_i.c
48+
*_p.c
49+
*_i.h
50+
*.ilk
51+
*.meta
52+
*.obj
53+
*.pch
54+
*.pdb
55+
*.pgc
56+
*.pgd
57+
*.rsp
58+
*.sbr
59+
*.tlb
60+
*.tli
61+
*.tlh
62+
*.tmp
63+
*.tmp_proj
64+
*.log
65+
*.vspscc
66+
*.vssscc
67+
.builds
68+
*.pidb
69+
*.svclog
70+
*.scc
71+
72+
# Chutzpah Test files
73+
_Chutzpah*
74+
75+
# Visual C++ cache files
76+
ipch/
77+
*.aps
78+
*.ncb
79+
*.opensdf
80+
*.sdf
81+
*.cachefile
82+
83+
# Visual Studio profiler
84+
*.psess
85+
*.vsp
86+
*.vspx
87+
*.sap
88+
89+
# TFS 2012 Local Workspace
90+
$tf/
91+
92+
# Guidance Automation Toolkit
93+
*.gpState
94+
95+
# ReSharper is a .NET coding add-in
96+
_ReSharper*/
97+
*.[Rr]e[Ss]harper
98+
*.DotSettings.user
99+
100+
# JustCode is a .NET coding add-in
101+
.JustCode
102+
103+
# TeamCity is a build add-in
104+
_TeamCity*
105+
106+
# DotCover is a Code Coverage Tool
107+
*.dotCover
108+
109+
# NCrunch
110+
_NCrunch_*
111+
.*crunch*.local.xml
112+
nCrunchTemp_*
113+
114+
# MightyMoose
115+
*.mm.*
116+
AutoTest.Net/
117+
118+
# Web workbench (sass)
119+
.sass-cache/
120+
121+
# Installshield output folder
122+
[Ee]xpress/
123+
124+
# DocProject is a documentation generator add-in
125+
DocProject/buildhelp/
126+
DocProject/Help/*.HxT
127+
DocProject/Help/*.HxC
128+
DocProject/Help/*.hhc
129+
DocProject/Help/*.hhk
130+
DocProject/Help/*.hhp
131+
DocProject/Help/Html2
132+
DocProject/Help/html
133+
134+
# Click-Once directory
135+
publish/
136+
137+
# Publish Web Output
138+
*.[Pp]ublish.xml
139+
*.azurePubxml
140+
# TODO: Comment the next line if you want to checkin your web deploy settings
141+
# but database connection strings (with potential passwords) will be unencrypted
142+
*.pubxml
143+
*.publishproj
144+
145+
# NuGet Packages
146+
*.nupkg
147+
# The packages folder can be ignored because of Package Restore
148+
**/packages/*
149+
# except build/, which is used as an MSBuild target.
150+
!**/packages/build/
151+
# Uncomment if necessary however generally it will be regenerated when needed
152+
#!**/packages/repositories.config
153+
154+
# Windows Azure Build Output
155+
csx/
156+
*.build.csdef
157+
158+
# Windows Azure Emulator
159+
efc/
160+
rfc/
161+
162+
# Windows Store app package directory
163+
AppPackages/
164+
165+
# Visual Studio cache files
166+
# files ending in .cache can be ignored
167+
*.[Cc]ache
168+
# but keep track of directories ending in .cache
169+
!*.[Cc]ache/
170+
171+
# Others
172+
ClientBin/
173+
[Ss]tyle[Cc]op.*
174+
~$*
175+
*~
176+
*.dbmdl
177+
*.dbproj.schemaview
178+
*.pfx
179+
*.publishsettings
180+
node_modules/
181+
orleans.codegen.cs
182+
183+
# RIA/Silverlight projects
184+
Generated_Code/
185+
186+
# SDK-style project generated files
187+
Generated/
188+
189+
# Backup & report files from converting an old project file
190+
# to a newer Visual Studio version. Backup files are not needed,
191+
# because we have git ;-)
192+
_UpgradeReport_Files/
193+
Backup*/
194+
UpgradeLog*.XML
195+
UpgradeLog*.htm
196+
197+
# SQL Server files
198+
*.mdf
199+
*.ldf
200+
201+
# Business Intelligence projects
202+
*.rdl.data
203+
*.bim.layout
204+
*.bim_*.settings
205+
206+
# Microsoft Fakes
207+
FakesAssemblies/
208+
209+
# GhostDoc plugin setting file
210+
*.GhostDoc.xml
211+
212+
# Node.js Tools for Visual Studio
213+
.ntvs_analysis.dat
214+
215+
# Visual Studio 6 build log
216+
*.plg
217+
218+
# Visual Studio 6 workspace options file
219+
*.opt
220+
221+
# Visual Studio LightSwitch build output
222+
**/*.HTMLClient/GeneratedArtifacts
223+
**/*.DesktopClient/GeneratedArtifacts
224+
**/*.DesktopClient/ModelManifest.xml
225+
**/*.Server/GeneratedArtifacts
226+
**/*.Server/ModelManifest.xml
227+
_Pvt_Extensions
228+
229+
# Paket dependency manager
230+
.paket/paket.exe
231+
232+
# FAKE - F# Make
233+
.fake/
234+
235+
# =========================
236+
# Operating System Files
237+
# =========================
238+
239+
# OSX
240+
# =========================
241+
242+
.DS_Store
243+
.AppleDouble
244+
.LSOverride
245+
246+
# Thumbnails
247+
._*
248+
249+
# Files that might appear in the root of a volume
250+
.DocumentRevisions-V100
251+
.fseventsd
252+
.Spotlight-V100
253+
.TemporaryItems
254+
.Trashes
255+
.VolumeIcon.icns
256+
257+
# Directories potentially created on remote AFP share
258+
.AppleDB
259+
.AppleDesktop
260+
Network Trash Folder
261+
Temporary Items
262+
.apdisk
263+
264+
# Windows
265+
# =========================
266+
267+
# Windows image file caches
268+
Thumbs.db
269+
ehthumbs.db
270+
271+
# Folder config file
272+
Desktop.ini
273+
274+
# Recycle Bin used on file shares
275+
$RECYCLE.BIN/
276+
277+
# Windows Installer files
278+
*.cab
279+
*.msi
280+
*.msm
281+
*.msp
282+
283+
# Windows shortcuts
284+
*.lnk
285+
286+
# Claude Code local settings
287+
CLAUDE.local.md
288+
.claude/

0 commit comments

Comments
 (0)