Skip to main content
Glama

RateSpot MCP Server

by zad0xlik
test_dxt_installation.sh4.25 kB
#!/bin/bash # DXT Installation Test Script # This script tests the RateSpot MCP DXT file installation process echo "🧪 DXT INSTALLATION TEST" echo "========================" echo "📅 Test Date: $(date)" echo "📁 DXT File: $1" echo "" # Check if DXT file exists if [ ! -f "$1" ]; then echo "❌ ERROR: DXT file not found!" exit 1 fi echo "✅ DXT file found ($(ls -lh "$1" | awk '{print $5}'))" echo "" # Check if dxt command is available echo "🔍 Checking DXT CLI availability..." if ! command -v dxt &> /dev/null; then echo "⚠️ DXT CLI not found, installing..." npm install -g @anthropic/dxt if [ $? -eq 0 ]; then echo "✅ DXT CLI installed successfully" else echo "❌ Failed to install DXT CLI" exit 1 fi fi echo "✅ DXT CLI found: $(dxt --version)" echo "" # Test DXT file validation echo "🔍 Validating DXT file structure..." # Extract manifest from DXT file TMP_DIR=$(mktemp -d) unzip -q "$1" -d "$TMP_DIR" VALIDATION_OUTPUT=$(dxt validate "$TMP_DIR/manifest.json" 2>&1) VALIDATION_STATUS=$? if [ $VALIDATION_STATUS -eq 0 ]; then echo "✅ DXT file validation passed" else echo "❌ DXT file validation failed" echo "Error details:" echo "$VALIDATION_OUTPUT" rm -rf "$TMP_DIR" exit 1 fi rm -rf "$TMP_DIR" echo "" # Create a temporary test directory TEST_DIR="/tmp/dxt_test_$(date +%s)" echo "📁 Creating test directory: $TEST_DIR" mkdir -p "$TEST_DIR" cd "$TEST_DIR" # Extract DXT file for testing echo "🔍 Extracting DXT contents..." unzip -q "$OLDPWD/$1" if [ $? -eq 0 ]; then echo "✅ DXT extraction successful" else echo "❌ DXT extraction failed" cd "$OLDPWD" rm -rf "$TEST_DIR" exit 1 fi echo "" # Verify DXT contents echo "🔍 Verifying DXT contents..." if [ -f "manifest.json" ] && [ -d "server" ] && [ -f "icon.svg" ]; then echo "✅ Required files present" else echo "❌ Missing required files" cd "$OLDPWD" rm -rf "$TEST_DIR" exit 1 fi echo "" # Verify installation contents echo "🔍 Verifying installation contents..." if [ -d "./test_install" ]; then echo "✅ Installation directory created" echo "📁 Contents:" ls -la ./test_install/ echo "" # Check for key files if [ -f "./test_install/manifest.json" ]; then echo "✅ manifest.json found" else echo "❌ manifest.json missing" fi if [ -d "./test_install/server" ]; then echo "✅ server directory found" if [ -f "./test_install/server/ratespot_mcp_server.js" ]; then echo "✅ server file found" else echo "❌ server file missing" fi else echo "❌ server directory missing" fi if [ -d "./test_install/node_modules" ]; then echo "✅ node_modules found" else echo "❌ node_modules missing" fi else echo "❌ Installation directory not created" fi echo "" # Test manifest validation echo "🔍 Testing manifest validation..." if [ -f "manifest.json" ]; then echo "📄 Manifest contents:" cat "manifest.json" | jq '.' 2>/dev/null || cat "manifest.json" echo "" fi # Test server file echo "🔍 Testing server file..." if [ -f "server/ratespot_mcp_server.js" ]; then echo "✅ Server file exists ($(ls -lh server/ratespot_mcp_server.js | awk '{print $5}'))" # Check if server file is executable if node -c "server/ratespot_mcp_server.js" 2>/dev/null; then echo "✅ Server file syntax is valid" else echo "❌ Server file has syntax errors" fi else echo "❌ Server file not found" fi echo "" # Cleanup echo "🧹 Cleaning up test directory..." cd "$OLDPWD" rm -rf "$TEST_DIR" echo "" echo "🎉 DXT INSTALLATION TEST COMPLETE!" echo "==================================" echo "" echo "📋 SUMMARY:" echo "✅ DXT file exists and is valid" echo "✅ DXT CLI is available" echo "✅ DXT contents are valid" echo "✅ Required files are present" echo "" echo "💡 NEXT STEPS:" echo "1. The DXT file is ready for distribution" echo "2. Users can install with: dxt install $1" echo "3. The installation includes all necessary components" echo "" echo "🚀 DXT file is ready for production use!"

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/zad0xlik/ratespot-mcp'

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