Skip to main content
Glama
N8nApiToolInterface.ts2.34 kB
import express from 'express'; import path from 'path'; import fs from 'fs'; import N8nApiTool from './N8nApiTool.js'; export class N8nApiToolInterface { private tool: N8nApiTool; constructor() { // Créer une instance de N8nApiTool this.tool = new N8nApiTool(); } registerRoutes(app: express.Application) { // Route pour interagir avec l'API n8n app.post('/api/n8n-api', async (req: express.Request, res: express.Response) => { try { const { endpoint, method, data, params } = req.body; if (!endpoint || !method) { return res.status(400).json({ success: false, message: "Les paramètres endpoint et method sont requis" }); } // Valider la méthode if (!["GET", "POST", "PUT", "DELETE"].includes(method)) { return res.status(400).json({ success: false, message: "La méthode doit être GET, POST, PUT ou DELETE" }); } const result = await this.tool.execute({ endpoint, method, data, params }); return res.json(result); } catch (error: unknown) { console.error('Erreur lors de l\'appel à l\'API n8n:', error); const errorMessage = error instanceof Error ? error.message : String(error); return res.status(500).json({ success: false, message: `Erreur: ${errorMessage}` }); } }); // Route pour la documentation de l'API app.get('/api/n8n-api/docs', (req: express.Request, res: express.Response) => { try { const docsPath = path.join(process.cwd(), 'src', 'public', 'docs', 'n8n-api.html'); if (fs.existsSync(docsPath)) { return res.sendFile(docsPath); } else { return res.status(404).json({ success: false, message: "Documentation non trouvée" }); } } catch (error: unknown) { console.error('Erreur lors de l\'accès à la documentation:', error); const errorMessage = error instanceof Error ? error.message : String(error); return res.status(500).json({ success: false, message: `Erreur: ${errorMessage}` }); } }); } }

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/lowprofix/n8n-mcp-server'

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