Skip to main content
Glama

Multi-AI MCP Server for Claude Code

by RaiAnsar
setup.sh•7.33 kB
#!/bin/bash # Multi-AI MCP Server Setup Script set -e # Colors for output GREEN='\033[0;32m' RED='\033[0;31m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${BLUE}šŸš€ Multi-AI MCP Server Setup${NC}" echo "Connect Claude Code with Gemini, Grok-3, ChatGPT, and DeepSeek!" echo "" # Check Python version echo "šŸ“‹ Checking requirements..." if ! command -v python3 &> /dev/null; then echo -e "${RED}āŒ Python 3 is required but not installed.${NC}" exit 1 fi PYTHON_VERSION=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') echo "āœ… Python $PYTHON_VERSION found" # Check Claude Code if ! command -v claude &> /dev/null; then echo -e "${RED}āŒ Claude Code CLI not found. Please install it first:${NC}" echo "npm install -g @anthropic-ai/claude-code" exit 1 fi echo "āœ… Claude Code CLI found" # Create directory echo "" echo "šŸ“ Creating MCP server directory..." mkdir -p ~/.claude-mcp-servers/multi-ai-collab # Get script directory SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Copy server files echo "šŸ“‹ Installing server..." cp "$SCRIPT_DIR/server.py" ~/.claude-mcp-servers/multi-ai-collab/ # Create credentials.json from template if it doesn't exist if [ ! -f ~/.claude-mcp-servers/multi-ai-collab/credentials.json ]; then cp "$SCRIPT_DIR/credentials.template.json" ~/.claude-mcp-servers/multi-ai-collab/credentials.json echo "šŸ“„ Created credentials.json from template" fi # Install Python dependencies echo "" echo "šŸ“¦ Installing Python dependencies..." pip3 install -r "$SCRIPT_DIR/requirements.txt" --quiet # Function to prompt for API key and model prompt_for_ai() { local service_name="$1" local current_key="$2" local description="$3" local default_model="$4" local available_models="$5" local is_optional="${6:-true}" if [[ "$current_key" == *"YOUR_"*"_KEY_HERE" ]]; then echo "" echo -e "${YELLOW}šŸ”‘ $service_name Configuration${NC}" echo " $description" if [ "$is_optional" = "true" ]; then echo -e " ${BLUE}(Optional - press Enter to skip)${NC}" fi read -p "Enter $service_name API key: " new_key if [ ! -z "$new_key" ]; then # Ask for model preference echo "" echo -e "${BLUE}šŸ“± Choose $service_name model:${NC}" echo " Available: $available_models" echo " Default: $default_model" read -p "Model (or press Enter for default): " model_choice if [ -z "$model_choice" ]; then model_choice="$default_model" fi # Update credentials.json with new key and model python3 -c " import json with open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json', 'r') as f: creds = json.load(f) creds['$(echo $service_name | tr '[:upper:]' '[:lower:]')']['api_key'] = '$new_key' creds['$(echo $service_name | tr '[:upper:]' '[:lower:]')']['model'] = '$model_choice' creds['$(echo $service_name | tr '[:upper:]' '[:lower:]')']['enabled'] = True with open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json', 'w') as f: json.dump(creds, f, indent=2) " echo -e "${GREEN}āœ… $service_name configured with model: $model_choice${NC}" return 0 else echo -e "${YELLOW}ā­ļø $service_name skipped (can be added later)${NC}" return 1 fi else echo -e "${GREEN}āœ… $service_name already configured${NC}" return 0 fi } # Configure API keys echo "" echo "šŸ”§ Configuring API keys..." echo "You can skip any AI you don't have an API key for - the server will work with whatever you configure!" # Read current credentials GEMINI_KEY=$(python3 -c "import json; f=open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json'); print(json.load(f)['gemini']['api_key'])") GROK_KEY=$(python3 -c "import json; f=open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json'); print(json.load(f)['grok']['api_key'])") OPENAI_KEY=$(python3 -c "import json; f=open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json'); print(json.load(f)['openai']['api_key'])") DEEPSEEK_KEY=$(python3 -c "import json; f=open('$HOME/.claude-mcp-servers/multi-ai-collab/credentials.json'); print(json.load(f)['deepseek']['api_key'])") # Track configured AIs configured_ais=() # Prompt for API keys and models echo -e "${BLUE}šŸ“ Configure the AIs you want to use:${NC}" if prompt_for_ai "Gemini" "$GEMINI_KEY" "Free API key from: https://aistudio.google.com/apikey" "gemini-2.0-flash" "gemini-2.0-flash, gemini-2.0-flash-exp, gemini-1.5-pro"; then configured_ais+=("Gemini") fi if prompt_for_ai "Grok" "$GROK_KEY" "API key from: https://console.x.ai/" "grok-3" "grok-3, grok-2"; then configured_ais+=("Grok-3") fi if prompt_for_ai "OpenAI" "$OPENAI_KEY" "API key from: https://platform.openai.com/api-keys" "gpt-4o" "gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo"; then configured_ais+=("ChatGPT") fi if prompt_for_ai "DeepSeek" "$DEEPSEEK_KEY" "API key from: https://platform.deepseek.com/" "deepseek-chat" "deepseek-chat, deepseek-coder"; then configured_ais+=("DeepSeek") fi # Show summary echo "" if [ ${#configured_ais[@]} -eq 0 ]; then echo -e "${RED}āŒ No AIs configured. Please run setup again with at least one API key.${NC}" exit 1 else echo -e "${GREEN}šŸŽ‰ Configured AIs: ${configured_ais[*]}${NC}" echo -e "${BLUE}šŸ’” You can add more API keys later by editing: ~/.claude-mcp-servers/multi-ai-collab/credentials.json${NC}" fi echo "" echo "šŸ”§ Configuring Claude Code..." # Remove any existing MCP configuration claude mcp remove multi-ai-collab 2>/dev/null || true # Add MCP server with global scope claude mcp add --scope user multi-ai-collab python3 ~/.claude-mcp-servers/multi-ai-collab/server.py echo "" echo -e "${GREEN}āœ… Setup complete!${NC}" echo "" echo "šŸŽ‰ Multi-AI MCP Server is ready!" echo "" echo "Your configured AIs:" for ai in "${configured_ais[@]}"; do case $ai in "Gemini") echo " • 🧠 Gemini (Google)" ;; "Grok-3") echo " • šŸš€ Grok-3 (xAI)" ;; "ChatGPT") echo " • šŸ’¬ ChatGPT (OpenAI)" ;; esac done if [ ${#configured_ais[@]} -gt 1 ]; then echo "" echo "šŸ¤ Multi-AI features available:" echo " • Ask all AIs the same question" echo " • Have AIs debate topics" echo " • Compare different AI perspectives" fi echo "" echo "Try it out:" echo " 1. Run: claude" echo " 2. Type: /mcp (should show multi-ai-collab connected)" echo " 3. Use: mcp__multi-ai-collab__ask_gemini" echo " prompt: \"Hello from Claude!\"" echo "" echo "Collaborative tools:" echo " • mcp__multi-ai-collab__ask_all_ais - Ask all AIs the same question" echo " • mcp__multi-ai-collab__ai_debate - Have two AIs debate a topic" echo " • mcp__multi-ai-collab__server_status - Check which AIs are available" echo "" echo "Individual AI tools:" echo " • mcp__multi-ai-collab__ask_[ai_name]" echo " • mcp__multi-ai-collab__[ai_name]_code_review" echo "" echo "šŸ”§ To add more API keys later, edit:" echo " ~/.claude-mcp-servers/multi-ai-collab/credentials.json" echo "" echo "Enjoy the AI collaboration! šŸš€"

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/RaiAnsar/claude_code-multi-AI-MCP'

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