项目简介
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' 组件。
- 确保您已安装Rust编程环境(包括Cargo)。
- 通过Cargo安装 'mq-mcp':
cargo install --path crates/mq-mcp - 编译后的 '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服务器:
- 打开并读取 '/path/to/your/document.md' 文件。
- 使用mq语言的 'select(or(.h1, .code))' 选择器提取一级标题和代码块。
- 使用mq语言的 'select(contains("important"))' 函数进一步筛选出包含“important”字样的结果。
- 将最终提取的内容作为JSON-RPC响应返回给LLM客户端。
LLM客户端可以根据需要组合不同的 'selectors' 和 'functions' 参数,以实现灵活的Markdown内容提取和处理。
信息
分类
AI与计算