Skip to main content
Glama

mcphub

by samanhappy
test-openapi.ts1.88 kB
// Test script to verify OpenAPI server functionality // Run this in the MCPHub project directory with: tsx test-openapi.ts import { OpenAPIClient } from './src/clients/openapi.js'; import type { ServerConfig } from './src/types/index.js'; async function testOpenAPIClient() { console.log('Testing OpenAPI client...'); // Test configuration const testConfig: ServerConfig = { type: 'openapi', openapi: { url: 'https://petstore3.swagger.io/api/v3/openapi.json', // Public Swagger Petstore API version: '3.1.0', security: { type: 'none', }, }, headers: { 'Content-Type': 'application/json', }, }; try { // Initialize the OpenAPI client const client = new OpenAPIClient(testConfig); await client.initialize(); console.log('✅ OpenAPI client initialized successfully'); // Get available tools const tools = client.getTools(); console.log(`✅ Found ${tools.length} tools:`); tools.slice(0, 5).forEach((tool) => { console.log(` - ${tool.name}: ${tool.description}`); }); // Test a simple GET operation if available const getTool = tools.find( (tool) => tool.method === 'get' && tool.path.includes('/pet') && !tool.path.includes('{'), ); if (getTool) { console.log(`\n🔧 Testing tool: ${getTool.name}`); try { const result = await client.callTool(getTool.name, {}); console.log('✅ Tool call successful'); console.log('Result type:', typeof result); } catch (error) { console.log('⚠️ Tool call failed (expected for demo API):', (error as Error).message); } } console.log('\n🎉 OpenAPI integration test completed!'); } catch (error) { console.error('❌ Test failed:', error); process.exit(1); } } // Run the test testOpenAPIClient().catch(console.error);

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/samanhappy/mcphub'

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