Skip to main content
Glama
test-comprehensive.js3.47 kB
#!/usr/bin/env node // Comprehensive test script for SEC EDGAR MCP Server const { getCompanyCik, searchCompanies, getCompanySubmissions, getCompanyFacts, getCompanyConcept, filterFilings } = require('../src/edgar-api.js'); async function runComprehensiveTests() { console.log('🧪 Running comprehensive SEC EDGAR API tests...\n'); try { // Test 1: Company Search console.log('1️⃣ Testing company search...'); const searchResult = await searchCompanies('Apple'); console.log(`✅ Found ${searchResult.companies.length} companies matching "Apple"`); if (searchResult.companies.length > 0) { console.log(` First result: ${searchResult.companies[0].title} (${searchResult.companies[0].ticker})`); } console.log(''); // Test 2: CIK Lookup console.log('2️⃣ Testing CIK lookup...'); const cik = await getCompanyCik('AAPL'); console.log(`✅ AAPL CIK: ${cik}`); console.log(''); // Test 3: Company Submissions console.log('3️⃣ Testing company submissions...'); const submissions = await getCompanySubmissions('AAPL'); console.log(`✅ Retrieved submissions for: ${submissions.name}`); console.log(` Total recent filings: ${submissions.recentFilings.length}`); console.log(` Latest filing: ${submissions.recentFilings[0].form} on ${submissions.recentFilings[0].filingDate}`); console.log(''); // Test 4: Filing Filter console.log('4️⃣ Testing filing filter...'); const filtered10K = filterFilings(submissions.recentFilings, { formType: '10-K', limit: 3 }); console.log(`✅ Found ${filtered10K.length} 10-K filings`); if (filtered10K.length > 0) { console.log(` Most recent 10-K: ${filtered10K[0].filingDate}`); } console.log(''); // Test 5: Company Facts (smaller test due to large response) console.log('5️⃣ Testing company facts...'); const facts = await getCompanyFacts('AAPL'); console.log(`✅ Retrieved facts for: ${facts.entityName}`); const taxonomies = Object.keys(facts.facts); console.log(` Available taxonomies: ${taxonomies.join(', ')}`); console.log(''); // Test 6: Company Concept console.log('6️⃣ Testing company concept...'); const concept = await getCompanyConcept('AAPL', 'us-gaap', 'Assets'); console.log(`✅ Retrieved concept data for: ${concept.entityName}`); console.log(` Concept: ${concept.label}`); const units = Object.keys(concept.units); console.log(` Available units: ${units.join(', ')}`); if (concept.units.USD && concept.units.USD.length > 0) { const latestAssets = concept.units.USD[concept.units.USD.length - 1]; console.log(` Latest assets value: $${(latestAssets.val / 1000000).toFixed(0)}M (${latestAssets.end})`); } console.log(''); console.log('🎉 All comprehensive tests completed successfully!'); console.log('📝 The SEC EDGAR MCP server is fully functional with:'); console.log(' ✓ Company search and CIK lookup'); console.log(' ✓ Filing history retrieval'); console.log(' ✓ Filing filtering capabilities'); console.log(' ✓ XBRL financial data access'); console.log(' ✓ Specific financial concept queries'); } catch (error) { console.error('❌ Test failed:', error.message); console.error('Stack trace:', error.stack); process.exit(1); } } runComprehensiveTests();

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/openpharma-org/sec-mcp'

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