Initial local macOS MCP service
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/zsh
|
||||
set -euo pipefail
|
||||
|
||||
LABEL="com.local.macmini-mcp"
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
NODE_BIN="$(command -v node)"
|
||||
AGENT_DIR="$HOME/Library/LaunchAgents"
|
||||
PLIST="$AGENT_DIR/$LABEL.plist"
|
||||
LOG_DIR="$PROJECT_DIR/.logs"
|
||||
DOMAIN="gui/$(id -u)"
|
||||
|
||||
mkdir -p "$AGENT_DIR" "$LOG_DIR"
|
||||
|
||||
cat > "$PLIST" <<PLIST
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>$LABEL</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>$NODE_BIN</string>
|
||||
<string>--watch</string>
|
||||
<string>src/http.js</string>
|
||||
</array>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>$PROJECT_DIR</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>ThrottleInterval</key>
|
||||
<integer>2</integer>
|
||||
<key>StandardOutPath</key>
|
||||
<string>$LOG_DIR/service.out.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>$LOG_DIR/service.err.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
PLIST
|
||||
|
||||
plutil -lint "$PLIST"
|
||||
launchctl bootout "$DOMAIN" "$PLIST" 2>/dev/null || true
|
||||
launchctl bootstrap "$DOMAIN" "$PLIST"
|
||||
launchctl enable "$DOMAIN/$LABEL"
|
||||
launchctl kickstart -k "$DOMAIN/$LABEL"
|
||||
|
||||
echo "Installed $LABEL"
|
||||
echo "Endpoint: http://127.0.0.1:7331/mcp"
|
||||
echo "Logs: $LOG_DIR"
|
||||
Reference in New Issue
Block a user