iac
Universal bridge between AI/LLMs and native applications using Just-In-Time Discovery
claude mcp add --transport stdio jsavin-iac-mcp node /absolute/path/to/iac-mcp/dist/index.js \ --env NODE_ENV="production"
How to use
iac-mcp is an MCP server that provides a universal bridge between LLMs and native macOS automation through Just-In-Time Discovery (JITD). It dynamically discovers installed applications (starting with macOS capabilities like AppleScript/JXA automation and SDEF parsing) and generates MCP tools on the fly, enabling you to invoke app capabilities without pre-built integrations. Use the MCP Inspector to explore available tools and test tool execution, then use Claude Desktop to experiment with real conversations against the iac-mcp server. To connect Claude Desktop, you configure the mcpServers entry with the path to the built server (dist/index.js) and ensure Node.js is available in production mode. The server is designed to work with macOS automation surfaces and is extensible for additional platforms as JITD expands support. Once running, Claude can list tools, call a specific tool, and receive structured responses that reflect the underlying automation actions performed by the discovered apps.
How to install
Prerequisites
- macOS (Phase 1) with Monterey or later
- Node.js 20.x (LTS) or newer installed on your system
- Access to Claude Desktop for testing (optional but recommended)
Step-by-step installation
-
Clone the repository git clone https://github.com/jsavin/iac-mcp.git cd iac-mcp
-
Install dependencies npm ci
-
Build the project npm run build
-
Verify the installation (optional but recommended) npm run verify
-
Run development or production server (example) npm run dev
or in production mode after build
node dist/index.js
Prerequisites and environment management
- If you manage multiple Node versions, consider using nvm or Volta to ensure Node.js 20+ is active when running the server.
- Ensure the path you provide to dist/index.js in your MCP configuration is the absolute path to the built file.
Testing with MCP Inspector
- Start the MCP Inspector to view and test available tools: npx @modelcontextprotocol/inspector node dist/index.js
Additional notes
Tips and common issues:
- The iac-mcp server relies on macOS automation capabilities (AppleScript/JXA, SDEF parsing). Ensure your macOS environment has the required tooling and permissions configured.
- When configuring Claude Desktop, use an absolute path to dist/index.js for the iac-mcp server and set NODE_ENV as needed (production is common).
- If tools do not appear or fail to execute, first verify the server starts correctly and that npm run build completed without errors. Check dist/index.js exists and that the server process logs show progress.
- The project is designed for zero-configuration discovery, but you may need to grant accessibility permissions for automation in macOS System Settings to enable automation across apps.
- For testing, use the MCP Inspector to validate tool definitions and payloads before connecting to Claude Desktop.
Related MCP Servers
neurolink
Universal AI Development Platform with MCP server integration, multi-provider support, and professional CLI. Build, test, and deploy AI applications with multiple ai providers.
apple-mail
MCP server giving AI assistants full access to Apple Mail - read, search, compose, organize & analyze emails via natural language
FocusRelayMCP
Talk to your OmniFocus tasks. An OmniFocus MCP server that lets AI assistants query your tasks, projects, and tags using natural language—no more clicking through endless lists.
mcp-sys-bridge
An implementation of the Model Context Protocol (MCP), acting as a simple bridge to native OS functionalities like clipboard management and URL handling.
apple-notes
MCP server for Apple Notes - create, search, update, and manage notes via Claude and other AI assistants
xcode
MCP server for Xcode - enables AI assistants to create, build, test, and manage iOS/macOS projects programmatically