Skip to main content
Glama

MCP Brain Service

by jomapps
test_retriv_setup.sh4.43 kB
#!/bin/bash # Test script for Retriv integration # This script installs dependencies and runs tests to verify the setup set -e # Exit on error echo "=========================================" echo "Retriv Integration Test Script" echo "=========================================" echo "" # Colors for output GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Get the directory of this script SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" echo -e "${YELLOW}Step 1: Checking Python version...${NC}" python3 --version echo "" echo -e "${YELLOW}Step 2: Creating/activating virtual environment...${NC}" if [ ! -d "venv" ]; then echo "Creating new virtual environment..." python3 -m venv venv fi source venv/bin/activate echo "Virtual environment activated" echo "" echo -e "${YELLOW}Step 3: Upgrading pip...${NC}" pip install --upgrade pip echo "" echo -e "${YELLOW}Step 4: Installing dependencies from requirements.txt...${NC}" pip install -r requirements.txt echo "" echo -e "${YELLOW}Step 5: Verifying retriv installation...${NC}" python3 -c "import retriv; print('Retriv imported successfully')" || { echo -e "${RED}Failed to import retriv${NC}" exit 1 } echo -e "${GREEN}✓ Retriv installed successfully${NC}" echo "" echo -e "${YELLOW}Step 6: Running unit tests...${NC}" pytest tests/unit/test_retriv_service.py -v --tb=short || { echo -e "${RED}Unit tests failed${NC}" exit 1 } echo -e "${GREEN}✓ Unit tests passed${NC}" echo "" echo -e "${YELLOW}Step 7: Running integration tests...${NC}" pytest tests/integration/test_retriv_integration.py -v --tb=short || { echo -e "${YELLOW}⚠ Integration tests failed (this is expected if retriv has issues)${NC}" echo "Continuing anyway..." } echo "" echo -e "${YELLOW}Step 8: Running quick functionality test...${NC}" python3 << 'EOF' import asyncio from src.services.retriv_service import RetrivService async def test_basic_functionality(): """Quick test of basic Retriv functionality.""" print("Creating RetrivService instance...") service = RetrivService(index_path="./test_data/quick_test") print("Initializing service...") await service.initialize() if not service._initialized: print("❌ Service failed to initialize") return False print("✓ Service initialized") # Test indexing print("Indexing test documents...") test_docs = [ { "id": "test_1", "text": "This is a test document about Python programming", "metadata": {"project_id": "test_proj", "type": "doc"} }, { "id": "test_2", "text": "Another document about machine learning and AI", "metadata": {"project_id": "test_proj", "type": "doc"} } ] await service.index_documents(test_docs) print("✓ Documents indexed") # Test search print("Testing search...") results = await service.search("Python programming", top_k=2) if len(results) > 0: print(f"✓ Search returned {len(results)} results") print(f" Top result: {results[0]['id']}") return True else: print("❌ Search returned no results") return False # Run the test success = asyncio.run(test_basic_functionality()) exit(0 if success else 1) EOF if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Quick functionality test passed${NC}" else echo -e "${RED}✗ Quick functionality test failed${NC}" exit 1 fi echo "" echo -e "${YELLOW}Step 9: Checking service stats...${NC}" python3 << 'EOF' import asyncio from src.services.retriv_service import get_retriv_service async def check_stats(): service = get_retriv_service() await service.initialize() stats = service.get_stats() print(f"Service stats: {stats}") asyncio.run(check_stats()) EOF echo "" echo "=========================================" echo -e "${GREEN}All tests completed successfully!${NC}" echo "=========================================" echo "" echo "Next steps:" echo "1. Review test results above" echo "2. If all tests passed, you can deploy to production" echo "3. To deploy: pm2 restart brain-api" echo "" echo "To run tests manually:" echo " source venv/bin/activate" echo " pytest tests/unit/test_retriv_service.py -v" echo " pytest tests/integration/test_retriv_integration.py -v" echo ""

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/jomapps/mcp-brain-service'

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