Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
run-test-environment.shโ€ข4.14 kB
#!/bin/bash # Run DollhouseMCP in isolated test environment # Uses dollhouse-test-portfolio repository for safe testing set -e echo "๐Ÿงช DollhouseMCP Test Environment Launcher" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "" # Check if Docker is running if ! docker info > /dev/null 2>&1; then echo "โŒ Docker is not running. Please start Docker Desktop." exit 1 fi # Build the test image if needed echo "๐Ÿ“ฆ Building test environment..." docker build -f docker/test-configs/Dockerfile.claude-testing -t claude-mcp-test-env:1.0.0 . || { echo "โŒ Failed to build Docker image" exit 1 } # Validate GitHub token format if provided if [ -n "$GITHUB_TOKEN" ]; then # GitHub tokens should start with ghp_ (personal) or ghs_ (server) or github_pat_ (fine-grained) if [[ ! "$GITHUB_TOKEN" =~ ^(ghp_|ghs_|github_pat_)[a-zA-Z0-9]{36,251}$ ]]; then echo "โš ๏ธ Warning: GITHUB_TOKEN format appears invalid." echo " GitHub tokens should start with 'ghp_', 'ghs_', or 'github_pat_'" echo " Please check your token and try again." echo "" else echo "โœ… GitHub token format validated" fi else echo "โš ๏ธ No GITHUB_TOKEN found. You'll need to authenticate inside the container." echo " Use: setup_github_auth" echo "" fi # Configuration from environment or defaults TEST_GITHUB_REPO=${TEST_GITHUB_REPO:-dollhouse-test-portfolio} TEST_GITHUB_USER=${TEST_GITHUB_USER:-mickdarling} # Validate repository name format if [[ ! "$TEST_GITHUB_REPO" =~ ^[a-zA-Z0-9._-]+$ ]]; then echo "โŒ Invalid repository name: $TEST_GITHUB_REPO" echo " Repository names can only contain letters, numbers, dots, underscores, and hyphens." exit 1 fi # Validate username format if [[ ! "$TEST_GITHUB_USER" =~ ^[a-zA-Z0-9][a-zA-Z0-9-]*$ ]]; then echo "โŒ Invalid GitHub username: $TEST_GITHUB_USER" echo " GitHub usernames must start with a letter or number and can contain hyphens." exit 1 fi # Run options MODE=${1:-interactive} case "$MODE" in interactive|shell) echo "๐Ÿš€ Starting interactive test environment..." echo " Repository: github.com/${TEST_GITHUB_USER}/${TEST_GITHUB_REPO}" echo "" docker run --rm -it \ --env-file docker/test-environment.env \ -e GITHUB_TOKEN="${GITHUB_TOKEN}" \ -e GITHUB_CLIENT_ID="${GITHUB_CLIENT_ID}" \ -e TEST_GITHUB_REPO="${TEST_GITHUB_REPO}" \ -v "$(pwd)/test/fixtures:/app/test-data:ro" \ claude-mcp-test-env:1.0.0 \ bash ;; mcp) echo "๐Ÿ”ง Starting MCP server test..." docker run --rm -i \ --env-file docker/test-environment.env \ -e GITHUB_TOKEN="${GITHUB_TOKEN}" \ -e TEST_GITHUB_REPO="${TEST_GITHUB_REPO}" \ claude-mcp-test-env:1.0.0 \ node /app/dollhousemcp/dist/index.js ;; tools) echo "๐Ÿ“‹ Listing available MCP tools..." node test-tools-list.js ;; sync-test) echo "๐Ÿ”„ Testing sync_portfolio with test repository..." echo " This will sync with github.com/${TEST_GITHUB_USER}/${TEST_GITHUB_REPO}" echo "" # Run sync test script docker run --rm -i \ --env-file docker/test-environment.env \ -e GITHUB_TOKEN="${GITHUB_TOKEN}" \ -e TEST_GITHUB_REPO="${TEST_GITHUB_REPO}" \ claude-mcp-test-env:1.0.0 \ node -e " console.log('Testing sync_portfolio...'); // Add sync test logic here " ;; *) echo "Usage: $0 [interactive|mcp|tools|sync-test]" echo "" echo "Modes:" echo " interactive - Start bash shell in test environment (default)" echo " mcp - Run MCP server for stdio testing" echo " tools - List all available MCP tools" echo " sync-test - Test sync_portfolio with test repository" exit 1 ;; esac

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/DollhouseMCP/DollhouseMCP'

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