Nick Perkins

Platform Engineer. Volunteer Motorsport Official. ADHD Brain. Bit of a nerd.

Building Interactive MCP Tools with Elicitations: A Practical Guide

The Model Context Protocol (MCP) is revolutionising how we build AI tools, but a powerful new features recently added to the protocol will be a game changer: elicitations. These enable your MCP tools to have interactive conversations with users, gathering input dynamically rather than requiring all parameters upfront. Let me show you how to build engaging, interactive MCP tools using a practical ice cream topping recommender as our example. What Are MCP Elicitations? Continue reading

How I Built Interactive AI-Powered Training with GitHub Copilot

One of my current projects is a migration from Azure DevOps to GitHub Actions. I saw a challenge: how to effectively train DevOps teams on new tools in an engaging, practical way? Traditional docs and tutorials often miss the mark. So, I experimented: using GitHub Copilot’s Agent Mode to build an interactive, AI-powered training platform. The result was a self-paced, conversational learning experience, guiding users through complex migration scenarios like having an AI tutor. Continue reading

A simple static blog comments system using Cloudflare Workers and D1

I’ve spent the last couple of weeks off work, which has given me time to tinker with some different tech. For starters, I migrated this blog over to Hugo, a static site generated written in go. I’ve never had comments on this version of my blog, but I wondered how difficult it might be to roll my own system using Cloudflare Workers? This seemed like a good opportunity to play with one of Cloudflare’s newest offerings, D1. Continue reading

Using pyodbc in AWS Lambda functions

This week I was working on an AWS Lambda function that needed to read and write from a legacy Microsoft SQL database. It’s written using the AWS Chalice framework and in local testing everything looked great. Not so much when we needed to deploy it to AWS for testing. Why? Most of the time that you include a python package for use in a lambda function, Chalice is able to package that into the deployment, and you’re good to go. Continue reading