Skip to main content
Glama
test-masterbilling-direct.cjs2.6 kB
#!/usr/bin/env node const https = require('https'); // Test direct API call with MasterBilling API key const apiKey = '8bd39ae4-ebea-4426-bd22-07349dd8b962:21112:0'; const authToken = 'eyJraWQiOiJoUFBoZTFRaWM4TklLU1dHcjQ4NEFHK3UwU2c5bCtmUHFWRWZUeCtcL0FcL1k9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI4YmQzOWFlNC1lYmVhLTQ0MjYtYmQyMi0wNzM0OWRkOGI5NjIiLCJhdWQiOiI3aTgyY25wdDQ2OXJjZDkzZmlmMWdsaG5rbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJldmVudF9pZCI6ImRkOGI2NjY3LTExYmItNDBjMi1iYTg5LTUwMTZiNjcyMGUxZCIsInRva2VuX3VzZSI6ImlkIiwiYXV0aF90aW1lIjoxNzU5MDY3NTEyLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9VdjZBck5kU0siLCJjb2duaXRvOnVzZXJuYW1lIjoiOGJkMzlhZTQtZWJlYS00NDI2LWJkMjItMDczNDlkZDhiOTYyIiwiZXhwIjoxNzU5MTUzOTEyLCJpYXQiOjE3NTkwNjc1MTIsImVtYWlsIjoiZGF2aWQrc2FvbGFAdW1icmVsbGFjb3N0LmNvbSJ9.iY4Ytlx5sLaZkYHG3N6VVLuT8tiigFRN_VCgVz7qNi31wTs5FyYWT7YEicwhc8iz3NvAe3GO5pFMyXHL8BQ2Uk1Z5R8ZHDrPcszaWS0C82btBk6pHyqmAlotODsk41vkTZ2C3BL_Cc6KTtA05j_vYpDTbeLL7iwkc5HMtWdt6E-8CnxZ-ZCQtRL0HnCPASQYqvq8cWFVWJQtj4Ixd06RHq7plcOYoRxmYJdietpO_M-GztM3BvweHYsfKP-9Rjlsydt04_CZUvyUV8f0yT-THvlrZKPO_d14NgHFVuHGo7SK8ByrESSmt7QptzO4hyVwEXBrQUhsuoqw40iWnay3qg'; console.log('Testing MasterBilling with exact MCP server request...\n'); // MCP Server request const mcpUrl = 'https://api.umbrellacost.io/api/v1/invoices/caui?startDate=2025-04-01&endDate=2025-09-30&groupBy=none&periodGranLevel=month&costType=cost&isUnblended=true&cloud_context=gcp&excludeFilters[chargetype][]=Tax'; console.log('MCP Server URL:', mcpUrl); console.log('\nHeaders being sent:'); console.log({ 'Authorization': authToken.substring(0, 50) + '...', 'apikey': apiKey }); const url = new URL(mcpUrl); const options = { hostname: url.hostname, path: url.pathname + url.search, method: 'GET', headers: { 'Authorization': authToken, 'apikey': apiKey, 'Accept': 'application/json' } }; https.request(options, (res) => { let data = ''; res.on('data', chunk => data += chunk); res.on('end', () => { console.log('\n=== RESPONSE ==='); console.log('Status:', res.statusCode); console.log('Headers:', res.headers); try { const json = JSON.parse(data); console.log('\nData length:', json.Data ? json.Data.length : 0); if (json.Data && json.Data.length > 0) { console.log('First record:', json.Data[0]); } else { console.log('Response:', JSON.stringify(json, null, 2)); } } catch (e) { console.log('Raw response:', data.substring(0, 500)); } }); }).on('error', (e) => { console.error('Request error:', e); }).end();

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