Skip to main content
Glama
verify-required-params.cjs3.48 kB
#!/usr/bin/env node /** * Verify that accountKey and divisionId are marked as required * for endpoints that need them */ const https = require('https'); const MCP_URL = 'https://pledge-face-replied-pamela.trycloudflare.com/mcp'; async function testRequiredParams() { console.log('='.repeat(60)); console.log('VERIFYING REQUIRED PARAMETERS IN MCP TOOL SCHEMA'); console.log('='.repeat(60)); console.log(); // First, we need to authenticate and get a token console.log('Step 1: Authenticate...'); // For this test, we'll check the tool schema directly via tools/list // Make a JSON-RPC request to tools/list const requestBody = JSON.stringify({ jsonrpc: '2.0', method: 'tools/list', params: {}, id: 1 }); const options = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(requestBody) } }; return new Promise((resolve, reject) => { const req = https.request(MCP_URL, options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { try { const response = JSON.parse(data); if (response.error) { console.error('Error from server:', response.error); resolve(); return; } if (!response.result || !response.result.tools) { console.error('No tools in response'); resolve(); return; } // Find the /v1/invoices/caui tool const cauiTool = response.result.tools.find(tool => tool.name === 'api___v1_invoices_caui' ); if (!cauiTool) { console.error('Tool api___v1_invoices_caui not found!'); resolve(); return; } console.log('✅ Found tool: api___v1_invoices_caui'); console.log(); console.log('Required parameters:', cauiTool.inputSchema.required); console.log(); // Check if accountKey and divisionId are in required array const hasAccountKey = cauiTool.inputSchema.required.includes('accountKey'); const hasDivisionId = cauiTool.inputSchema.required.includes('divisionId'); if (hasAccountKey && hasDivisionId) { console.log('✅ SUCCESS! Both accountKey and divisionId are marked as REQUIRED'); console.log(); console.log('This means Claude will now be forced to include both parameters'); console.log('when calling /v1/invoices/caui, which should fix the GCP'); console.log('Masterbilling account issue!'); } else { console.log('❌ FAILURE! Missing required parameters:'); if (!hasAccountKey) console.log(' - accountKey is NOT required'); if (!hasDivisionId) console.log(' - divisionId is NOT required'); } console.log(); console.log('Full tool schema:'); console.log(JSON.stringify(cauiTool, null, 2)); resolve(); } catch (error) { console.error('Error parsing response:', error); console.error('Raw response:', data); reject(error); } }); }); req.on('error', (error) => { console.error('Request error:', error); reject(error); }); req.write(requestBody); req.end(); }); } testRequiredParams().catch(console.error);

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/daviddraiumbrella/invoice-monitoring'

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