跳转到主要内容

FluffOS MCP服务器通过封装FluffOS CLI工具,为AI助手提供LPC代码的驱动级验证和调试功能,适用于LPC开发中的代码验证和性能调试。

FluffOS MCP服务器

LPC开发的真实驱动程序验证 -一个MCP服务器,它封装了FluffOS CLI工具,以提供实际的驱动程序级验证和调试。

image.png

此MCP服务器公开了FluffOS强大的CLI实用程序(symbol 和 lpcc)AI助手,使他们能够根据实际驱动程序验证LPC代码并检查编译的字节码。

这能带来什么

AI助手现在可以:

  • 使用实际的FluffOS驱动程序验证LPC文件(不仅仅是语法检查)
  • 捕捉静态分析遗漏的运行时编译问题
  • 检查编译的字节码以调试性能或行为问题
  • 了解LPC代码的实际编译方式

工具

  • fluffos_validate:使用FluffOS验证LPC文件 symbol 工具
  • fluffos_disassemble:使用以下命令将LPC分解为字节码 lpcc
  • fluffos_doc_lookup:在FluffOS文档中搜索efun、应用程序、概念等。

先决条件

1.FluffOS安装

您需要使用可用的CLI工具安装FluffOS。应存在以下二进制文件:

  • symbol -用于验证LPC文件
  • lpcc -用于反汇编为字节码

2.Node.js

需要Node.js 16+:

BASH
node --version  # Should be v16.0.0 or higher

安装

您可以通过npm安装服务器:

BASH
npm install -g @gesslar/fluffos-mcp

或者克隆并在本地安装:

BASH
git clone https://github.com/gesslar/fluffos-mcp.git
cd fluffos-mcp
npm install

配置

服务器需要以下环境变量:

  • FLUFFOS_BIN_DIR -包含FluffOS二进制文件的目录(symbollpcc)
  • MUD_RUNTIME_CONFIG_FILE -FluffOS配置文件的路径(例如。, /mud/lib/etc/config.test)
  • FLUFFOS_DOCS_DIR -(可选)包含FluffOS文档的目录,用于文档查找

不同AI工具的设置

Warp (Terminal)

添加到Warp MCP配置中:

位置:设置→ AI → 模型上下文协议

如果通过npm安装:

JSON
{
  "fluffos": {
    "command": "npx",
    "args": ["@gesslar/fluffos-mcp"],
    "env": {
      "FLUFFOS_BIN_DIR": "/path/to/fluffos/bin",
      "MUD_RUNTIME_CONFIG_FILE": "/mud/lib/etc/config.test",
      "FLUFFOS_DOCS_DIR": "/path/to/fluffos/docs"
    }
  }
}

如果在本地克隆:

JSON
{
  "fluffos": {
    "command": "node",
    "args": ["/absolute/path/to/fluffos-mcp/index.js"],
    "env": {
      "FLUFFOS_BIN_DIR": "/path/to/fluffos/bin",
      "MUD_RUNTIME_CONFIG_FILE": "/mud/lib/etc/config.test",
      "FLUFFOS_DOCS_DIR": "/path/to/fluffos/docs"
    }
  }
}

重要:使用绝对路径!

添加配置后重新启动Warp。

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或同等版本:

如果通过npm安装:

JSON
{
  "mcpServers": {
    "fluffos": {
      "command": "npx",
      "args": ["@gesslar/fluffos-mcp"],
      "env": {
        "FLUFFOS_BIN_DIR": "/path/to/fluffos/bin",
        "MUD_RUNTIME_CONFIG_FILE": "/mud/lib/etc/config.test",
        "FLUFFOS_DOCS_DIR": "/path/to/fluffos/docs"
      }
    }
  }
}

如果在本地克隆:

JSON
{
  "mcpServers": {
    "fluffos": {
      "command": "node",
      "args": ["/absolute/path/to/fluffos-mcp/index.js"],
      "env": {
        "FLUFFOS_BIN_DIR": "/path/to/fluffos/bin",
        "MUD_RUNTIME_CONFIG_FILE": "/mud/lib/etc/config.test",
        "FLUFFOS_DOCS_DIR": "/path/to/fluffos/docs"
      }
    }
  }
}

配置后重新启动Claude Desktop。

用法示例

配置后,您可以询问您的AI助手:

“使用实际驱动程序验证此LPC文件” → AI使用 fluffos_validate 跑 symbol

“显示此函数的字节码” → AI使用 fluffos_disassemble 跑 lpcc

“为什么这段代码很慢?” → AI检查拆卸以识别低效模式

“call_out的语法是什么?” → AI使用 fluffos_doc_lookup 搜索文档

“我如何使用映射?” → AI搜索文档以查找与地图相关的文档

运作原理

TEXT
AI Assistant
    ↓ (natural language)
  MCP Protocol
    ↓ (tool calls: fluffos_validate, fluffos_disassemble)
  This Server
    ↓ (spawns: symbol, lpcc)
  FluffOS CLI Tools
    ↓ (validates/compiles with actual driver)
  Your LPC Code
  1. AI助手发送MCP工具请求
  2. 服务器生成适当的FluffOS CLI工具
  3. CLI工具使用驱动程序进行验证/反汇编
  4. 服务器将结果返回给AI
  5. AI在驱动程序级别理解你的代码,可以参考FluffOS文档来解释函数是如何工作的!

实现细节

建筑

服务器是使用 模型上下文协议SDK 并遵循基于类的架构:

  • FluffOSMCPServer类:主服务器实现
  • MCP SDK服务器:通过stdio处理协议通信
  • 子进程产卵:执行FluffOS CLI工具
  • 路径规范化:将绝对路径转换为mudlib相对路径

路径处理

服务器智能地处理文件路径:

  1. 作语法分析 mudlib directory 从FluffOS配置文件
  2. 将绝对路径标准化为mudlib相对路径
  3. 将规范化路径传递给FluffOS工具(需要相对路径)

例子: /mud/ox/lib/std/object.c → std/object.c

工具实施

fluffos_validate:

  • 生成物 symbol <config> <file> 从配置目录
  • 捕获stdout/stderr
  • 返回编译错误的成功/失败
  • 退出代码0=验证通过

fluffos_disassemble:

  • 生成物 lpcc <config> <file> 从配置目录
  • 返回完整的字节码反汇编
  • 包括函数表、字符串和指令级详细信息

fluffos_doc_lookup (可选):

  • 跑 scripts/search_docs.sh 辅助脚本
  • 用途 grep 搜索markdown文件
  • 仅在以下情况下可用 FLUFFOS_DOCS_DIR 已设置

错误处理

  • 启动时验证所需的环境变量
  • 通过MCP返回结构化错误响应
  • 优雅地处理丢失的配置或工具执行失败
  • 报告非零退出代码,但不会使服务器崩溃

补充工具

此服务器配合使用效果很好:

  • lpc mcp -用于代码智能的语言服务器集成
  • 具有jlchmura LPC扩展的VS码 -IDE支持

将它们一起使用,获得完整的LPC开发体验!

贡献

PR欢迎!这是一个简单的包装器,可以用更多的FluffOS工具进行扩展。

鸣谢

许可证

无许可-公共领域。用这段代码做任何你想做的事。