Skip to main content
Glama

SOAR MCP Server

by wuzhi-dev
start_simple_server.shโ€ข10.4 kB
#!/bin/bash # SOAR MCP ๆœๅŠกๅ™จๆ™บ่ƒฝๅฏๅŠจ่„šๆœฌ # ๆ”ฏๆŒ้ฆ–ๆฌก่ฟ่กŒๆฃ€ๆต‹ๅ’Œ็Žฏๅขƒ้ชŒ่ฏ set -e # ้‡ๅˆฐ้”™่ฏฏๆ—ถ้€€ๅ‡บ # ้ขœ่‰ฒๅฎšไน‰ RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' PURPLE='\033[0;35m' CYAN='\033[0;36m' NC='\033[0m' # No Color # ๅ‡ฝๆ•ฐ๏ผšๆ‰“ๅฐๅธฆ้ขœ่‰ฒ็š„ไฟกๆฏ print_info() { echo -e "${BLUE}โ„น๏ธ $1${NC}" } print_success() { echo -e "${GREEN}โœ… $1${NC}" } print_warning() { echo -e "${YELLOW}โš ๏ธ $1${NC}" } print_error() { echo -e "${RED}โŒ $1${NC}" } print_header() { echo -e "${PURPLE}$1${NC}" } # ไธปๆ ‡้ข˜ clear echo -e "${CYAN}" echo "โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—" echo "โ•‘ โ•‘" echo "โ•‘ ๐Ÿš€ SOAR MCP ๆœๅŠกๅ™จๅฏๅŠจๅ™จ โ•‘" echo "โ•‘ โ•‘" echo "โ•‘ ๅŸบไบŽ Model Context Protocol ็š„ SOAR ๅฎ‰ๅ…จ็ผ–ๆŽ’ๅนณๅฐ้›†ๆˆๆœๅŠกๅ™จ โ•‘" echo "โ•‘ โ•‘" echo "โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•" echo -e "${NC}" echo "" # ็Žฏๅขƒๆฃ€ๆŸฅ print_header "๐Ÿ” ็Žฏๅขƒๆฃ€ๆŸฅ" # ๆฃ€ๆŸฅPython็‰ˆๆœฌ if command -v python3 &> /dev/null; then PYTHON_VERSION=$(python3 --version 2>&1 | cut -d' ' -f2) print_success "Python ็‰ˆๆœฌ: $PYTHON_VERSION" else print_error "Python3 ๆœชๅฎ‰่ฃ…๏ผŒ่ฏทๅ…ˆๅฎ‰่ฃ… Python 3.8+" exit 1 fi # ๆฃ€ๆŸฅ่™šๆ‹Ÿ็Žฏๅขƒ if [ -d "venv" ]; then print_info "ๆฟ€ๆดป่™šๆ‹Ÿ็Žฏๅขƒ..." source venv/bin/activate print_success "่™šๆ‹Ÿ็Žฏๅขƒๅทฒๆฟ€ๆดป" else print_warning "่™šๆ‹Ÿ็Žฏๅขƒๆœชๆ‰พๅˆฐ๏ผŒไฝฟ็”จ็ณป็ปŸPython" print_info "ๅปบ่ฎฎๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ๏ผšpython3 -m venv venv" fi # ๆฃ€ๆŸฅไพ่ต– print_info "ๆฃ€ๆŸฅไพ่ต–..." if pip show fastmcp &> /dev/null; then print_success "FastMCP ๅทฒๅฎ‰่ฃ…" else print_warning "FastMCP ๆœชๅฎ‰่ฃ…๏ผŒ่ฏท่ฟ่กŒ๏ผšpip install -r requirements.txt" fi # ๆฃ€ๆŸฅๆ•ฐๆฎๅบ“็Šถๆ€ print_info "ๆฃ€ๆŸฅๆ•ฐๆฎๅบ“็Šถๆ€..." if [ -f "soar_mcp.db" ]; then print_success "ๆ•ฐๆฎๅบ“ๆ–‡ไปถๅญ˜ๅœจ" DB_EXISTS=true else print_info "ๆ•ฐๆฎๅบ“ๆ–‡ไปถไธๅญ˜ๅœจ๏ผŒๅฐ†ๅˆ›ๅปบๆ–ฐๆ•ฐๆฎๅบ“" DB_EXISTS=false fi # ๆฃ€ๆŸฅ็ซฏๅฃๅ ็”จ print_info "ๆฃ€ๆŸฅ็ซฏๅฃ็Šถๆ€..." if lsof -i :12345 &> /dev/null; then print_warning "็ซฏๅฃ 12345 ๅทฒ่ขซๅ ็”จ" print_info "ๆ‚จๅฏ่ƒฝ้œ€่ฆๅœๆญขๅ…ถไป–ๆœๅŠกๆˆ–ไฟฎๆ”น็ซฏๅฃ" fi if lsof -i :12346 &> /dev/null; then print_warning "็ซฏๅฃ 12346 ๅทฒ่ขซๅ ็”จ" print_info "ๆ‚จๅฏ่ƒฝ้œ€่ฆๅœๆญขๅ…ถไป–ๆœๅŠกๆˆ–ไฟฎๆ”น็ซฏๅฃ" fi # ๆธ…้™คไปฃ็†็Žฏๅขƒๅ˜้‡๏ผˆ้ฟๅ…่ฟžๆŽฅ้—ฎ้ข˜๏ผ‰ unset https_proxy http_proxy HTTPS_PROXY HTTP_PROXY echo "" print_header "๐ŸŽฏ ๆœๅŠกไฟกๆฏ" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ MCP ๆœๅŠกๅ™จ: http://127.0.0.1:12345/mcp โ”‚" echo "โ”‚ Web ็ฎก็†ๅŽๅฐ: http://127.0.0.1:12346/admin โ”‚" echo "โ”‚ ไผ ่พ“ๅ่ฎฎ: Streamable HTTP โ”‚" echo "โ”‚ SSL ้ชŒ่ฏ: ้ป˜่ฎคๅ…ณ้—ญ๏ผˆๅผ€็ฎฑๅณ็”จ๏ผ‰ โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" echo "" if [ "$DB_EXISTS" = false ]; then print_header "๐Ÿ”ง ้ฆ–ๆฌก่ฟ่กŒๅผ•ๅฏผ" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ โœจ ๆฃ€ๆต‹ๅˆฐ้ฆ–ๆฌก่ฟ่กŒ๏ผŒ็ณป็ปŸๅฐ†่‡ชๅŠจ๏ผš โ”‚" echo "โ”‚ โ€ข ๅˆ›ๅปบๆ•ฐๆฎๅบ“ๅ’Œ่กจ็ป“ๆž„ โ”‚" echo "โ”‚ โ€ข ็”Ÿๆˆ็ฎก็†ๅ‘˜ๅฏ†็ ๏ผˆ่ฏทไฟๅญ˜ๆŽงๅˆถๅฐๆ˜พ็คบ็š„ๅฏ†็ ๏ผ‰ โ”‚" echo "โ”‚ โ€ข ๅฏๅŠจๆ ธๅฟƒๆœๅŠก๏ผˆMCP + Web็ฎก็†ๅŽๅฐ๏ผ‰ โ”‚" echo "โ”‚ โ€ข ่ทณ่ฟ‡ SOAR ๆ•ฐๆฎๅŒๆญฅ๏ผˆ็ญ‰ๅพ…้…็ฝฎ๏ผ‰ โ”‚" echo "โ”‚ โ”‚" echo "โ”‚ ๐ŸŽฏ ไธ‹ไธ€ๆญฅๆ“ไฝœ๏ผš โ”‚" echo "โ”‚ 1. ็ญ‰ๅพ…ๆœๅŠกๅฏๅŠจๅฎŒๆˆ โ”‚" echo "โ”‚ 2. ่ฎฐๅฝ•ๆŽงๅˆถๅฐๆ˜พ็คบ็š„็ฎก็†ๅ‘˜ๅฏ†็  โ”‚" echo "โ”‚ 3. ่ฎฟ้—ฎ http://127.0.0.1:12346/admin โ”‚" echo "โ”‚ 4. ไฝฟ็”จๅฏ†็ ็™ปๅฝ•ๅนถ้…็ฝฎ SOAR ่ฟžๆŽฅไฟกๆฏ โ”‚" echo "โ”‚ 5. ๅœจ MCP ๅฎขๆˆท็ซฏไธญๆทปๅŠ ๆœๅŠกๅ™จ โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" else print_header "๐Ÿ”„ ๅธธ่ง„ๅฏๅŠจ" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ โœ… ๆ•ฐๆฎๅบ“ๅทฒๅญ˜ๅœจ๏ผŒๅฐ†ๆ‰ง่กŒๅธธ่ง„ๅฏๅŠจ โ”‚" echo "โ”‚ โ€ข ๆฃ€ๆŸฅ้…็ฝฎๅฎŒๆ•ดๆ€ง โ”‚" echo "โ”‚ โ€ข ๅฏๅŠจ MCP ๆœๅŠกๅ™จๅ’Œ็ฎก็†ๅŽๅฐ โ”‚" echo "โ”‚ โ€ข ๆ นๆฎ้…็ฝฎ็Šถๆ€ๅ†ณๅฎšๆ˜ฏๅฆๅŒๆญฅๆ•ฐๆฎ โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" fi echo "" print_header "๐Ÿค– MCP ๅฎขๆˆท็ซฏ้…็ฝฎ" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ Cherry Studio๏ผˆๆŽจ่๏ผ‰: โ”‚" echo "โ”‚ โ€ข ็ฑปๅž‹: HTTP โ”‚" echo "โ”‚ โ€ข URL: http://127.0.0.1:12345/mcp โ”‚" echo "โ”‚ โ”‚" echo "โ”‚ Claude Desktop: โ”‚" echo "โ”‚ โ€ข ๅ‚่€ƒ README.md ไธญ็š„่ฏฆ็ป†้…็ฝฎ่ฏดๆ˜Ž โ”‚" echo "โ”‚ โ€ข ้œ€่ฆไฟฎๆ”น้…็ฝฎๆ–‡ไปถๅนถ้‡ๅฏๅบ”็”จ โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" echo "" print_header "๐Ÿ› ๏ธ ๅฏ็”จ MCP ๅทฅๅ…ท" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ โ€ข list_playbooks_quick - ๅฟซ้€Ÿ่Žทๅ–ๅ‰งๆœฌๅˆ—่กจ โ”‚" echo "โ”‚ โ€ข query_playbook_execution_params - ๆŸฅ่ฏขๅ‰งๆœฌๆ‰ง่กŒๅ‚ๆ•ฐ โ”‚" echo "โ”‚ โ€ข execute_playbook - ๆ‰ง่กŒ SOAR ๅ‰งๆœฌ โ”‚" echo "โ”‚ โ€ข query_playbook_execution_status - ๆŸฅ่ฏขๅ‰งๆœฌๆ‰ง่กŒ็Šถๆ€ โ”‚" echo "โ”‚ โ€ข query_playbook_execution_result - ๆŸฅ่ฏขๅ‰งๆœฌๆ‰ง่กŒ็ป“ๆžœ โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" echo "" print_header "๐Ÿ“‹ ๅฏ็”จ MCP ่ต„ๆบ" echo "โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”" echo "โ”‚ โ€ข soar://applications - SOAR ๅบ”็”จๅˆ—่กจ โ”‚" echo "โ”‚ โ€ข soar://playbooks - SOAR ๅ‰งๆœฌๅˆ—่กจ โ”‚" echo "โ”‚ โ€ข soar://executions - ๅ‰งๆœฌๆ‰ง่กŒ่ฎฐๅฝ• โ”‚" echo "โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜" echo "" print_header "๐ŸŽฌ ๅฏๅŠจๆœๅŠกๅ™จ" echo "========================================" print_info "ๆญฃๅœจๅฏๅŠจ SOAR MCP ๆœๅŠกๅ™จ..." echo "" # ๅฏๅŠจๆœๅŠกๅ™จ python3 soar_mcp_server.py

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/wuzhi-dev/soar-mcp'

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