Skip to main content
Glama
setup_claude.sh2.73 kB
#!/bin/bash # Setup script for adding bpftrace MCP server to Claude Desktop echo "🚀 Setting up bpftrace MCP server for Claude Desktop" echo "==================================================" # Get the absolute path of the current directory SERVER_PATH="$(pwd)/../server.py" # Detect OS and set config path if [[ "$OSTYPE" == "darwin"* ]]; then CONFIG_PATH="$HOME/Library/Application Support/Claude/claude_desktop_config.json" elif [[ "$OSTYPE" == "linux-gnu"* ]]; then CONFIG_PATH="$HOME/.config/claude/claude_desktop_config.json" else echo "❌ Unsupported OS. Please configure manually." exit 1 fi echo "📁 Server path: $SERVER_PATH" echo "📁 Config path: $CONFIG_PATH" # Check if server.py exists if [ ! -f "$SERVER_PATH" ]; then echo "❌ Error: server.py not found in current directory" exit 1 fi # Create config directory if it doesn't exist CONFIG_DIR=$(dirname "$CONFIG_PATH") mkdir -p "$CONFIG_DIR" # Check if config file exists if [ -f "$CONFIG_PATH" ]; then echo "📄 Found existing Claude Desktop config" # Backup existing config cp "$CONFIG_PATH" "$CONFIG_PATH.backup" echo "✅ Created backup at: $CONFIG_PATH.backup" # Check if bpftrace server is already configured if grep -q '"bpftrace"' "$CONFIG_PATH"; then echo "⚠️ Warning: bpftrace server already configured in Claude Desktop" echo " Please check your config file manually" exit 0 fi else echo "📄 Creating new Claude Desktop config" echo '{"mcpServers": {}}' > "$CONFIG_PATH" fi # Create temporary Python script to update JSON cat > /tmp/update_claude_config.py << EOF import json import sys config_path = sys.argv[1] server_path = sys.argv[2] with open(config_path, 'r') as f: config = json.load(f) if 'mcpServers' not in config: config['mcpServers'] = {} config['mcpServers']['bpftrace'] = { "command": "python", "args": [server_path], "env": {} } with open(config_path, 'w') as f: json.dump(config, f, indent=2) EOF # Update the config python /tmp/update_claude_config.py "$CONFIG_PATH" "$SERVER_PATH" rm /tmp/update_claude_config.py echo "✅ Successfully added bpftrace MCP server to Claude Desktop" echo "" echo "📋 Next steps:" echo "1. Make sure you have bpftrace installed:" echo " Ubuntu/Debian: sudo apt-get install bpftrace" echo " Fedora: sudo dnf install bpftrace" echo "" echo "2. Install Python dependencies:" echo " pip install fastmcp" echo "" echo "3. Restart Claude Desktop" echo "" echo "4. The bpftrace tools will be available in Claude!" echo "" echo "⚠️ Note: The server uses sudo with password '123456' by default." echo " Update server.py line 169 for production use."

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/eunomia-bpf/MCPtrace'

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