Skip to main content
Glama
tornikegomareli

macOS Tools MCP Server

macOS Internal Tools MCP Server

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

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

  • 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

Related MCP server: IT-MCP

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:

    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:

{
  "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:

{
  "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:

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"
});

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:

// 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

Available Tools

2 tools
system_performanceC

Monitor system performance and analyze resource usage

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesType of performance analysis
timeRangeNoTime range for historical data (e.g., '1h', '24h', '7d')
metricNoSpecific metric to analyze

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'monitor' and 'analyze' imply read-only operations, it doesn't clarify if 'optimize' might involve mutations, rate limits, authentication needs, or what the output looks like. For a tool with an 'optimize' action and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded, consisting of a single, efficient sentence that directly states the tool's purpose without unnecessary details. Every word earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a performance monitoring tool with actions like 'optimize' and no annotations or output schema, the description is incomplete. It fails to address behavioral aspects, usage context, or output expectations, leaving critical gaps for an AI agent to understand how to invoke it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description doesn't add meaning beyond what the input schema provides, as schema description coverage is 100% with clear parameter descriptions and enums. The baseline score of 3 is appropriate because the schema adequately documents the parameters, and the description doesn't compensate or enhance this information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('monitor' and 'analyze') and resources ('system performance' and 'resource usage'), making it immediately understandable. However, it doesn't differentiate from the sibling tool 'enhanced_search', which might also relate to system analysis, leaving room for potential confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'enhanced_search'. It lacks context about specific scenarios, prerequisites, or exclusions, leaving the agent to infer usage from the tool name and parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedenhanced_search
    • First observedsystem_performance

TDQS

B3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: enhanced_search focuses on file search and content analysis, while system_performance handles monitoring and resource usage analysis. There is no overlap in functionality, making it easy for an agent to choose the correct tool for each task.

Naming Consistency4/5

Both tools use snake_case naming, which is consistent. However, with only two tools, it's difficult to assess a full pattern; enhanced_search uses an adjective+noun format, while system_performance uses noun+noun, showing minor deviation in structure but maintaining readability.

Tool Count2/5

With only 2 tools, the server feels thin for a macOS Tools MCP Server, which suggests a broader scope. This limited set may not adequately cover common macOS operations like file management, system settings, or process control, making it under-scoped for its apparent purpose.

Completeness2/5

The tool surface has significant gaps for a macOS server. While search and performance monitoring are covered, there are no tools for basic operations like file manipulation, system configuration, or process management, which are typical in this domain. This incompleteness could lead to agent failures when handling common tasks.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Provides comprehensive system diagnostics and hardware analysis through 10 specialized tools for troubleshooting and environment monitoring. Offers targeted information gathering for CPU, memory, network, storage, processes, and security analysis across Windows, macOS, and Linux platforms.
    10
    -
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive macOS, Linux, and Windows system administration, diagnostics, and optimization tools including network inspection, security scanning, compliance auditing, database diagnostics, and structured DevOps task planning.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables real-time monitoring of system resources including CPU, GPU (NVIDIA, Apple Silicon, AMD/Intel), memory, disk, network, and processes across Windows, macOS, and Linux platforms through natural language queries.
    3
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Provides tools to monitor host system health including CPU load, disk usage, and network status while enabling file system management tasks like searching and moving files. It includes built-in safety guards to prevent operations on critical system directories.
    11
    -

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/tornikegomareli/macos-tools-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server