60 lines
2.2 KiB
JavaScript
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);
|
|
});
|