Visio MCP — VS Code Extension
Thin VS Code extension that bundles the VisioMcpServer executable and registers it as
an MCP server, so AI assistants in VS Code (e.g. GitHub Copilot Chat) can drive Microsoft
Visio via natural language — with no manual mcp.json editing by the end user.
Distribution model
This extension is intended to be published unlisted on the Visual Studio Marketplace:
- Not searchable, not discoverable.
- Installable only by people who know the extension ID (
<publisher>.visio-mcp) or
have the direct install URL.
- Auto-updates work normally — bump
version in package.json, run
npm run publish:unlisted, and every existing customer receives the update on the
next VS Code refresh.
There is no per-customer access gate in this build. Treat the install URL as private.
Prerequisites (developer)
- Node.js 20+
- .NET 8 SDK (to publish the server exe)
- A Marketplace publisher and a PAT with Marketplace (Manage) scope
(only needed when actually publishing; not needed for local builds)
One-time setup
cd visio\tools\mcpserver-vscode
npm install
# Set your real publisher id in package.json (replace REPLACE_WITH_YOUR_PUBLISHER_ID)
Build a local VSIX
npm run package
This will:
dotnet publish VisioMcpServer as a self-contained single-file exe into ./server/.
- Compile the TypeScript extension into
./dist/.
- Run
vsce package to produce visio-mcp-<version>.vsix.
You can install that locally with:
code --install-extension .\visio-mcp-<version>.vsix
Publish to Marketplace as unlisted
# First publish: log in once (uses a Marketplace PAT)
npx vsce login <your-publisher-id>
# Bump version in package.json, then:
npm run publish:unlisted
After the publish, go to https://marketplace.visualstudio.com/manage →
your extension → More actions → Make Unlisted. (vsce currently has no flag for
this; the toggle is one-time per extension.)
Future version bumps stay unlisted automatically.
Customer install
Send customers the direct URL:
https://marketplace.visualstudio.com/items?itemName=<publisher>.visio-mcp
or the CLI command:
code --install-extension <publisher>.visio-mcp
After install, the Visio MCP server is registered automatically. In Copilot Chat (or any
MCP-aware client), the customer should see Visio tools available without touching
mcp.json.
Updating customers
- Make changes in this folder and/or in the sibling
mcpserver .NET project.
- Bump
version in package.json (semver).
npm run publish:unlisted.
- VS Code's normal extension auto-update picks up the new version on each customer
machine within hours (or immediately if they restart).