使用说明

项目简介

本项目包含两个基于Model Context Protocol (MCP) 的服务器实现,旨在为LLM客户端提供文件搜索和语音转文本的功能。

  • File Finder MCP: 允许LLM客户端搜索本地文件系统中文件名包含特定文本片段的文件。
  • Whisper STT MCP: 允许LLM客户端使用faster-whisper模型将音频数据转录为文本。

主要功能点

  • File Finder MCP:
    • 提供 'search_files' 工具:
      • 功能:根据提供的文本片段,在服务器本地文件系统中搜索文件名包含该片段的文件,并返回文件信息(名称、路径、大小、创建时间)。
      • 参数:'fragment' (字符串,必需):要搜索的文件名片段。
  • Whisper STT MCP:
    • 提供 'transcribe_audio' 工具:
      • 功能:使用faster-whisper模型将Base64编码的音频数据转录为文本,支持自动语言检测或指定语言。
      • 参数:
        • 'audio_base64' (字符串,必需):Base64编码的音频数据。
        • 'language' (字符串,可选):语言代码(例如 "en", "ru"),不提供则自动检测。

安装步骤

  1. 克隆或下载此仓库到本地。
  2. 进入项目根目录。
  3. 安装Node.js依赖:
    npm install
  4. 如果需要使用 Whisper STT MCP 服务器,请确保已安装 Python 和 faster-whisper 库:
    pip install faster-whisper
  5. 构建项目:
    npm run build

服务器配置

要将这些MCP服务器与MCP客户端(如VS Code Cline扩展)集成,您需要配置服务器的启动命令和参数。以下是不同服务器的配置示例,您需要根据实际情况修改 '<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>' 为您的项目路径。

File Finder MCP 服务器配置

直接运行 (stdio)

"file-finder-mcp": {
  "command": "node", // 启动命令,使用node.js运行
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index.js"], // 启动参数,指向编译后的服务器JavaScript文件
  "disabled": false, // 是否禁用该服务器,false为启用
  "autoApprove": []  // 自动允许的工具列表,这里为空表示需要手动批准
}

通过 HTTP 代理运行

首先需要启动 Python HTTP 服务器:

npm run start:python
# 或
python main.py

然后在 MCP 客户端中配置 HTTP 代理服务器:

"file-finder-mcp-http": {
  "command": "node", // 启动命令,使用node.js运行
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index-http.js"], // 启动参数,指向编译后的HTTP代理服务器JavaScript文件
  "disabled": false, // 是否禁用该服务器,false为启用
  "autoApprove": []  // 自动允许的工具列表,这里为空表示需要手动批准
}

Whisper STT MCP 服务器配置

直接运行 (stdio)

"whisper-stt-mcp": {
  "command": "node", // 启动命令,使用node.js运行
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index.js"], // 启动参数,指向编译后的服务器JavaScript文件
  "disabled": false, // 是否禁用该服务器,false为启用
  "autoApprove": []  // 自动允许的工具列表,这里为空表示需要手动批准
}

通过 HTTP 代理运行

首先需要启动 Python HTTP 服务器:

npm run start:whisper:python
# 或
python whisper_server.py

然后在 MCP 客户端中配置 HTTP 代理服务器:

"whisper-stt-mcp-http": {
  "command": "node", // 启动命令,使用node.js运行
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index-http.js"], // 启动参数,指向编译后的HTTP代理服务器JavaScript文件
  "disabled": false, // 是否禁用该服务器,false为启用
  "autoApprove": []  // 自动允许的工具列表,这里为空表示需要手动批准
}

基本使用方法

在支持MCP协议的LLM客户端中,您可以使用 '<use_mcp_tool>' 标签来调用这些服务器提供的工具。

File Finder MCP 使用示例:

<use_mcp_tool>
<server_name>file-finder-mcp</server_name>  <!-- 使用 file-finder-mcp 服务器 -->
<tool_name>search_files</tool_name>         <!-- 调用 search_files 工具 -->
<arguments>
{
  "fragment": ".json"  <!-- 搜索文件名包含 ".json" 的文件 -->
}
</arguments>
</use_mcp_tool>

Whisper STT MCP 使用示例:

<use_mcp_tool>
<server_name>whisper-stt-mcp</server_name> <!-- 使用 whisper-stt-mcp 服务器 -->
<tool_name>transcribe_audio</tool_name>    <!-- 调用 transcribe_audio 工具 -->
<arguments>
{
  "audio_base64": "BASE64_ENCODED_AUDIO_DATA", <!-- Base64 编码的音频数据,需要替换为实际数据 -->
  "language": "ru"                           <!-- (可选) 指定语言为俄语 -->
}
</arguments>
</use_mcp_tool>

请将 'BASE64_ENCODED_AUDIO_DATA' 替换为实际的Base64编码音频数据,并根据需要修改 'server_name' 和 'arguments' 中的参数。

信息

分类

桌面与硬件