Skip to main content
Glama

Revit MCP

by revit-mcp
ConnectionManager.ts1.48 kB
import { RevitClientConnection } from "./SocketClient.js"; /** * 连接到Revit客户端并执行操作 * @param operation 连接成功后要执行的操作函数 * @returns 操作的结果 */ export async function withRevitConnection<T>( operation: (client: RevitClientConnection) => Promise<T> ): Promise<T> { const revitClient = new RevitClientConnection("localhost", 8080); try { // 连接到Revit客户端 if (!revitClient.isConnected) { await new Promise<void>((resolve, reject) => { const onConnect = () => { revitClient.socket.removeListener("connect", onConnect); revitClient.socket.removeListener("error", onError); resolve(); }; const onError = (error: any) => { revitClient.socket.removeListener("connect", onConnect); revitClient.socket.removeListener("error", onError); reject(new Error("connect to revit client failed")); }; revitClient.socket.on("connect", onConnect); revitClient.socket.on("error", onError); revitClient.connect(); setTimeout(() => { revitClient.socket.removeListener("connect", onConnect); revitClient.socket.removeListener("error", onError); reject(new Error("连接到Revit客户端失败")); }, 5000); }); } // 执行操作 return await operation(revitClient); } finally { // 断开连接 revitClient.disconnect(); } }

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/revit-mcp/revit-mcp'

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