UNPKG

@foundrole/ai-job-search-mcp

Version:

Run your job search from your AI assistant. Connect FoundRole to Claude, ChatGPT, Cursor, or any MCP client and search live jobs right away — no sign-up. Sign in once (your AI does it for you) to save and track applications on a Kanban board, set follow-u

60 lines 2.31 kB
import { getProxyConfig } from "./config.js"; import { PROXY_NAME } from "./constants.js"; import { startStdioServer } from "./stdio-server.js"; export { getProxyConfig } from "./config.js"; export { PROXY_NAME, PROXY_VERSION } from "./constants.js"; export { startStdioServer } from "./stdio-server.js"; // Safe console.error wrapper that handles errors gracefully function safeConsoleError(...args) { try { console.error(...args); } catch { // Silently ignore console errors to prevent crashes // In production, logging infrastructure might be broken } } export async function startProxy(config) { safeConsoleError(`Starting ${PROXY_NAME} (stdio -> HTTPStream)`); safeConsoleError(`Target URL: ${config.targetUrl}`); safeConsoleError(`Debug mode: ${config.debugMode ? "enabled" : "disabled"}`); try { await startStdioServer({ url: config.targetUrl, }); safeConsoleError("AI Job Search MCP server started successfully"); safeConsoleError("Ready to accept MCP client connections via stdio"); safeConsoleError("Original client info will be forwarded to backend"); const sigintHandler = () => { safeConsoleError("Shutting down proxy server..."); process.exit(0); }; const sigtermHandler = () => { safeConsoleError("Shutting down proxy server..."); process.exit(0); }; process.on("SIGINT", sigintHandler); process.on("SIGTERM", sigtermHandler); return () => { process.removeListener("SIGINT", sigintHandler); process.removeListener("SIGTERM", sigtermHandler); }; } catch (error) { safeConsoleError("Failed to connect to target MCP server:", error); safeConsoleError(`Please check that the target server at ${config.targetUrl} is accessible`); safeConsoleError("For debugging, try setting MCP_TARGET_URL to a local server"); throw error; } } export async function main() { try { const config = getProxyConfig(); return await startProxy(config); } catch (error) { safeConsoleError("Unexpected error starting MCP proxy:", error); process.exit(1); } } //# sourceMappingURL=index.js.map