Files
mcp-tool/get-all-tools.js
nasir@endelospay.com 8c74b0e23f first
2025-07-11 20:22:12 +05:00

60 lines
2.2 KiB
JavaScript

#!/usr/bin/env node
/**
* Get all MCP tools for documentation
*/
// Set environment variables
process.env.LARAVEL_API_BASE_URL = 'https://example.com';
console.log('📋 Getting all MCP tools...\n');
import('./src/tools/ToolGenerator.js').then(async ({ ToolGenerator }) => {
import('./src/proxy/ApiClient.js').then(async ({ ApiClient }) => {
import('./src/auth/AuthManager.js').then(async ({ AuthManager }) => {
import('./src/config/ConfigManager.js').then(async ({ ConfigManager }) => {
try {
const config = new ConfigManager();
const authManager = new AuthManager(null, config.getAll(true));
const apiClient = new ApiClient(config.getAll(), authManager);
const toolGenerator = new ToolGenerator(apiClient);
const tools = toolGenerator.generateAllTools();
const publicTools = tools.filter(tool => {
const toolDef = toolGenerator.getTool(tool.name);
return toolDef?.authType === 'public';
});
const providerTools = tools.filter(tool => {
const toolDef = toolGenerator.getTool(tool.name);
return toolDef?.authType === 'provider';
});
console.log(`Total tools: ${tools.length}`);
console.log(`Public tools: ${publicTools.length}`);
console.log(`Provider tools: ${providerTools.length}\n`);
console.log('=== ALL PUBLIC TOOLS ===');
publicTools.forEach((tool, i) => {
const toolDef = toolGenerator.getTool(tool.name);
console.log(`${tool.name.padEnd(40)} # ${toolDef?.endpoint?.description || tool.description}`);
});
console.log('\n=== ALL PROVIDER TOOLS ===');
providerTools.forEach((tool, i) => {
const toolDef = toolGenerator.getTool(tool.name);
console.log(`${tool.name.padEnd(40)} # ${toolDef?.endpoint?.description || tool.description}`);
});
} catch (error) {
console.error('❌ Error:', error.message);
console.error('Stack:', error.stack);
}
});
});
});
}).catch(error => {
console.error('❌ Import error:', error.message);
});