Revit MCP Server

使用说明(Markdown格式)

  1. 项目简介
  • 这是一个完整的 MCP 服务器实现,旨在为 LLM 客户端提供可上下文化的 Revit 相关信息与功能。核心包括:资源与工具管理、对话历史(SQLite)存储、与多种 LLM 提供商的对接、以及将 Revit 操作封装为可调用的工具集合。
  • 服务器通过 WebSocket 与客户端通信,支持请求读取资源、执行工具、获取并渲染 Prompts 等等。服务器端负责会话管理、能力声明,并提供基本的请求锁以防止并发冲突。
  1. 主要功能点
  • MCP 协议处理与路由:接收来自客户端的 chat/result/multi_result 等类型消息,返回相应的 response/execute/uncertain/status 等 MCP 风格的响应。
  • 资源与工具管理:加载 53+ 工具定义、提供工具执行入口、处理工具执行结果与连锁工具调用。
  • 提示模板与模型上下文:通过系统提示灵活嵌入模型上下文(活动视图、选中元素、视图/级别/工作表等)。
  • 会话与历史存储:使用 SQLite 持久化对话历史,支持会话创建、历史检索、清理与导出。
  • 模型提供商对接:内置对接 OpenRouter、Anthropic Claude、DeepSeek、Qwen 等多家提供商,具备统一的 Provider 接口。
  • 并发与容错:提供 per-连接请求锁、超时保护、错误日志和回退策略,确保稳定性。
  • 插件架构与扩展性:工具、模型、配置均可扩展,便于在 Revit 插件中对接 MCP 服务。
  1. 安装步骤
  • 获取代码并安装依赖
    • 克隆仓库并进入 mcp-server 目录
    • 安装依赖:npm install
  • 配置环境
    • 复制并修改 .env 尝试配置 LLM 提供商及模型参数(如 LLM_PROVIDER、OPENROUTER_API_KEY、CLAUDE_API_KEY 等),确保至少配置一个可用提供商的 API 密钥。
  • 启动 MCP 服务器
    • 直接在 mcp-server 目录下通过 npm run dev 启动服务(开发模式,细节请参考仓库 README 的 Quick Start)。
    • 启动后服务器默认监听本地端口 3847,供客户端连接。
  • 在 Revit 插件中触发服务器
    • Revit 端提供的 StartServerCommand/ShowChatCommand 将在插件端自动启动并连接到 MCP 服务器,减少手动配置。
  1. 服务器配置(给 MCP 客户端的配置说明,JSON 格式描述,注释性文字说明仅供理解) { "server_name": "revit-mcp-server", "command": "npm", "args": ["run", "dev"], "working_directory": "mcp-server", "notes": "启动命令用于本仓库的开发环境,确保在 mcp-server 目录执行 npm install 后再运行 dev", "port": 3847 } 说明:
  • server_name 表示 MCP 服务端的名称,客户端通过该名称识别目标服务器。
  • command/args 指定启动服务器的命令及参数。此处为在仓库根目录下的 mcp-server 启动命令,使用 npm run dev 启动开发服务器。
  • working_directory 指定服务器实际工作目录。
  • port 为服务器监听端口,默认 3847,与客户端配置保持一致以确保正确连接。
  1. 基本使用方法
  • 连接与对话
    • 启动服务器后,启用 Revit 插件中的聊天面板,面板将通过 WebSocket 连接到 MCP 服务器。
    • 发送自然语言请求(如“List all walls”)后,LLM 将结合可用工具与上下文,返回执行计划或直接执行结果。
  • 工具执行与上下文
    • Claude/其他提供商会选择合适工具执行,服务器会将执行结果回传并更新对话历史。
  • 会话与历史
    • 会话在 SQLite 中持久化,支持历史检索、导出和清理。若连接中断,历史数据可在重新连接后继续使用。
  • 安全与扩展
    • 请求锁、超时和错误处理机制确保多客户端环境下的稳定性;通过工具/模型配置的扩展点,便于增加新工具和新模型。
  1. 关键词 Revit, WebSocket, 模型上下文, 工具执行, 会话历史

  2. 分类ID 6

注:以上信息基于仓库中的 MCP 服务实现、提供商适配、工具与历史管理等核心代码结构综合判断而来。若需要进一步的部署细节或个性化配置,请参考仓库的 README 与相关配置文件。

服务器信息