rhombus-node-mcp
Version:
MCP server for Rhombus API
41 lines (40 loc) • 1.35 kB
JavaScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import "dotenv/config";
import { serverInit } from "./createServer.js";
import { logger } from "./logger.js";
import stdioTransport from "./transports/stdio.js";
import streamableHttpTransport from "./transports/streamable-http.js";
const RHOMBUS_API_KEY = process.env.RHOMBUS_API_KEY;
const TRANSPORT_TYPE = process.env.TRANSPORT_TYPE || "stdio";
async function main() {
if (!RHOMBUS_API_KEY) {
logger.info("Missing RHOMBUS_API_KEY");
}
const serverUrl = process.env.RHOMBUS_API_SERVER || "api2.rhombussystems.com";
logger.info(`Using API_KEY: ${RHOMBUS_API_KEY}`);
logger.info(`To hit API server: ${serverUrl}`);
logger.info("🌐 Using server url", serverUrl);
await serverInit();
const server = new McpServer({
name: "rhombus",
version: "1.0.0",
capabilities: {
resources: {},
tools: {},
},
});
if (TRANSPORT_TYPE === "stdio") {
await stdioTransport();
}
else if (TRANSPORT_TYPE === "streamable-http") {
await streamableHttpTransport();
}
else {
throw new Error(`Invalid transport type: ${TRANSPORT_TYPE}`);
}
}
main().catch(error => {
console.error("Fatal error in main():", error);
process.exit(1);
});