AI Inception: Building AI Solutions with AI for AI

Last month I had the pleasure of speaking at the Sydney event for Global Azure. My session was the title of this post, AI Inception: Building AI Solutions with AI for AI. One key component of my talk was on Recursive AI. The concept of using AI tools to build AI solutions that further utilise AI capabilities.

The majority of the session was a series of live demo’s primarily focussing on using AI (GitHub Copilot) to write PowerShell Functions that can be integrated with the PowerShell MCP Module from Doug Finke.

This powerful little module opens up the world to your AI Clients allowing you to quickly write integrations to whatever you need to for your individual needs. I showed examples of:

  • Geolocation
  • Weather
  • Hash Type Identification

Geolocation

The geolocation demo showed using Github Copilot to build an MCP server with tools for retrieving geolocation information from the machines public IP address.

  1. Get-PublicIPAddress – Retrieves the public IP address of the machine running the script
    • Uses http://ipinfo.io/json for IP address lookup
    • Useful for debugging and API testing
  2. Find-Geolocation – Resolves an IP address or domain name to geolocation information
    • Uses the https://freegeoip.live API for geolocation data
    • Supports both IP addresses and domain names
    • Provides details such as country, region, city, and more

Weather

The weather demo showed showed weather forecast capabilities built off utilising the Geolocation functions and exposing it via the MCP.

  1. Get-WeatherForecast – Retrieves weather forecasts for locations worldwide
    • Uses the free Open-Meteo weather API (no API key required)
    • Supports location input as city name or exact coordinates
    • Can provide forecasts for 1-7 days
    • Returns either daily summaries or detailed hourly forecasts
    • Includes temperature, precipitation, humidity, wind speed, and weather condition descriptions

Demo

Putting those functions together in an MCP Server locally with PowerShell then lets you do simple, helpful and powerful queries using natural language like this:

Hash Type Identification

The Hash Type Identifiation demo was a two part demo. First showing using Github Copilot to transpose a Python project to PowerShell for hashtype identification. The second part enabling that as an MCP server for identifying hash algorithm types.

  1. Get-HashType – Identifies the algorithm of given hash strings
    • Pure PowerShell implementation using pattern matching
    • Supports over 25 different hash types including common cryptographic hashes and password hashes
    • Returns matches with confidence levels (high, medium, low)
    • Multiple output formats: colorized text, PowerShell objects, or JSON

Presentation (PowerPoint)

Here is the short presentation that set the scene and wrapped up the session.

Summary

I highly recommend experimenting with the PowerShell MCP Module using my examples to get you started.