@jorgeceballos/mcp-server-oci
Version:
Model Context Protocol server for Oracle Cloud Infrastructure
47 lines (35 loc) • 1.38 kB
JavaScript
// Este script sirve como wrapper para ejecutar el servidor MCP-OCI con el inspector
// Interceptará la salida estándar para evitar que se envíen mensajes de texto plano
const { spawn } = require('child_process');
const path = require('path');
// Establecer variable de entorno para indicar que estamos en modo inspector
process.env.MCP_INSPECTOR = 'true';
// Ruta al binario npx
const npxPath = process.argv[0];
// Argumentos para el comando real
const args = ['-y', '@jocebal/mcp-server-oci', '--profile', 'DEFAULT'];
// Creamos un proceso hijo con la configuración adecuada
const child = spawn(npxPath, args, {
stdio: ['pipe', 'pipe', 'pipe'],
env: process.env
});
// Redirigir stdin del proceso padre al proceso hijo
process.stdin.pipe(child.stdin);
// Filtrar stdout para interceptar mensajes de texto plano
child.stdout.on('data', (data) => {
const text = data.toString();
// Si el texto comienza con un "{" o "[", probablemente es JSON y lo dejamos pasar
if (text.trim().startsWith('{') || text.trim().startsWith('[')) {
process.stdout.write(data);
} else {
// Es texto plano, lo enviamos a stderr en su lugar
process.stderr.write(`[FILTERED] ${text}`);
}
});
// Redirigir stderr directamente
child.stderr.pipe(process.stderr);
// Manejar eventos de cierre
child.on('close', (code) => {
process.exit(code);
});