Markus van Kempen Mensch, Maker and Nerd GitHub

Open source · Toronto · Developer advocate

Mensch, Maker and Nerd

Enterprise AI, devices, classrooms, and the odd ferry

25+ years building things at IBM. The badge says Executive Architect. The soul says developer advocate.

25Extensions & tools
8MCP servers
5+AI IDEs
MIT · Apache 2.0Open source
Work

Projects

⚙

IBM Maximo

API exploration, editor extensions, and MCP — same tools in VS Code, Cursor, Bob, and the other editors

VS Code

Maximo API Explorer

Discover, browse, and test IBM Maximo REST APIs from VS Code, Cursor, Antigravity, Bob, or Windsurf. Interactive query builder, schema viewer, code snippet generator, and Carbon Design System app templates.

  • Browse Object Structures with search & filter
  • Interactive OSLC query builder with live results
  • Auto-generate TypeScript, Python, cURL snippets
  • Carbon Design System app scaffolding
  • Export project context for AI coding assistants
Maximo asset dashboard listing pumps, generated with the Maximo MCP server MCP Server

Maximo MCP Server

Model Context Protocol server that connects AI assistants (Claude, ChatGPT, Copilot) directly to your Maximo instance. Query data, manage work orders, and explore APIs through natural language.

  • Works in VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline
  • Natural language queries to Maximo data
  • Full CRUD operations via AI chat
  • Secure API key authentication
VS Code

Maximo VS Code Extension

Lightweight editor extension for quick Maximo API connectivity, authentication management, and API testing in VS Code, Cursor, Antigravity, Bob, or Windsurf.

  • Quick connect to Maximo instances
  • API key & basic authentication
  • Endpoint testing panel
  • Minimal footprint
🤖

Watsonx Orchestrate

Agent builders, WxO MCP, and the WXO Labs catalog

🎓 Tutorial · 14 labs

WXO Labs — From Zero to Hero

Hands-on watsonx Orchestrate learning path: Python tools, MCP, SSO, RBAC, observability, and RAG — with runnable source for each lab.

MCP Server

WxO (Watsonx Orchestrate) Builder MCP Server

Manage IBM Watsonx Orchestrate tools, agents, and connections from VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, or Cline. Accelerate your agentic workflow development.

  • Manage tools, agents, and connections
  • Scale your Orchestrate capabilities with AI
  • Interactive connection management
  • Same MCP server in VS Code, Cursor, Bob, and the other editors
MCP Server

WxO Agent MCP

Minimal MCP server that invokes a single Watson Orchestrate agent remotely. Configure once via env vars — the same stdio server in VS Code, Cursor, Bob, Antigravity, Windsurf, Cline, and Langflow when you only need chat with one agent.

  • invoke_agent(message) and get_agent() tools
  • No tool management, listing, or flows — just agent chat
  • npx wxo-agent-mcp stdio transport
  • Listed in the MCP Registry
MCP Server · Apache 2.0

Slack ↔ WxO MCP Gateway

Gateway that routes many Slack channels to many Watsonx Orchestrate agents, with in-thread replies and a streamable HTTP toolkit for VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline. Install from npm. The GitHub repo is the docs and registry metadata.

  • Channel-to-agent bindings in one config
  • Poller or Slack Events wake the agent
  • npx @markusvankempen/slack-wxo-mcp-gateway
VS Code

WxO Builder (Watsonx Orchestrate Development Tool)

Visual tool builder and agent manager for Watsonx Orchestrate. Develop, test, and deploy skills and agents from VS Code, Cursor, Antigravity, Bob, or Windsurf.

  • Visual & JSON tool editor with templates
  • Import OpenAPI or public APIs
  • Local & remote tool testing
  • Agent creation and drag & drop tool assignment
  • Integrated chat for agent testing
VS Code

WxO ToolBox (VS Code Extension)

Export, import, compare, and replicate Watson Orchestrate agents, tools, flows, and connections from VS Code, Cursor, Antigravity, Bob, or Windsurf. Activity bar browser, form-based editors, observability traces, and multi-environment management — powered by the bundled WxO-ToolBox CLI.

  • Browse agents, tools, toolkits, flows, connections, plugins
  • Form-based create/edit with YAML/JSON sync
  • Export, import, compare, replicate across environments
  • Observability traces, secrets editor, WxO project tree
CLI / Bash

WxO CLI Utilities Toolkit (Bash)

Original Bash CLI toolkit to export, import, compare, and validate IBM Watson Orchestrate resources. For the newer TypeScript CLI + VS Code extension, see WxO ToolBox.

  • Bulk export/import agents, tools, and flows
  • Move assets between environments
  • Compare differences between WxO deployments
  • Safely manage and migrate connection credentials
⚡

MCP servers & remote gateways

Ticketing, Zendesk, and Code Engine gateways, plus the MCP Dev Summit talk. Maximo, Watsonx, and Quantum servers sit in their own tabs.

MCP (Model Context Protocol) is the open standard that lets AI assistants call real APIs instead of just talking about them. An AI assistant calls tools, and the MCP server talks to the platform APIs on its behalf. Most of the MCP servers and extensions here work in the same editors: VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline. Extensions add visual UIs, diagnostics, and one-click mcp.json setup.

How the pieces connect

VS Code · Copilot · Cursor · Antigravity · Bob · Windsurf · Cline @markusvankempen/*-mcp Maximo · WxO · Quantum · Zendesk · IBM Cloud

01

Install & connect

VS Code Marketplace, Open VSX, or npx. The same package installs in VS Code, Cursor, Antigravity, Bob, and Windsurf. Credentials stay local or on Code Engine.

02

MCP tools in your IDE

Ask the AI to list backends, query Maximo, manage WxO agents, submit OpenQASM, or handle Zendesk tickets — via typed MCP tools.

03

Deploy remotely (optional)

IBM Code Engine SSE gateways share one URL across the team — server-side secrets, dashboard, and connection test UI.

MCP Server · MIT

MCP Ticket Demo

Full-stack MCP reference server — 10 tools, 3 resources, 5 prompts, auth, rate limiting, and a live observability dashboard. Run it with npx mcp-ticket-demo. Personal open-source project, not an IBM product.

  • stdio, SSE, and Streamable HTTP from one codebase
  • Auth modes, API keys, per-tool gates, and rate limits
  • Works with VS Code, GitHub Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline
  • Companion to the MCP Dev Summit talk
VS Code extension · MIT

LF MCP Demo

Control-plane extension for the ticket demo. Registers the server in VS Code, Cursor, Antigravity, Bob, or Windsurf, then checks health, tools, and diagnostics from the editor. Published as MarkusvanKempen.lf-mcp-summit-demo.

  • Register the server from the extension
  • Diagnostics panel for health and tool inventory
  • Same repo as the MCP server, under extension/
MCP Server

Code Engine MCP Server

Model Context Protocol server for IBM Code Engine and Docker/Podman. Deploy, manage, and monitor containerized workloads from VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, or Cline — no CLI required.

  • 43 tools: apps, jobs, builds, secrets, configmaps
  • Build & run containers with Docker or Podman
  • Full application lifecycle management
  • Works in VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline
  • IBM Cloud IAM authentication via API key
MCP Server

Zendesk MCP Server

Model Context Protocol server that connects AI agents to Zendesk Support. Create, search, assign, comment, and close tickets through natural language in VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, Cline, Claude Desktop, or watsonx Orchestrate. Solves requester attribution so Zendesk email replies route correctly.

  • 14 tools — create, get, update, search, assign, close tickets
  • TypeScript (npx) and Python (pip) implementations
  • Works in VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline
  • IBM Code Engine SSE deployment for remote access
  • watsonx Orchestrate agent integration
MCP as a Platform talk banner for MCP Dev Summit Toronto, Markus van Kempen Talk · MIT

MCP as a Platform

Linux Foundation MCP Dev Summit talk deck, outline, and PDF. The live demo is the MCP Ticket Demo server and the LF MCP Demo extension.

  • Slide deck hosted on GitHub Pages
  • Toronto, 5 October 2026
  • Pairs with the ticket demo repo
⚛

IBM Quantum

OpenQASM 2.0 circuits, Quantum Lab, and remote MCP on Code Engine

VS Code

Quantum OpenQASM Assistant

VS Code extension for OpenQASM 2.0 on IBM Quantum — Quantum Lab, job polling, histograms, diagnostics, and one-click MCP setup in VS Code, Cursor, Antigravity, Bob, Windsurf, and Cline. Local stdio or remote Code Engine SSE.

  • Quantum Lab with Bell-state and example circuits
  • Submit OpenQASM jobs, poll status, fetch histograms
  • Setup MCP for AI assistants (npm or bundled server)
  • Remote MCP mode via Code Engine /sse
  • IBM API key + Service CRN diagnostics panel
MCP Server

Quantum OpenQASM MCP Server

Model Context Protocol server for IBM Quantum — list backends, submit OpenQASM 2.0 circuits, poll jobs, and fetch histograms via natural language in VS Code, Copilot, Cursor, Antigravity, Bob, Windsurf, and Cline. Deploy remotely on IBM Code Engine with dashboard and SSE gateway.

  • 10 tools — backends, jobs, QASM submit, credentials check
  • npx @markusvankempen/quantum-openqasm-mcp (stdio)
  • IBM Code Engine SSE — server-side credentials
  • Setup script: setup-remote-mcp.sh for IDE mcp.json
  • Connection test UI + admin panel on gateway
⏰

Clocks & devices

Word clocks, radar, traffic, and the Englishtown ferry

Chrome extension · MIT

Stanza Clock

A word clock for your Chrome new tab. 8×8 and 16×16 letter plates in English, German, French, Spanish, Italian, Dutch, and Portuguese. Companion to the ESP-WordClock8x8 desk clock.

  • New tab, toolbar popup, and options page
  • 18 plates, speaking clock, and night dimming
  • English 8×8 faces match the ESP firmware
ESP word clock with HALF and PAST lit on an 8 by 8 letter face ESP32 · MIT

ESP Word Clock 8×8

English 8×8 WS2812 word clock for ESP32-S3 and ESP8266, with a web dashboard, live face simulator, MQTT, and OTA updates.

  • Home, ATWENTYD, and TWFIFTHA faces
  • Web dashboard and face simulator
  • Same letters as Stanza Clock on a new tab
Ink O'Clock on a screen, showing 11:38 with a line from The Circle Alexa skill

Ink O'Clock

Alexa skill that tells the time with a line from a book. Voice on Echo, and a cream page on Echo Show and Fire TV. Say “Alexa, open ink clock.”

  • A literature line for the current minute
  • Echo Show and Fire TV page layout
  • Quotes from the literature-clock collection
Round ESP32 radar display plotting nearby flights ESP32-C3 · MIT

ESP TFT Plane Radar

Live ADS-B plane radar on ESP32-C3 with a round GC9A01 TFT, a self-hosted web dashboard, MQTT, and OTA updates.

  • Round radar plot with range rings
  • Leaflet map and flight table on the device
  • Public ADS-B, MQTT, or a local receiver
ESP32 · LoRaWAN

ESP32 Traffic Paxcounter

Dual-LiDAR traffic counter for vehicle speed, length class, and ferry queue depth on ESP32, with LoRaWAN telemetry and a Node-RED dashboard.

  • Directional counts, speed, and length class
  • LoRaWAN uplink and Node-RED dashboard
  • M5Stack, TTGO, and Heltec targets
TTGO T-Beam · Apache 2.0

TTGO T-Beam Sensor Node

LoRaWAN sensor node on a TTGO T-Beam: BME280, GPS, OLED, and a WiFi dashboard with a live map. Pax counting over WiFi and BLE is on the same board.

  • LoRaWAN OTAA and ABP
  • Web dashboard and OpenStreetMap marker
  • WiFi manager for setup
Nova Scotia · public

FerryLight

Real-time Englishtown ↔ Jersey Cove ferry tracker for Cape Breton. The public site covers the blog, slides, podcast, and architecture — AIS, a progressive web app, Node-RED, and a WLED status display.

  • Live ferry status at ferrylight.online
  • Blog, slide deck, and podcast
  • Weather, events, and wait-or-drive guidance for the North Shore
✎

Articles

Research from Floor 7½ · Mind your head. A seven-part series on software with a new customer: AI. All seven parts · Floor 7½ home

Part 1 of 7: Software Has a New Customer: AI (And Your Name Is Still on the Bill), Markus van Kempen Part 1 of 7 · 3 min read

Software Has a New Customer: AI

AI writes the code. More and more, AI is also the one who asked for it. A person still pays the bill.

Part 2 of 7: Error Messages Are the New Prompts (Writing for a Literal Mind), Markus van Kempen Part 2 of 7 · 4 min read

Error Messages Are the New Prompts

Traditional software rejected bad input. AI accepts bad input, guesses what you meant, and ships it anyway.

Part 3 of 7: The Trust Gap: Why "All Checks Passed" Doesn't Mean It Worked, Markus van Kempen Part 3 of 7 · 3 min read

The Trust Gap: Why "All Checks Passed" Doesn't Mean It Worked

When machines verify machines, you get flawless execution of the wrong goal.

Part 4 of 7: Nobody Is Reading the Code Anymore (Three Machines in a Trench Coat), Markus van Kempen Part 4 of 7 · 3 min read

Nobody Is Reading the Code Anymore

When AI writes the code, checks it, and is the client that runs it, the old human safety net disappears. Here is what replaces it.

Part 5 of 7: Machine-to-Machine: When AI Codes for AI Without Human Supervision, Markus van Kempen Part 5 of 7 · 4 min read

Machine-to-Machine: When AI Codes for AI Without Human Supervision

What happens when humans leave the daily loop, and where we must draw the "Thermostat Line."

Part 6 of 7: Never Let the Robot Grade Its Own Homework (The Immutable Diary), Markus van Kempen Part 6 of 7 · 3 min read

Never Let the Robot Grade Its Own Homework

A rule the AI can edit is only a suggestion. A log the AI can rewrite is only a story.

Part 7 of 7: The Smart Switch Fallacy: Why Every AI Workflow Needs a Manual Toggle, Markus van Kempen Part 7 of 7 · 4 min read

The Smart Switch Fallacy: Why Every AI Workflow Needs a Manual Toggle

If the only way to stop an automated system is to politely ask the system to stop, you are no longer in control.

Too Many Tools Spoil the Agent, Markus van Kempen Article · 5 min read

Too Many Tools Spoil the Agent

Scaling an MCP server isn’t about traffic. It’s about how many choices you hand the model. From the MCP Dev Summit in Toronto.

The Great Inversion: Nearly 40 Years of Software Engineering in Reverse, Markus van Kempen Essay · 8 min read

The Great Inversion: Nearly 40 Years of Software Engineering in Reverse

How code went from cathedral to sketch, and what’s still left for us humans. From a RAM test on an Amiga in 1988 to judging code a machine wrote in 2026.

From Scratch to watsonx Orchestrate: What Building MCP Servers Taught Me, Markus van Kempen Article · 20 min read

From Scratch to watsonx Orchestrate: What Building MCP Servers Taught Me

From a 40-line first server to a portfolio on npm, the VS Code Marketplace, and watsonx Orchestrate. What I learned building MCP servers — from the MCP Dev Summit Toronto.

💾

Earlier work

From a teenager's living-room startup in 1988 to IBM Think 2020 — where it all started

IBM Think logo for the Think 2020 IoT lab Think 2020 · IoT lab

ThinkLab 1239

Hyper-localized weather and crop prediction for IBM Think 2020. A Raspberry Pi, temperature sensors, and a camera feed Watson IoT. Node-RED sends that into Weather Underground, Watson Studio builds a model from historic and live data, and Visual Recognition reads the camera image. Vegetable attributes extend the forecast to what would grow in a garden three to six months out.

  • Lab setup, Node-RED flows, and notebooks
  • Session 1239, with a PDF of the lab
RAM-TEST V3.11 GIGATRON logo screen, written by Markus van Kempen Amiga · 1988

RAM-TEST

Memory diagnostic for GIGATRON Amiga 500 and 1000 expansion boards, written as a teenager in a living-room startup and recovered so it runs again in Amiberry.

  • Bootable ADF images and screenshots
  • Tests map failures to chips on the board
About

Markus van Kempen

Mensch, Maker and Nerd — Developer Advocate

Developer at heart. I'm always looking for ways to connect it, sense it, or make it easier for people to use data — especially with IoT and AI. I open-source things because I want them to exist, not because anyone asked.

The projects here span enterprise AI tooling, community devices, ferry trackers, classrooms, and the occasional hackathon. If it connects to something real or helps someone understand a platform, it's worth building and sharing.

Based in Toronto, that work shows up here as open-source MCP servers, IDE extensions, clocks, and community devices. Projects are Apache 2.0 or MIT.

Session

MCP as a Platform: What I Learned Building a Portfolio of MCP Servers

Building one MCP server teaches you the protocol. Building five teaches you what MCP actually is. This is a practitioner's talk about tool design, what is worth sharing across servers, READMEs people can actually use, and discoverability — where someone finds an MCP server today.

If you're building your second or third MCP server and want to go faster, this one's for you. The servers are the projects on this site.

Hackathons

HackMIT 2023 — generative AI in the real world

In September 2023 I mentored at HackMIT, an IBM-sponsored weekend on the MIT campus. The challenge was connecting generative AI to real-world, real-time questions — hardware, embeddable AI, and cloud accounts on the table, any vendor welcome in the build.

Sixty-eight IBM submissions. After the pitches, the IBM prizes went to Reflexion Buddy, FireNet, and MediSum. Earlier, at HackMIT 2019, I was on the team that built Pill Safety.

HackMIT 2019 team on the floor during the weekend HackMIT 2019 video

STEM education

Tech Wednesdays at Six Nations Polytechnic

For several years I taught hands-on STEAM at Six Nations Polytechnic. A class is about 70 minutes, so each lab fits in one sitting: Raspberry Pi, Node-RED, IBM Cloud, a Bluetooth candle, a burglar alarm, a 7-segment clock, and a ramp timed with infrared breakers.

The ESP8266 and DHT11 course wires a sensor, serves temperature and humidity on a page, and reads the time from NTP. The 2019 Christmas hack turned leftover PlayBulb candles into a hat light so students could be seen at night.

Demos

Sonification, rhinos, and CeBIT

Sonification turns the IBM IoT building in Munich into sound: room bookings, lights, open windows, air quality, elevator speed, and the rest of the sensor stream. The write-up is on the blog, and the short film is on YouTube.

Animal Tracking with LoRaWAN is the saving-rhinos demo: low-power long-range sensors so rangers can follow the animals. At CeBIT, Watson Visual Recognition ran on a drone.

Topics

Public code for these lives at github.com/markusvankempen.