AutoCAD AutoLISP GraphRAG MCP 服务端
使用说明内容(Markdown格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器端,专注于对 AutoLISP 知识图谱的语义检索。服务器端通过一个名为 search 的 MCP 工具暴露图谱搜索能力,能够对 AutoLISP 函数/命令等进行向量相似度检索、图谱扩展以及可读格式的结果输出,便于 LLM 客户端在对话中获取相关技术信息与上下文。
-
主要功能点
- MCP 服务器实现:提供一个 FastMCP 服务端,支持通过 MCP 客户端发起请求并返回结构化响应。
- 图谱检索:使用向量索引进行语义检索,基于 AutoLISP 函数/命令的嵌入向量返回相关节点。
- 图谱扩展:在种子节点基础上向外扩展一定深度,提供相关节点信息,支持按平台过滤。
- 结果渲染:将检索结果格式化为便于阅读的文本输出,便于在对话中直接显示给用户。
- 数据源与模型:后端加载 KUZU 图数据库、嵌入向量模型以及(在需要时)向 Claude Haiku 等服务提交实体提取请求。
- 本地化运行:通过 mcp_server.py 启动,并可通过 AUTOLISP_DB_PATH 指定本地数据库路径。
-
安装步骤
- 安装依赖:使用 Python 环境,安装 requirements.txt 中的依赖。
- 构建图谱(可选,已有预构建数据库 autolisp.db):如需重新构建,请运行 build_graph.py 与相应文档目录。
- 运行服务:在终端执行,需设置 AUTOLISP_DB_PATH 环境变量指向 autolisp.db(示例环境变量名见下方配置),然后运行 mcp_server.py。
- 说明:MCP 客户端(如 Claude Code、Cursor、GitHub Copilot 等)不需要你的额外客户端代码,只需要提供服务器启动命令和配置即可与服务器对接。
-
服务器配置(MCP 客户端需要的配置,对客户端不可见)
- 说明:MCP 客户端需要的配置信息通常包含服务器名称、启动命令和参数等,用于建立与 MCP 服务器的连接。以下为示例描述信息,实际使用请按客户端的要求提供配置。
- 示例配置(JSON 格式,供参考) { "server_name": "AutoCAD AutoLISP GraphRAG MCP", "command": "python", "args": ["mcp_server.py"], "environment": { "AUTOLISP_DB_PATH": "./autolisp.db" }, "notes": "启动后客户端即可通过 MCP 协议向该服务器发送请求,例如调用 search 工具以获取图谱信息。" }
-
基本使用方法
- 启动服务
- 将 AUTOLISP_DB_PATH 指向 autolisp.db 的位置后,运行 mcp_server.py,服务器启动并对外提供 MCP 工具接口。
- 通过 MCP 客户端发起请求
- 客户端向服务器发送一个请求,包含要执行的工具名称(如 search)、查询文本、深度、过滤等参数。服务器返回格式化的文本输出,包含匹配的直接节点和相关邻接节点的简要信息及距离分数。
- 常见用例
- 请求 AutoLISP 函数相关的语义查询并获取相关上下文信息,用于对话式编程助手的回答生成。
- 结合本地文档知识库进行函数兼容性、用法示例等上下文渲染。
- 启动服务