使用说明

项目简介

Gendl MCP Server Wrapper 是一个基于 Node.js 开发的增强型 MCP(Model Context Protocol)服务器,旨在桥接 Gendl 框架和 LLM 客户端,例如 Claude Desktop。它充当 Claude 与 Gendl 之间的接口,允许 Claude 利用 Gendl 的强大工程设计能力。

Gendl 是一个生成式编程和知识库工程 (KBE) 框架,用于定义复杂的工程问题、生成 3D 几何图形并进行知识库查询。此 MCP 服务器包装器使得 Claude 可以通过标准化的 MCP 协议与 Gendl 后端进行通信。

主要功能点

  • MCP 服务器核心功能实现: 支持资源管理、工具注册与执行、Prompt 模板渲染等 MCP 协议定义的核心功能。
  • Gendl 集成: 作为 Gendl 的增强型包装器,允许 LLM 客户端安全、可扩展地访问 Gendl 的上下文服务。
  • 工具支持: 内置 'lisp_eval' 工具用于执行 Gendl Lisp 代码,'query_gendl_kb' 工具用于查询 Gendl 知识库,'http_request' 工具用于发起 HTTP 请求。
  • Docker 容器管理: 能够自动启动和管理 Gendl Docker 容器,简化部署流程。
  • 灵活配置: 支持通过命令行参数和环境变量配置 Gendl 服务器地址、端口、Docker 镜像等参数。
  • 多种传输协议支持: 通过 Node.js 脚本和 JSON-RPC 协议与 MCP 客户端通信,支持 Stdio 传输协议。

安装步骤

  1. 安装依赖: 确保已安装 Node.js 和 Docker。然后,在仓库的 'scripts' 目录下执行以下命令安装 Node.js 依赖:

    cd /projects/gendl/gwl/mcp/scripts
    npm install
    chmod +x enhanced-mcp-wrapper.js
  2. 测试脚本: 运行以下命令测试脚本是否正常工作:

    node enhanced-mcp-wrapper.js --help

服务器配置

为了使 MCP 客户端(如 Claude Desktop)能够连接到 Gendl MCP 服务器,您需要在客户端配置文件中指定服务器的启动命令和参数。以下是一个 'claude_desktop_config.json' 示例配置,展示了如何配置 'gendl' 服务器:

{
  "mcpServers": {
    "gendl": {
      "command": "wsl",  // 或您系统上的 Node.js 执行命令路径,例如 "node"
      "args": [
        "/home/user/projects/gendl-mcp/scripts/enhanced-mcp-wrapper.js", // enhanced-mcp-wrapper.js 脚本的绝对路径
        "--mount", "/home/user/projects:/projects" // 可选:挂载本地目录到 Docker 容器
      ],
      "env": {
        "NODE_ENV": "production",
        "DEBUG": "*" // 可选:启用调试日志
      }
    }
  },
  "globalShortcut": ""
}

参数说明:

  • 'command': 启动 MCP 服务器的命令,通常是您系统上的 Node.js 执行命令路径 ('node' 或 'wsl node' 等)。
  • 'args': 传递给 'enhanced-mcp-wrapper.js' 脚本的命令行参数,例如:
    • '/home/user/projects/gendl-mcp/scripts/enhanced-mcp-wrapper.js': 'enhanced-mcp-wrapper.js' 脚本的绝对路径。请根据您的实际路径修改。
    • '--mount /home/user/projects:/projects': 可选参数,用于将宿主机的 '/home/user/projects' 目录挂载到 Docker 容器的 '/projects' 目录。您可以根据需要添加或修改挂载点。
    • 其他可选参数,例如 '--host', '--swank-host-port', '--http-host-port' 等,请参考 'README.md' 文件中的 "Command-Line Arguments" 部分进行配置。
  • 'env': 可选的环境变量配置,例如:
    • 'NODE_ENV: "production"': 设置 Node.js 运行环境为生产环境。
    • 'DEBUG: "*"': 启用详细的调试日志输出。

注意:

  • 请根据您的实际环境修改 'command' 和 'args' 中的路径。
  • 确保 MCP 客户端配置文件(例如 'claude_desktop_config.json')与您的 MCP 服务器配置相匹配。

基本使用方法

  1. 启动 MCP 服务器: 根据您在 'claude_desktop_config.json' 中配置的 'command' 和 'args',启动 Gendl MCP 服务器。例如,如果配置了 'wsl node /home/user/projects/gendl-mcp/scripts/enhanced-mcp-wrapper.js',则在 WSL 终端中运行该命令。

  2. 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)中,配置连接到 'gendl' 服务器。客户端将使用 JSON-RPC 协议通过 Stdio 与服务器进行通信。

  3. 使用 LLM 客户端: 使用 Claude Desktop 等 LLM 客户端,通过 MCP 协议与 Gendl MCP 服务器交互。您可以使用客户端提供的工具(例如 'lisp_eval', 'query_gendl_kb', 'http_request')来访问 Gendl 的功能和知识库。

请参考 'README.md' 文件中的 "Usage Examples" 和 "Tools for Claude Integration" 部分,了解更多使用细节和工具的使用方法。

信息

分类

AI与计算