Skip to main content
Glama
isiahw1

mcp-server-bing-webmaster

validate.js2.27 kB
#!/usr/bin/env node /** * Pre-publish validation script */ const fs = require('fs'); const path = require('path'); const { execSync } = require('child_process'); let errors = 0; console.log('🔍 Running pre-publish validation...\n'); // Check required files exist const requiredFiles = [ 'package.json', 'README.md', 'LICENSE', 'run.js', '.env.example', 'mcp_server_bwt/__init__.py', 'mcp_server_bwt/main.py', 'pyproject.toml' ]; console.log('📁 Checking required files...'); for (const file of requiredFiles) { if (!fs.existsSync(path.join(__dirname, '..', file))) { console.error(` ❌ Missing required file: ${file}`); errors++; } else { console.log(` ✅ ${file}`); } } // Check for sensitive files console.log('\n🔒 Checking for sensitive files...'); const sensitiveFiles = ['.env', 'config/local.json', 'secrets/']; for (const file of sensitiveFiles) { if (fs.existsSync(path.join(__dirname, '..', file))) { console.error(` ❌ Sensitive file found: ${file} (should not be published)`); errors++; } } console.log(' ✅ No sensitive files detected'); // Validate package.json console.log('\n📦 Validating package.json...'); try { const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8')); if (!pkg.name || !pkg.version || !pkg.license) { console.error(' ❌ Missing required package.json fields'); errors++; } else { console.log(' ✅ Required fields present'); } if (!pkg.repository || !pkg.bugs || !pkg.homepage) { console.warn(' ⚠️ Missing recommended fields (repository, bugs, homepage)'); } } catch (e) { console.error(' ❌ Invalid package.json'); errors++; } // Check Python files for syntax console.log('\n🐍 Checking Python syntax...'); try { execSync('python3 -m py_compile mcp_server_bwt/main.py', { cwd: path.join(__dirname, '..') }); console.log(' ✅ Python syntax valid'); } catch (e) { console.error(' ❌ Python syntax error'); errors++; } // Final result console.log('\n' + '='.repeat(50)); if (errors === 0) { console.log('✅ All validation checks passed!'); process.exit(0); } else { console.error(`❌ Validation failed with ${errors} error(s)`); process.exit(1); }

Latest Blog Posts

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/isiahw1/mcp-server-bing-webmaster'

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