IBM Code Engine MCP — VS Code Extension
v1.5.0 — Same release as code-engine-mcp-server@1.5.0: Projects & Resources Tree View in the sidebar (projects → apps, jobs, builds, secrets, config maps with inline Open/Logs/Events/Restart/Delete actions), Activity sidebar view, and 8 new operational tools (system events, build-run logs, app restart, job resubmit/cancel, project quotas).
Deploy containerised apps to IBM Code Engine using natural language. This extension wires up the code-engine-mcp-server as an MCP server so any AI assistant running in your IDE (GitHub Copilot, Cline, Cursor, etc.) can build images, push them to IBM Container Registry, and deploy apps — all from a chat prompt.

What can it do?
Once configured, you can talk to your AI assistant and say things like:
"List all my Code Engine projects and show me all the running apps in each project."
"Build my app for linux/amd64, push it to my ICR namespace, and deploy it to my Code Engine project. If I don't have a pull secret, create one using my API key first."
"Deploy the developer-splash image to my Code Engine project. Check if I have a registry pull secret first, and create one if needed."
The assistant calls the MCP tools behind the scenes — no CLI commands to remember.
Projects & Resources Tree (v1.5.0)
The IBM Code Engine sidebar now includes a native Projects & Resources tree:
- Browse your projects and expand each to see its applications, jobs, builds, secrets, and config maps.
- Apps show a status dot (🟢 ready / 🟡 pending); click an app to open its URL in the browser.
- Right-click (or use the inline icons) for quick actions:
- App — Open in Browser, View Logs, View Events, Restart, Delete
- Build — View Build, Delete
- Job / Secret / Config Map — Delete
- Use the Refresh button in the tree title bar to reload; the tree also refreshes automatically when you change your API key.
You can reveal the tree from Setup & Diagnostics → Projects & Resources Tree, or via IBM Code Engine MCP: Show Quick Menu → Open Projects & Resources Tree.
Watch it live (v1.4.0)
Open IBM Code Engine MCP: Open MCP Activity Dashboard from the Command Palette to see tool calls as they happen — session timeline, deploy outcomes, live URLs, and a Deployments tab to manage apps already on Code Engine.
Prerequisites
- VS Code 1.101+ with an AI assistant that supports MCP (GitHub Copilot Chat, Cline, etc.)
- Node.js on your system PATH
- A valid IBM Cloud API key — get one at cloud.ibm.com/iam/apikeys
Getting started
1. Install the extension
2. Enter your API key
Open the IBM Code Engine MCP sidebar panel (cloud icon in the Activity Bar).
- Paste your IBM Cloud API key and click Save
- The key is stored in VS Code global settings — never in plaintext in a file
Click Configure MCP in the sidebar. This writes the server entry to mcp.json (VS Code's global MCP config) and opens the MCP Servers panel so VS Code registers it:
{
"servers": {
"code-engine": {
"type": "stdio",
"command": "npx",
"args": ["-y", "code-engine-mcp-server@latest"],
"env": {
"IBMCLOUD_API_KEY": "...",
"IBMCLOUD_REGION": "us-south"
}
}
}
}
4. Run Diagnostics
Click Run Diagnostics to verify:
- ✅ Node.js is found on PATH
- ✅ API key is configured
- ✅ MCP server is registered in
mcp.json
- ✅ Tool list is discovered from the running server
5. Optional: Provenance Receipt Visualizer
If you use the provenance addon (PROVENANCE_ENABLED=true), open Receipt Visualizer (Optional) from the sidebar Resources & Docs section (or Command Palette → Open Optional Receipt Visualizer).
The panel loads receipts from provenance-addon/receipts/live/ on open. Live refresh is optional (off by default) — toggle it in the panel header or set codeEngineMcp.provenanceLiveRefresh in settings. Use ↻ Reload for a manual refresh.
You need: clone code-engine-mcp-server (or open it in your workspace) and at least one signed receipt on disk.
Browser (no extension): from a provenance-addon clone, run npm run serve:visualizer then enable Live refresh at http://localhost:8766/visualizer.html.
6. MCP Activity Dashboard (v1.4.0)
Command Palette → IBM Code Engine MCP: Open MCP Activity Dashboard.
The panel shows:
- Activity tab — session selector, tool-call timeline, idle gaps, task-outcome banner (status, image, live URL)
- Deployments tab — Code Engine project/app inventory with get-details, redeploy, and delete actions
Live refresh is on by default (codeEngineMcp.activityLiveRefresh). The extension watches dashboard/activity/live/events.jsonl in your workspace.
Enable logging — add to MCP server env (via Configure MCP or .cursor/mcp.json):
"MCP_ACTIVITY_ENABLED": "true",
"MCP_ACTIVITY_EVENTS_PATH": "/absolute/path/to/code-engine-mcp-server/dashboard/activity/live/events.jsonl"
Restart the MCP server after changing env. Without MCP_ACTIVITY_ENABLED=true, the dashboard stays empty even while tools run.
Browser (standalone): the extension dashboard is the recommended path. If your workspace includes dashboard/ (full server source), run npm run dashboard → http://localhost:8767/
Quick start examples
The Quick Start tab in the sidebar has ready-to-use prompts. Here are a few highlights:
🔍 Discover your environment
"List all my Code Engine projects and then show me all the running apps in each project."
🚀 Developer Splash Page — one-shot deploy
Example: examples/developer-splash
"I have an app in the examples/developer-splash folder. Please build it for linux/amd64, push it to my ICR namespace, and deploy it to my Code Engine project. If I don't have a pull secret, create one using my API key first. Let me know when it's live!"
Or step by step:
- "Can you validate the Dockerfile in examples/developer-splash to ensure it's compatible with Code Engine?"
- "Please build the examples/developer-splash app and push it to my IBM Container Registry."
- "Deploy the developer-splash image to my Code Engine project. Check if I have a registry pull secret first, and create one if needed."
⭐ Star Wars Splash Page — one-shot deploy
Example: examples/starwars-splash
"I have a Star Wars splash page in examples/starwars-splash. Please build it for linux/amd64, push it to my ICR namespace, and deploy it to my Code Engine project. If I don't have a pull secret, create one using my API key first. Let me know when it's live!"
Settings reference
| Setting |
Required |
Default |
Purpose |
codeEngineMcp.apiKey |
Yes |
"" |
IBM Cloud API key |
codeEngineMcp.region |
No |
us-south |
IBM Cloud region |
codeEngineMcp.installMethod |
No |
bundled |
bundled (uses server shipped with extension) or npx (always pulls latest from npm) |
codeEngineMcp.activityLiveRefresh |
No |
true |
Watch events.jsonl and auto-reload the Activity Dashboard |
codeEngineMcp.provenanceLiveRefresh |
No |
false |
Watch provenance receipts and auto-reload the Receipt Visualizer |
Troubleshooting
"Cannot find module 'ajv'"
Run diagnostics — if Node.js v24+ is in use, the bundled server handles this. If using npx mode, ensure you're on code-engine-mcp-server@1.4.2 (extension and npm package share the same version).
MCP server not appearing in Copilot
Click Configure MCP in the sidebar. This writes the entry to ~/Library/Application Support/Code/User/mcp.json (macOS) and reloads the server list.
Diagnostics shows tools but AI assistant can't use them
Reload VS Code window (Cmd+Shift+P → Reload Window) after configuring MCP for the first time.
Activity Dashboard shows no sessions / no live updates
- Confirm
MCP_ACTIVITY_ENABLED=true is in the MCP server env (extension sidebar → Configure MCP, or .cursor/mcp.json) — not just in chat.
- Restart the MCP server (Cursor MCP panel → restart
code-engine).
- Click Show all activity if you previously clicked Clear view.
- Open the public repo (or a local clone) so the extension can find
dashboard/activity/live/events.jsonl if you use a custom events path.
Repository
Public repo: github.com/markusvankempen/code-engine-mcp-server
Key docs on GitHub:
Development
cd vscode-extension
npm install
npm run compile
# Press F5 to open an Extension Development Host
npm run package # produces code-engine-mcp-<version>.vsix (matches package.json)