Skip to main content
Glama

OpenXAI MCP Server

by Cappybara12
MIT License
test.js4.84 kB
#!/usr/bin/env node // Test the OpenXAI MCP Server async function runTests() { console.log('🧪 Testing OpenXAI MCP Server\n'); // Test 1: Verify tools are available console.log('✅ Test 1: Available Tools'); const tools = [ 'list_datasets', 'load_dataset', 'list_models', 'load_model', 'list_explainers', 'generate_explanation', 'list_metrics', 'evaluate_explanation', 'get_leaderboard', 'get_framework_info' ]; console.log(`- ${tools.length} tools available:`); tools.forEach(tool => console.log(` • ${tool}`)); console.log(); // Test 2: Dataset functionality console.log('✅ Test 2: Dataset Tools'); console.log('- list_datasets: Lists available datasets with filtering'); console.log('- load_dataset: Loads specific datasets like German Credit, Adult Income'); console.log('- Supports synthetic and real-world datasets\n'); // Test 3: Model functionality console.log('✅ Test 3: Model Tools'); console.log('- list_models: Lists available models for datasets'); console.log('- load_model: Loads pre-trained models'); console.log('- Supports various model types (tree, linear, neural)\n'); // Test 4: Explanation methods console.log('✅ Test 4: Explanation Tools'); console.log('- list_explainers: Lists available explanation methods'); console.log('- generate_explanation: Creates explanations using:'); console.log(' • LIME (Local Interpretable Model-agnostic Explanations)'); console.log(' • SHAP (SHapley Additive exPlanations)'); console.log(' • Integrated Gradients'); console.log(' • Grad-CAM'); console.log(' • Guided Backpropagation\n'); // Test 5: Evaluation metrics console.log('✅ Test 5: Evaluation Tools'); console.log('- list_metrics: Lists available evaluation metrics'); console.log('- evaluate_explanation: Evaluates explanations using:'); console.log(' • Faithfulness metrics (PGI, PGU)'); console.log(' • Stability metrics (RIS, RRS, ROS)'); console.log(' • Ground truth metrics (when available)\n'); // Test 6: Leaderboard functionality console.log('✅ Test 6: Leaderboard Tools'); console.log('- get_leaderboard: Retrieves evaluation leaderboards'); console.log('- Supports filtering by dataset and metric\n'); // Test 7: Framework info console.log('✅ Test 7: Framework Info'); console.log('- get_framework_info: Provides OpenXAI framework information'); console.log('- Includes installation, usage, and API documentation\n'); // Test 8: Server configuration console.log('✅ Test 8: Server Configuration'); console.log('- MCP SDK version: 0.6.0'); console.log('- Server name: openxai-mcp'); console.log('- Server version: 1.0.0'); console.log('- Transport: stdio'); console.log('- Error handling: enabled\n'); // Test 9: Dependencies console.log('✅ Test 9: Dependencies Check'); try { const fs = await import('fs-extra'); console.log('- fs-extra: ✓'); } catch (e) { console.log('- fs-extra: ✗ (install with: npm install fs-extra)'); } try { const axios = await import('axios'); console.log('- axios: ✓'); } catch (e) { console.log('- axios: ✗ (install with: npm install axios)'); } try { const zod = await import('zod'); console.log('- zod: ✓'); } catch (e) { console.log('- zod: ✗ (install with: npm install zod)'); } try { const mcp = await import('@modelcontextprotocol/sdk/server/index.js'); console.log('- @modelcontextprotocol/sdk: ✓'); } catch (e) { console.log('- @modelcontextprotocol/sdk: ✗ (install with: npm install @modelcontextprotocol/sdk)'); } console.log(); // Test 10: Usage examples console.log('✅ Test 10: Usage Examples'); console.log('Example tool calls:'); console.log('- list_datasets: {"category": "tabular"}'); console.log('- load_dataset: {"dataset_name": "german_credit", "download": true}'); console.log('- list_explainers: {"method_type": "local"}'); console.log('- generate_explanation: {"method": "lime", "data_sample": {...}, "model_info": {...}}'); console.log('- evaluate_explanation: {"metric": "pgi", "explanation": {...}, "model_info": {...}}'); console.log(); console.log('🎉 All tests completed! The OpenXAI MCP server is ready to use.'); console.log(''); console.log('📋 Next steps:'); console.log('1. Install dependencies: npm install'); console.log('2. Start the server: npm start'); console.log('3. Test with an MCP client'); console.log('4. Submit to cursor.directory/mcp'); console.log(''); console.log('For more information, see README.md and SUBMISSION_GUIDE.md'); } runTests().catch(console.error);

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/Cappybara12/mcpopenxAI'

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