Skip to main content
Glama

Facebook Insights Metrics v23

refresh.ts•2.82 kB
#!/usr/bin/env tsx import { join, resolve } from 'path'; import { existsSync } from 'fs'; import { MarkdownParser } from '../src/parser'; import { MetricsLoader } from '../src/loader'; import { MetricsFile } from '../src/schema'; async function refreshMetrics() { const markdownPath = resolve(process.cwd(), 'FACEBOOK_API_V23_METRICS_REFERENCE.md'); const dataPath = process.env.METRICS_DATA_PATH || join(process.cwd(), 'src', 'data', 'metrics.json'); console.log('šŸ”„ Refreshing Facebook Insights Metrics v23...'); console.log(`šŸ“„ Markdown source: ${markdownPath}`); console.log(`šŸ’¾ Data output: ${dataPath}`); // Check if markdown file exists if (!existsSync(markdownPath)) { console.error(`āŒ Markdown file not found: ${markdownPath}`); process.exit(1); } try { // Parse the markdown file console.log('šŸ“– Parsing markdown file...'); const parser = new MarkdownParser(markdownPath); const parsedMetrics = parser.parseMetrics(); console.log(`āœ… Parsed ${parsedMetrics.length} metrics from markdown`); // Create metrics file structure const metricsFile: MetricsFile = { version: parser.getVersion(), updatedAt: parser.getLastUpdated(), metrics: parsedMetrics }; // Save to JSON file console.log('šŸ’¾ Saving metrics to JSON...'); const loader = new MetricsLoader(dataPath); loader.saveMetrics(metricsFile); // Display summary console.log('\nšŸ“Š Metrics Summary:'); console.log(` Version: ${metricsFile.version}`); console.log(` Updated: ${metricsFile.updatedAt}`); console.log(` Total Metrics: ${metricsFile.metrics.length}`); // Group by level const byLevel = metricsFile.metrics.reduce((acc, metric) => { acc[metric.level] = (acc[metric.level] || 0) + 1; return acc; }, {} as Record<string, number>); console.log('\nšŸ“ˆ By Level:'); Object.entries(byLevel).forEach(([level, count]) => { console.log(` ${level}: ${count} metrics`); }); // Group by data type const byDataType = metricsFile.metrics.reduce((acc, metric) => { acc[metric.dataType] = (acc[metric.dataType] || 0) + 1; return acc; }, {} as Record<string, number>); console.log('\nšŸ”¢ By Data Type:'); Object.entries(byDataType).forEach(([type, count]) => { console.log(` ${type}: ${count} metrics`); }); // Deprecated metrics const deprecated = metricsFile.metrics.filter(m => m.deprecated); if (deprecated.length > 0) { console.log(`\nāš ļø Deprecated: ${deprecated.length} metrics`); } console.log('\nāœ… Refresh completed successfully!'); } catch (error) { console.error('āŒ Failed to refresh metrics:', error); process.exit(1); } } // Run the refresh refreshMetrics();

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/KarimTarekDev/facebook-insights-metrics-v23'

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