macOS Shell MCP Server
Enables shell command execution on macOS with session management, background processes, caching, and semantic search via Voyage AI.
README
macOS Shell MCP Server
An MCP server for shell command execution on macOS with session management, background processes, caching, and semantic search.
Installation
git clone https://github.com/quanticsoul4772/macos-shell.git
cd macos-shell
npm install
npm run build
Configuration
Claude Code
Add to ~/.claude.json under mcpServers:
{
"macos-shell": {
"type": "stdio",
"command": "node",
"args": ["/path/to/macos-shell/build/server.js"],
"env": {
"VOYAGE_API_KEY": "your-voyage-api-key"
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"macos-shell": {
"command": "node",
"args": ["/path/to/macos-shell/build/server.js"],
"env": {
"VOYAGE_API_KEY": "your-voyage-api-key"
}
}
}
}
The VOYAGE_API_KEY enables semantic search features. Without it, set "EMBEDDINGS_ENABLED": "false" instead.
Tools (41)
Command execution (3)
run_command-- execute a shell commandrun_script-- execute a multi-line shell scriptbatch_execute_enhanced-- execute commands with conditional logic and retries
Sessions (3)
create_shell_session-- create a named session with isolated environmentlist_shell_sessions-- list active sessionsclose_session-- close a session and free resources
Navigation and environment (5)
cd-- change working directorypwd-- get current working directoryset_env-- set environment variablesget_env-- get environment variableshistory-- view command history
Background processes (8)
run_background-- start a background processlist_processes-- list processes with resource usageget_process_output-- retrieve output with searchstream_process_output-- stream output as it arriveskill_process-- terminate a processcleanup_orphans-- manage processes from previous sessionskill_all_matching-- kill processes matching a patternsave_process_output-- save output to a file
System (3)
get_system_health-- system health metricspreflight_check-- validate conditions before operationssystem_profile-- gather system information
SSH (8)
ssh_interactive_start-- start an SSH sessionssh_interactive_send-- send input to SSH sessionssh_interactive_control-- send control charactersssh_interactive_output-- get output with searchssh_interactive_wait-- wait for new outputssh_interactive_resize-- resize terminalssh_interactive_close-- close SSH sessionssh_interactive_list-- list active SSH sessions
Cache management (5)
cache_stats-- cache statisticscache_clear_command-- clear specific command from cachecache_clear_pattern-- clear commands matching a patterncache_mark_never-- mark a command to never cachecache_explain-- explain cache decision for a command
Semantic search (6)
Requires VOYAGE_API_KEY. See docs/SEMANTIC_SEARCH.md for details.
semantic_command_search-- search command history by intentsearch_documentation-- search command docs semanticallyrecommend_commands-- get suggestions based on intenterror_solution_lookup-- find solutions for error messagesanalyze_output-- extract patterns from command outputsemantic_search_stats-- search system statistics
Environment variables
| Variable | Description |
|---|---|
VOYAGE_API_KEY |
Voyage AI API key for semantic search |
EMBEDDINGS_ENABLED |
Set to false to disable semantic search |
MCP_DISABLE_CACHE |
Set to true to disable command caching |
MCP_DEBUG |
Set to true for debug logging to stderr |
MCP_LOG_FILE |
Path to write log output |
Limitations
- macOS only (uses
/bin/zsh) - 30-second default command timeout (configurable up to 10 minutes)
- Commands run with the permissions of the user running the MCP client
- Output buffer limited to 300 lines per background process
- Sudo commands require passwordless sudo or will hang
Further documentation
Development
See CLAUDE.md for build commands, architecture, testing, and contribution details.
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.