Skip to main content
Glama
aegntic

Obsidian Elite RAG MCP Server

n8n-api.ts1.34 kB
import { z } from 'zod'; import dotenv from 'dotenv'; import { logger } from '../utils/logger'; // n8n API configuration schema const n8nApiConfigSchema = z.object({ N8N_API_URL: z.string().url().optional(), N8N_API_KEY: z.string().min(1).optional(), N8N_API_TIMEOUT: z.coerce.number().positive().default(30000), N8N_API_MAX_RETRIES: z.coerce.number().positive().default(3), }); // Track if we've loaded env vars let envLoaded = false; // Parse and validate n8n API configuration export function getN8nApiConfig() { // Load environment variables on first access if (!envLoaded) { dotenv.config(); envLoaded = true; } const result = n8nApiConfigSchema.safeParse(process.env); if (!result.success) { return null; } const config = result.data; // Check if both URL and API key are provided if (!config.N8N_API_URL || !config.N8N_API_KEY) { return null; } return { baseUrl: config.N8N_API_URL, apiKey: config.N8N_API_KEY, timeout: config.N8N_API_TIMEOUT, maxRetries: config.N8N_API_MAX_RETRIES, }; } // Helper to check if n8n API is configured (lazy check) export function isN8nApiConfigured(): boolean { const config = getN8nApiConfig(); return config !== null; } // Type export export type N8nApiConfig = NonNullable<ReturnType<typeof getN8nApiConfig>>;

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/aegntic/aegntic-MCP'

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