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 函数相关的语义查询并获取相关上下文信息,用于对话式编程助手的回答生成。
      • 结合本地文档知识库进行函数兼容性、用法示例等上下文渲染。

服务器信息