macOS Tools logo

macOS Tools

Community
tornikegomareli

A Model Context Protocol server that brings macOS system tools directly inside your LLM client. Monitor system performance in real-time, analyze resource usage, search files with advanced patterns, and manage file tags using native macOS APIs.

Publishertornikegomareli
Repositorymacos-tools-mcp-server
LanguageTypeScript
Forks
5
Stars
17
Available tools
2
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    macOS Tools exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 2 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    17 stars and 5 forks from the linked repository.

MseeP.ai Security Assessment Badge

macOS Internal Tools MCP Server

A MCP server for macOS that provides advanced system monitoring and file search capabilities.

smithery badge

Table of Contents

System Performance Monitor

  • Real-time Monitoring: Track CPU, memory, disk I/O, and network statistics
  • Process Analysis: View top resource-consuming processes with detailed metrics
  • Historical Tracking: Store and analyze performance data over time using SQLite
  • Optimization Suggestions: Get intelligent recommendations to improve system performance

Enhanced File Search

  • Deep Content Search: Search within file contents using regex or plain text
  • Spotlight Integration: Leverage macOS Spotlight for fast metadata searches
  • Tag Management: Create, search, and manage custom file tags using extended attributes
  • Advanced Features: Fuzzy matching, boolean operators, and file type filtering

Installation

Requirements

  • macOS 10.15 or later
  • Node.js 18.0.0 or later
  • npm or yarn package manager

Permissions

For full functionality, the server requires certain permissions:

  1. Full Disk Access (recommended for file search):

    • System Preferences → Security & Privacy → Privacy → Full Disk Access
    • Add Terminal
  2. Developer Tools (for process monitoring):

    • Install Xcode Command Line Tools if not already installed:
    bash
    xcode-select --install

How to install

Claude Desktop Configuration

To use this MCP server with Claude Desktop:

  1. Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add the macOS Tools server to your configuration:

json
{
  "mcpServers": {
    "macos-tools": {
      "command": "npx",
      "args": [
        "@tgomareli/macos-tools-mcp"
      ],
      "env": {}
    }
  }
}
  1. If you already have other MCP servers configured, add the macos-tools configuration to the existing mcpServers object:
json
{
  "mcpServers": {
    "existing-server": {
      // ... existing configuration
    },
    "macos-tools": {
      "command": "npx",
      "args": [
        "@tgomareli/macos-tools-mcp"
      ],
      "env": {}
    }
  }
}
  1. Save the configuration file and restart Claude Desktop.

  2. You should now see the macOS Tools server available in Claude Desktop with two tools:

    • system_performance - Monitor system resources
    • enhanced_search - Advanced file search and tagging

MCP Installer

Or you can use mcp-installer for installing it directly, without opening config files.

Just type in claude

Hey Claude, install the MCP server named macos-tools-mcp

Available Tools

system_performance

Monitor and analyze system performance metrics.

Parameters:

  • action (required): "current" | "history" | "processes" | "optimize"
  • timeRange (optional): Time range for historical data ("1h", "24h", "7d")
  • metric (optional): Specific metric to analyze ("cpu", "memory", "disk", "network", "all")

Examples:

typescript
await callTool("system_performance", {
  action: "current",
  metric: "all"
});

await callTool("system_performance", {
  action: "history",
  timeRange: "24h",
  metric: "memory"
});

await callTool("system_performance", {
  action: "processes",
  metric: "cpu"
});

await callTool("system_performance", {
  action: "optimize"
});

enhanced_search

Advanced file search with content analysis and tagging capabilities.

Parameters:

  • action (required): "search" | "tag" | "untag"
  • query (optional): Search query (supports regex)
  • searchType (optional): "content" | "filename" | "tags" | "regex"
  • fileTypes (optional): Array of file extensions to include
  • path (optional): Root directory for search
  • maxResults (optional): Maximum number of results
  • tags (optional): Array of tags to search for or apply

Examples:

typescript
// Search for TODO comments in code files
await callTool("enhanced_search", {
  action: "search",
  query: "TODO|FIXME",
  searchType: "regex",
  fileTypes: ["js", "ts", "py"],
  path: "~/Projects"
});

await callTool("enhanced_search", {
  action: "tag",
  path: "~/Documents/important.pdf",
  tags: ["urgent", "project-x"]
});

await callTool("enhanced_search", {
  action: "search",
  searchType: "tags",
  tags: ["urgent"],
  path: "~/Documents"
});

await callTool("enhanced_search", {
  action: "search",
  query: "apiKey",
  searchType: "content",
  fileTypes: ["json", "env"],
  path: "~/Projects",
  maxResults: 50
});

Key Features

  1. Native macOS Integration

    • Uses native commands (ps, mdfind, xattr) for optimal performance
    • Leverages Spotlight index for fast searches
    • Supports macOS extended attributes for tagging
  2. Performance Optimization

    • Multi-level caching system
    • Debounced operations
    • Rate limiting for system calls
    • Streaming for large files
  3. Data Persistence

    • SQLite database for performance history
    • Configurable data retention
    • Efficient time-series queries

License

MIT License - see LICENSE file for details

Testing the Server

Once you've configured the server in Claude Desktop, you can use these prompts to test all functionality:

Quick Test Prompts

  1. Basic Performance Check:

    Show me my current system performance metrics
  2. Process Analysis:

    What are the top 5 CPU-consuming processes on my system?
  3. File Search:

    Search for TODO comments in JavaScript files in my current directory
  4. System Optimization:

    Analyze my system and suggest performance optimizations

Comprehensive Test Suite

Use this comprehensive prompt to test all features:

I want to test the macOS Tools MCP server. Please help me:

1. **System Performance Testing**:
   - Show me the current system performance metrics (CPU, memory, disk, network)
   - Display the top 5 processes consuming the most CPU
   - Show me memory usage history for the last hour
   - Analyze my system and provide optimization suggestions
   - Get the top memory-consuming processes

2. **File Search Testing**:
   - Search for all JavaScript and TypeScript files containing "TODO" or "FIXME" comments in my home directory
   - Find all files with "test" in their filename in the current project directory
   - Search for files containing the word "password" in configuration files (.json, .env, .yml)
   - Use regex to find all email addresses in text files
   - Search for files modified in the last 24 hours

3. **Tag Management Testing**:
   - Tag this file with "important" and "reviewed": /Users/tornikegomareli/Development/macos-tools-mcp/README.md
   - Search for all files tagged with "important"
   - Remove the "reviewed" tag from the README file
   - Tag all TypeScript files in the src directory with "source-code"

4. **Combined Operations**:
   - Monitor system performance while performing a large file search
   - Find resource-intensive processes and then search for their log files
   - Show current disk usage and search for large files (> 100MB)

5. **Edge Cases**:
   - Search in a non-existent directory
   - Try to tag a file I don't have permission to modify
   - Request performance data for an invalid time range
   - Search with an invalid regex pattern

Expected Behaviors

  • Performance Monitor: Should return real-time metrics, process lists, historical data, and optimization suggestions
  • File Search: Should find files by content, name, or tags, with support for regex patterns
  • Tag Operations: Should successfully add/remove tags and search by them
  • Error Handling: Should gracefully handle permission errors, invalid paths, and malformed queries

Future Enhancements

  • GPU monitoring support
  • Network connection analysis
  • Application-specific performance tracking
  • Integration with Time Machine for file version search

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "macos-tools": {
      "command": "npx",
      "args": [
        "@tgomareli/macos-tools-mcp"
      ],
      "env": {}
    }
  }
}

Available Tools

  • system_performance

    Monitor system performance and analyze resource usage

  • enhanced_search

    Advanced file search with content analysis and tagging

Use macOS Tools MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once macOS Tools is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add macOS Tools as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the macOS Tools MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "macos-tools": {
      "command": "npx",
      "args": [
        "-y",
        "@tgomareli/macos-tools-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the macOS Tools MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the macOS Tools MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use macOS Tools to help me with this task?
macOS Tools
Sure. I read it.
Here is what I found using macOS Tools.

Frequently asked questions

What is the macOS Tools MCP server used for?

macOS Tools is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use macOS Tools MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use macOS Tools with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use macOS Tools MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With macOS Tools connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect macOS Tools MCP to TypingMind?

macOS Tools runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does macOS Tools MCP provide in TypingMind?

macOS Tools exposes 2 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use macOS Tools MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If macOS Tools requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇