项目简介

mq MCP服务器是基于 Model Context Protocol (MCP) 实现的应用后端,利用强大的mq语言(一种类似jq的命令行工具)来处理Markdown文件。它以标准化的方式向大型语言模型(LLM)客户端提供上下文信息和功能,特别擅长从Markdown文档中提取、筛选和转换结构化数据。

主要功能点

  • Markdown处理: 使用mq语言提供的丰富函数和选择器,对Markdown内容进行精确的解析、筛选和转换。
  • 工具 (Tools): 注册和执行名为 'extract_from_markdown' 的工具,允许LLM客户端通过标准请求调用此功能,从指定Markdown文件中提取信息。
  • 数据访问: 通过 'extract_from_markdown' 工具提供数据访问能力,LLM可以指定文件路径及提取规则。
  • 标准化协议: 使用JSON-RPC协议与LLM客户端通信,确保交互的标准化和可扩展性。
  • 传输协议: 支持通过标准输入输出 (Stdio) 进行通信。

安装步骤

该项目包含MCP服务器实现 'mq-mcp' 和命令行工具 'mq-cli'。作为MCP服务器使用时,需要安装 'mq-mcp' 组件。

  1. 确保您已安装Rust编程环境(包括Cargo)。
  2. 通过Cargo安装 'mq-mcp':
    cargo install --path crates/mq-mcp
  3. 编译后的 'mq-mcp' 可执行文件将位于您的Cargo bin目录下(通常是 '~/.cargo/bin/' 或 '%USERPROFILE%.cargo\bin')。

服务器配置

MCP客户端需要配置MCP服务器的启动信息以建立连接。mq MCP服务器通过标准输入输出(Stdio)进行通信。以下是MCP客户端可能需要的配置示例(JSON格式):

{
  "server name": "mq-mcp", // 服务器的名称标识
  "command": "mq-mcp",     // 启动mq-mcp服务器进程的命令
  "args": []               // 传递给mq-mcp命令的参数列表(当前版本无须额外参数)
}

注意:具体的配置方式取决于您使用的MCP客户端。通常您需要在客户端的用户界面或配置文件中填入这些信息。

基本使用方法

mq MCP服务器启动后,会监听标准输入接收MCP客户端发送的JSON-RPC请求。LLM客户端可以通过调用服务器提供的工具来利用其功能。

目前主要提供了 'extract_from_markdown' 工具。LLM客户端可以构造一个JSON-RPC请求来调用此工具,例如:

{
  "jsonrpc": "2.0",
  "method": "tool/call",
  "params": {
    "tool": {
      "name": "extract_from_markdown",
      "args": {
        "file_path": "/path/to/your/document.md",
        "selectors": [
          "Heading1",
          "Code"
        ],
        "functions": [
          { "Contains": "important" }
        ]
      }
    }
  },
  "id": 1
}

这个请求会指示mq MCP服务器:

  1. 打开并读取 '/path/to/your/document.md' 文件。
  2. 使用mq语言的 'select(or(.h1, .code))' 选择器提取一级标题和代码块。
  3. 使用mq语言的 'select(contains("important"))' 函数进一步筛选出包含“important”字样的结果。
  4. 将最终提取的内容作为JSON-RPC响应返回给LLM客户端。

LLM客户端可以根据需要组合不同的 'selectors' 和 'functions' 参数,以实现灵活的Markdown内容提取和处理。

信息

分类

AI与计算