@yepcode/mcp-server
Version:
MCP server for YepCode
41 lines (40 loc) • 1.56 kB
JavaScript
import Logger from "./logger.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import YepCodeMcpServer from "./server.js";
import { getVersion } from "./utils.js";
const logger = new Logger("StdioServer", { logsToStderr: true });
const main = async () => {
let disableRunCodeTool = false;
let skipRunCodeCleanup = false;
if (process.env.YEPCODE_MCP_OPTIONS) {
const mcpOptions = process.env.YEPCODE_MCP_OPTIONS.split(",");
disableRunCodeTool = mcpOptions.includes("disableRunCodeTool");
skipRunCodeCleanup = mcpOptions.includes("skipRunCodeCleanup");
}
const server = new YepCodeMcpServer({}, { logsToStderr: true, disableRunCodeTool, skipRunCodeCleanup });
try {
const transport = new StdioServerTransport();
await server.connect(transport);
logger.info(`@yepcode/mcp-server v${getVersion()} successfully started`);
// Handle process termination
process.on("SIGINT", async () => {
logger.info("Received SIGINT, shutting down");
await server.close();
process.exit(0);
});
process.on("SIGTERM", async () => {
logger.info("Received SIGTERM, shutting down");
await server.close();
process.exit(0);
});
}
catch (error) {
logger.error("Failed to start server:", error);
process.exit(1);
}
};
main().catch((error) => {
logger.error("Error running server", error);
});
export default main;