Mist MCP Provider VS Code Extension
This extension distributes a preconfigured MCP server definition provided as Mist MCP Server.
The server is configured as:
- URL:
https://mcp.ai.juniper.net/mcp/mist
- Transport: HTTP
- Headers:
Authorization: Bearer <token>
X-Mist-Base-URL: <selected-host>
This extension supports multiple profiles, so you can store different API tokens (including for the same host).
Each profile stores:
- Mist API token (stored securely in VS Code secret storage)
- Mist Host URL (saved in extension global state)
Host options:
Default host is https://api.mist.com.
Commands
Mist MCP: Add or Update Profile
Mist MCP: Select Active Profile
Mist MCP: Edit Profile
Mist MCP: Delete Profile
Mist MCP: Rename Profile
Mist MCP: Show Active Profile
Mist MCP: Clear Active Profile Token
Mist MCP: Install Skills
Mist MCP: Update Installed Skills
Mist MCP: Remove Installed Skills
- Open Command Palette.
- Run
Mist MCP: Add or Update Profile.
- Choose Add New Profile or select an existing profile to update.
- Select the profile host URL.
- Enter the profile token.
Before saving a token, the extension validates it against GET /api/v1/self on the selected cloud host. If the token is invalid for that cloud, the UI shows an error and does not save the token.
When validation fails, the token input reopens so you can retry immediately without restarting the command flow.
The token is saved in VS Code Secret Storage and the host is saved in extension state.
2. Select the active profile
- Open Command Palette.
- Run
Mist MCP: Select Active Profile.
- Choose the profile to use for MCP requests.
3. Use the MCP server
- Open Copilot Chat / agent mode in VS Code.
- Start any flow that uses MCP tools.
- When VS Code resolves the server, this extension provides:
- MCP URL:
https://mcp.ai.juniper.net/mcp/mist
Authorization: Bearer <token>
X-Mist-Base-URL: <selected-host>
If token or host is missing, VS Code prompts you.
The MCP server entry label includes the active profile name, for example:
You can also run Mist MCP: Show Active Profile from the Command Palette.
4. Update or reset later
- Re-run
Mist MCP: Add or Update Profile to add more profiles or update an existing one.
- Run
Mist MCP: Select Active Profile to switch which token/host is used.
- Run
Mist MCP: Edit Profile to modify the host and optionally replace the token of one profile.
- Run
Mist MCP: Delete Profile to remove one profile and its stored token.
- Run
Mist MCP: Rename Profile to rename one profile.
- Run
Mist MCP: Clear Active Profile Token to remove only the active profile token.
If you change the host but leave token input empty, the extension validates the currently stored token against the new cloud before saving the profile.
Skills Management
Skills are loaded only from this repository:
https://github.com/tmunzer-AIDE/mist-skills
You can install those skills into either:
- Workspace scope:
.github/skills
- Personal scope:
~/.copilot/skills
Install skills from a repo
- Open Command Palette.
- Run
Mist MCP: Install Skills.
- Choose install target (
Workspace or Global).
The extension scans the repo for folders that contain SKILL.md and installs each discovered skill folder.
It always uses branch main and scans from the repository root.
If existing managed skill folders will be replaced or removed, the extension asks for confirmation before continuing.
Update installed skills
- Open Command Palette.
- Run
Mist MCP: Update Installed Skills.
- Choose the managed install target to refresh.
Updates always pull from https://github.com/tmunzer-AIDE/mist-skills on branch main and repository root.
Remove installed skills
- Open Command Palette.
- Run
Mist MCP: Remove Installed Skills.
- Choose the managed install target to remove.
This removes only skill folders previously installed by this extension for that target.
Development
Prerequisites
- Node.js 20+
- npm 10+
- VS Code 1.105+
Setup and validation
npm install
npm run compile
npm test
Watch mode
npm run watch
Build and Package
Build a distributable VSIX and set the extension version in one step:
make package VERSION=x.y.z
This command will:
- Update
package.json version (without creating a git tag)
- Install dependencies
- Compile TypeScript
- Run tests
- Package the extension
Output artifact:
dist/mist-mcp-provider-<version>.vsix
Clean build outputs:
make clean
Contributing
- Create a feature branch.
- Implement changes in
src/ and add or update tests in src/test/.
- Run
npm test and make package VERSION=x.y.z.
- Update README when behavior, commands, or build flow changes.
- Open a pull request with a short summary and test notes.
Never commit API tokens or other secrets.