Jump to content

[UDF] AutoIt MCP SDK - Connect AutoIt to LLMs and AI Agents (Model Context Protocol)


Recommended Posts

Posted

Hi everyone,

I am proud to introduce a new open-source project, built with love in pure AutoIt, designed to bridge the gap between AutoIt’s powerful desktop automation capabilities and modern Large Language Models (LLMs) and AI agents: the AutoIt Model Context Protocol (MCP) SDK.

What is the Model Context Protocol (MCP)?
Standardized by Anthropic, the Model Context Protocol is an open-standard JSON-RPC protocol that allows LLM clients (like Claude Desktop or custom AI agent loops) to securely discover and execute "tools", read "resources", and interact with local environments.

By building an MCP host/server in AutoIt, you can give AI assistants the ability to natively control Windows applications, query databases, automate GUIs, and inspect files using the UDFs you’ve already written.

What is in the SDK?
This is a clean-room, dependency-free UDF library designed for AutoIt 3.3.18.0. The project includes:

  • Client & Server Host Frameworks: Easily compile your own AutoIt-based MCP servers or build client apps that communicate with remote/local MCP services.
  • Dual-Transport Support:
    • Stdio: Standard input/output for local process execution.
    • SSE & Streamable HTTP: Network-based transport supporting HTTP POST and Server-Sent Events, complete with optional manual Bearer token authentication (RFC 6750 compliant) and log-redaction security.
  • A Native Win32 MCP Inspector: A diagnostic GUI application built entirely in AutoIt to inspect, test, and debug JSON-RPC traffic, preview remote profiles, and execute automated test recipes.
  • Ready-to-use Reference Servers:
    • Everything Server: Reference server to demonstrate full compliance with the conformance test set.
    • Filesystem Server: Securely exposes file access with built-in path canonicalization and directory-jail restrictions.
    • AutoIt Toolchain Server: Exposes compiler wrappers, syntax check gates (Au3Check), and execution managers.
  • Clean Code Base: The core codebase has been audited, compiled and heavily tested over several months by me.

A Simple Example: Creating an AutoIt MCP Server
With this SDK, exposing a custom AutoIt function as an AI tool requires only a few lines of code:

AutoIt:

#include "MCP.au3"
Opt("MustDeclareVars", 1)
; Initialize the Server Host using Stdio transport
Local $hServer = _MCP_Server_Create("MyAutoItTools", "1.0.0")
; Define and register a tool
Local $mSchema = _MCP_Util_CreateSchemaObject("object")
_MCP_Util_AddSchemaProperty($mSchema, "text", "string", "The text to show in the popup.")
_MCP_Server_RegisterTool($hServer, "show_popup", "Displays a Windows MsgBox.", $mSchema, "MyPopupCallback")
; Keep the server listening
_MCP_Server_Start($hServer)
Func MyPopupCallback($sToolName, $mParams)
    Local $sText = $mParams["text"]
    MsgBox(64, "AI Agent Popup", $sText)
    
    ; Return JSON-RPC response
    Local $mResponse[]
    $mResponse["content"] = _MCP_Util_CreateTextContent("Message shown successfully.")
    Return $mResponse
EndFunc

 

Get Started & Contribute
The project is fully open-source and hosted on GitHub: 👉 Blowcake/MCP_SDK_AutoIt

Inside the repository, you will find:

  • Detailed setup guides under /docs
  • Step-by-step tutorials for the Win32 Inspector
  • Simple build and compile scripts (build.ps1)

Whether you are looking to build a local toolset for your own AI coding assistants, or wanting to integrate native Windows automation into a larger multi-agent stack, I hope you find this UDF helpful!

Feedback, bug reports, and pull requests are very welcome. Thank you for reading, and happy coding!

Best regards,
Harald Frank

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...