项目简介
LPC MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在将传统的LPC语言服务器(LSP)的强大功能,如代码结构理解、文档获取、定义跳转和引用查找,提供给AI助手。它充当LSP与AI助手之间的桥梁,使得AI可以通过自然语言查询来理解和分析LPC代码库。
主要功能点
- 代码文档获取 ('lpc_hover'): AI助手可以获取LPC代码中任何符号的详细悬停信息或文档。
- 定义跳转 ('lpc_definition'): 能够找到并跳转到LPC代码中变量、函数等符号的定义位置。
- 查找引用 ('lpc_references'): 帮助AI助手查找LPC代码中某个符号的所有使用之处。
- 实时诊断 ('lpc_diagnostics'): 提供LPC代码的实时错误、警告和提示,帮助AI助手理解代码中存在的问题。
- 工作区感知: 读取你的 'lpc-config.json' 文件,以确保正确的符号解析和代码理解。
- 高效通信: 直接与LPC语言服务器进行 JSON-RPC 通信,响应迅速。
安装步骤
在开始使用LPC MCP服务器之前,你需要完成以下准备工作:
-
安装 Node.js: 确保你的系统安装了 Node.js 16 或更高版本。
node --version # 检查版本是否为 v16.0.0 或更高 -
安装 LPC 语言服务器扩展: 在 VS Code 中安装 'jlchmura.lpc' 扩展,该扩展包含了LPC语言服务器的二进制文件。
code --install-extension jlchmura.lpc你可以通过以下命令验证是否安装成功:
ls ~/.vscode/extensions/jlchmura.lpc-*/out/server/src/server.js -
安装项目依赖: 克隆 'lpc-mcp' 仓库到本地,并安装其依赖。
git clone https://github.com/gesslar/lpc-mcp.git cd lpc-mcp npm install -
创建 'lpc-config.json': 在你的LPC mudlib项目的根目录下创建一个名为 'lpc-config.json' 的配置文件。这个文件会告诉语言服务器如何解析你的代码(例如,包含路径、模拟函数等)。
例如,一个简单的 'lpc-config.json' 可能如下所示:
{ "driver": { "type": "fluffos" }, "libFiles": { "master": "adm/obj/master.c", "simul_efun": "adm/obj/simul_efun.c", "global_include": "include/global.h" }, "libInclude": [ "include", "include/driver", "adm/include" ], "exclude": [ ".git/", "tmp/" ] }
服务器配置(供 MCP 客户端使用)
LPC MCP 服务器本身通过标准输入输出(Stdio)运行,并等待 MCP 客户端的连接。要让你的AI工具(如 Warp、Claude Desktop、Cline、GitHub Copilot 等)使用这个服务器,你需要在AI工具的 MCP 配置中添加以下信息。
请将以下JSON配置添加到你的AI工具的MCP配置中(具体位置请参考你所使用的AI工具的文档),并务必将路径替换为实际的绝对路径:
{ "lpc": { "command": "node", "args": ["/绝对/路径/到/lpc-mcp/index.js"], "env": { "LPC_WORKSPACE_ROOT": "/绝对/路径/到/你的/mudlib" } } }
- 'lpc': 这是你为这个 MCP 服务器定义的名称,你可以自定义。AI助手将通过这个名称来调用服务器提供的能力。
- 'command': 这是用于启动 MCP 服务器的可执行命令。对于LPC MCP 服务器,它是一个Node.js应用,所以这里填写 'node'。
- 'args': 这是传递给 'command' 的参数列表。 '/绝对/路径/到/lpc-mcp/index.js' 应替换为 'lpc-mcp' 仓库中 'index.js' 文件的绝对路径。
- 'env': 这是一个环境变量对象。
- 'LPC_WORKSPACE_ROOT': 这是 必须 设置的环境变量,其值应替换为你的LPC mudlib项目的根目录的绝对路径,即包含 'lpc-config.json' 文件的目录。服务器将使用此路径来定位你的代码库。
配置完成后,通常需要重启你的AI工具,以使其加载新的MCP服务器配置。
基本使用方法
一旦LPC MCP服务器配置并运行,你就可以通过自然语言向你的AI助手提问,让它利用LPC代码的智能分析能力:
- 提问: "房间(room.c)中的 'query_short()' 函数是做什么用的?"
- → AI助手将调用 'lpc_hover' 工具获取函数文档。
- 提问: "'STD_OBJECT' 在哪里定义的?"
- → AI助手将调用 'lpc_definition' 工具查找其定义位置。
- 提问: "找到所有调用 'set_room_size()' 的地方。"
- → AI助手将调用 'lpc_references' 工具定位所有引用。
- 提问: "检查这个LPC文件有没有语法错误。"
- → AI助手将调用 'lpc_diagnostics' 工具获取代码诊断信息。
- 提问: "为什么这段LPC代码编译不过去?"
- → AI助手会查看诊断结果,找出未声明变量或类型不匹配等错误。
通过这些交互,AI助手能够更深入地理解你的LPC代码库,并提供更智能的帮助。
信息
分类
开发者工具