Hotkeyless AHK MCP
Allows interaction with a Hotkeyless AHK HTTP API to execute AutoHotkey commands for desktop automation, such as sending keystrokes, controlling windows, and running scripts.
Hotkeyless AHK MCP and Skills
This repository provides:
A TypeScript MCP server that wraps the Hotkeyless AHK HTTP API.
Reusable skill documents for OpenCode, Claude, and generic agent runtimes.
Practical examples for desktop automation scenarios.
Workspace layout
packages/
mcp-server/ # Node MCP server package
skills/ # Agent skill documents
examples/ # End-to-end usage examplesMCP server
Quick start
OpenCode
opencode.json:
{
...
"mcp": {
...
"hotkeyless-ahk": {
"type": "local",
"command": ["npx", "-y", "@tim0_12432/hotkeyless-ahk-mcp-server"],
"enabled": true,
"environment": {
"BLACKLIST": "shutdown,restart,kill"
...
}
}
},
...
}ClaudeCode
.mcp.json:
{
"mcpServers": {
...
"hotkeyless-ahk": {
"command": "npx",
"args": ["-y", "@tim0_12432/hotkeyless-ahk-mcp-server"],
"env": {
"BLACKLIST": "shutdown,restart,kill"
...
}
}
}
}Github Copilot
mcp-config.json:
{
...
"mcpServers": {
...
"hotkeyless-ahk": {
"type": "local",
"command": "npx",
"args": ["-y", "@tim0_12432/hotkeyless-ahk-mcp-server"],
"env": {
"BLACKLIST": "shutdown,restart,kill"
...
},
"tools": ["*"]
}
},
...
}Build from source
1. Build server
bun install
bun run buildnpm should also work without problems!
2. Setup your harness
OpenCode
opencode.json:
{
...
"mcp": {
...
"hotkeyless-ahk": {
"type": "local",
"command": ["node", "<absolute path to the built files>/mcp-server/dist/index.js"],
"enabled": true,
"environment": {
"BLACKLIST": "shutdown,restart,kill"
...
}
}
},
...
}ClaudeCode
.mcp.json:
{
"mcpServers": {
...
"hotkeyless-ahk": {
"command": "node",
"args": ["<absolute path to the built files>/mcp-server/dist/index.js"],
"env": {
"BLACKLIST": "shutdown,restart,kill"
...
}
}
}
}Github Copilot
mcp-config.json:
{
...
"mcpServers": {
...
"hotkeyless-ahk": {
"type": "local",
"command": "node",
"args": ["<absolute path to the built files>/mcp-server/dist/index.js"],
"env": {
"BLACKLIST": "shutdown,restart,kill"
...
},
"tools": ["*"]
}
},
...
}Hotkeyless AHK API contract
GET /listreturns JSON array of{ command: string, note: string }GET /send/<command>accepts query parameters
Configuration
Default config is at mcp-server/dist/infrastructure/config/config.ts.
Environment overrides:
Parameter override | What it does | Default |
BASE_URL | Adress of the Hotkeyless AHK server |
|
TIMEOUT_MS | Timeout milliseconds for each request | 4000 |
BLACKLIST | A list of commands to avoid being called | [] |
CACHE_TTL_MS | Cache lifetime for command list in milliseconds | 5000 |
ENDPOINT_LIST | Endpoint address of the command list |
|
ENDPOINT_TRIGGER | Endpoint address for invoking commands |
|
Agent Skills
Quick start
OpenCode
Copy the
./skills/.opencode/...folders to
.opencode/skillsfor project specific skill setup%USERPROFILE%/.config/opencode/skillsfor global setup
You can adjust AGENTS.md, custom subagents or custom commands to reference the skills
Restart your OpenCode (CLI or Desktop)
When asking the agent to use the "hotkeyless AHK skills" it should now use the skill guide
ClaudeCode
Copy the
./skills/.claude/...folders to
.claude/skillsfor project specific skill setup%USERPROFILE%/.config/claude-code/skillsfor global setup
You can adjust CLAUDE.md, custom subagents or custom commands to reference the skills
Restart your Claude Code
When asking the agent to use the "hotkeyless AHK skills" it should now use the skill guide
Github Copilot
Copy the
./skills/.claude/...folders to
.claude/skillsfor project specific skill setup%USERPROFILE%/.config/claude-code/skillsfor global setup
You can adjust AGENTS.md, custom subagents or custom commands to reference the skills
Restart your Claude Code
When asking the agent to use the "hotkeyless AHK skills" it should now use the skill guide
License
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tim0-12432/HotkeylessAHK-mcp-skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server