使用说明

项目简介

mcp-llm 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 客户端提供便捷的 LLM 功能访问。它集成了 LlamaIndexTS 库,提供了一系列工具,如代码生成、文档生成和通用问答,使得 LLM 客户端能够轻松地调用这些能力。

主要功能点

  • 代码生成 (generate_code): 根据描述生成指定编程语言的代码。
  • 代码生成到文件 (generate_code_to_file): 生成代码并将其写入到指定文件和行号,方便代码集成。
  • 文档生成 (generate_documentation): 为给定的代码生成相应格式的文档注释。
  • 通用问答 (ask_question): 允许用户向 LLM 提出问题,并获取答案,可以提供上下文信息以获得更精准的回答。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/sammcj/mcp-llm.git
    cd mcp-llm
  2. 安装依赖: 确保已安装 Node.js 和 npm,然后运行:
    npm install
  3. 构建项目:
    npm run build

服务器配置

为了让 MCP 客户端能够连接到 'mcp-llm' 服务器,需要在客户端的 MCP 配置中添加以下 server 配置。 请根据你的实际需求修改 'env' 中的环境变量。

{
  "mcpServers": {
    "llm": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-llm"
      ],
      "env": {
        "LLM_MODEL_NAME": "deepseek-r1:7b-qwen-distill-q6_k_l",  // 指定使用的 LLM 模型名称,例如 Ollama 中的模型名
        "LLM_MODEL_PROVIDER": "ollama",  // 指定 LLM 模型提供商,例如 ollama, openai, bedrock 等
        "LLM_BASE_URL": "http://localhost:11434",  // (可选) 模型提供商的基础 URL,例如 Ollama 的 API 地址
        "LLM_ALLOW_FILE_WRITE": "true", // (可选) 是否允许 'generate_code_to_file' 工具写入文件,默认为 false,设置为 true 启用文件写入功能
        "LLM_TIMEOUT_S": "240" // (可选) LLM 请求超时时间,单位为秒
      },
      "disabled": false,
      "autoApprove": [ // (可选) 自动批准的工具列表,客户端调用这些工具时无需用户手动批准
        "generate_code",
        "generate_documentation",
        "ask_question",
        "generate_code_to_file"
      ],
      "timeout": 300 // (可选) 服务器连接超时时间
    },
  }
}

注意:

  • 'command' 和 'args' 指定了启动 'mcp-llm' 服务器的命令,通常无需修改。
  • 'env' 中配置了服务器运行所需的环境变量,请务必根据你使用的 LLM 模型和提供商进行配置。例如,如果使用 OpenAI 模型,则需要设置 'LLM_MODEL_PROVIDER' 为 'openai' 并配置 'OPENAI_API_KEY' 环境变量。
  • 'autoApprove' 列表中的工具将在客户端调用时自动批准执行,无需用户手动确认。你可以根据需要调整此列表。

基本使用方法

  1. 启动 MCP 服务器: 在 'mcp-llm' 仓库根目录下,运行以下命令启动服务器:

    npm start

    服务器默认通过标准输入/输出 (stdio) 与 MCP 客户端通信。

  2. 配置 MCP 客户端: 将上面提供的 'server' 配置添加到你的 MCP 客户端配置文件中。确保客户端能够正确连接到该服务器。

  3. 调用工具: 在 MCP 客户端中,你可以使用 'callTool' 方法调用 'mcp-llm' 服务器提供的工具。 例如,调用 'generate_code' 工具生成 JavaScript 代码的请求参数可能如下所示:

    {
      "name": "generate_code",
      "arguments": {
        "description": "创建一个计算阶乘的 JavaScript 函数",
        "language": "JavaScript"
      }
    }

    更多工具的使用示例和参数说明,请参考仓库 'README.md' 文件中的 "Examples" 部分。

环境变量配置

'mcp-llm' 服务器通过环境变量进行配置。以下是一些常用的环境变量:

  • 'LLM_MODEL_NAME' (必需): 指定要使用的 LLM 模型名称,例如 'qwen2-32b:q6_k', 'anthropic.claude-3-7-sonnet-20250219-v1:0' 或 Ollama 中的模型名称 'llama2'。
  • 'LLM_MODEL_PROVIDER' (必需): 指定模型提供商,例如 'bedrock', 'ollama', 'openai', 'openai-compatible'。
  • 'LLM_BASE_URL' (可选): 模型提供商的基础 URL,例如 'https://ollama.internal', 'http://my-openai-compatible-server.com:3000/v1'。
  • 'LLM_TEMPERATURE' (可选): 模型温度参数,例如 '0.2'。
  • 'LLM_NUM_CTX' (可选): 上下文窗口大小,例如 '16384'。
  • 'LLM_TOP_P', 'LLM_TOP_K', 'LLM_MIN_P', 'LLM_REPETITION_PENALTY' (可选): 其他模型推理参数。
  • 'LLM_SYSTEM_PROMPT_GENERATE_CODE', 'LLM_SYSTEM_PROMPT_GENERATE_DOCUMENTATION', 'LLM_SYSTEM_PROMPT_ASK_QUESTION' (可选): 分别用于 'generate_code', 'generate_documentation', 'ask_question' 工具的系统提示词。
  • 'LLM_TIMEOUT_S' (可选): LLM 请求超时时间,单位为秒,例如 '240' 表示 4 分钟。
  • 'LLM_ALLOW_FILE_WRITE' (可选): 设置为 'true' 以允许 'generate_code_to_file' 工具写入文件,默认为 'false'。
  • 'OPENAI_API_KEY' (可选): OpenAI API 密钥,当使用 OpenAI 提供商时需要配置。

请根据你的实际需求配置这些环境变量。

信息

分类

AI与计算