文件搜索与语音转文本服务

提供文件搜索和语音转文本功能的MCP服务器,适用于开发环境集成和自动化处理。

  • by sergey-fintech
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 sergey-fintech/mcp

使用说明

MCP 服务器

此存储库包含两个服务器MCP(Model Context Protocol):

  1. File Finder MCP文件查找器
  2. Whisper STT MCP-将语音转换为文本

文件查找器MCP服务器

它是Model Context Protocol(MCP)服务器,提供文件搜索功能。它允许您搜索名称中包含指定文本片段的文件。

先决条件

  • Node.js(14或更高版本)
  • NPM(版本6或更高版本)
  • Python 3.6或更高版本(用于HTTP服务器)

安装

  1. 克隆或下载此存储库
  2. 转到项目目录
  3. 建立依赖关系:
    npm install
    
  4. Соберите проект:
    npm run build
    

Запуск сервера

该项目提供了启动MCP服务器的几种选项:

选项1:直接启动MCP服务器

您可以使用Node.js直接启动MCP服务器:

npm start

或

node build/index.js

这将启动服务器,并等待JSON-RPC对stdin/stdout的请求。

Вариант2:ЗапукHTTPсервераиMCPпроки

此选项使用Python HTTP服务器和MCP代理将请求重定向到HTTP服务器:

  1. СначалазапутитеHTTP:

    npm run start:python
    

    或

    python main.py
    
  2. 然后在另一个终端中运行MCP代理:

    npm run start:http
    

    或

    node build/index-http.js
    

选项3:与VS代码集成(Cline扩展)

要将服务器与VS Code和Cline扩展集成:

  1. "айдитефайлнастроекMCP:

    • 窗户: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. 将以下配置添加到对象中 mcpServers 在配置文件中:

"file-finder-mcp": {
  "command": "node",
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index.js"],
  "disabled": false,
  "autoApprove": []
}

要使用HTTP代理:

"file-finder-mcp-http": {
  "command": "node",
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index-http.js"],
  "disabled": false,
  "autoApprove": []
}

Замените <ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ> 到项目目录的实际路径。

  1. 重新启动VS代码以下载更新的设置。

可用工具

MCP服务器提供一个工具:

  • search_files:搜索名称中包含指定片段的文件
    • 选项 :
      • fragment (必填字符串):用于搜索文件名的文本片段

使用示例

<use_mcp_tool>
<server_name>file-finder-mcp</server_name>
<tool_name>search_files</tool_name>
<arguments>
{
  "fragment": ".py"
}
</arguments>
</use_mcp_tool>

此示例搜索名称中包含.py的所有文件。

HTTP服务器(main.py)

在项目的根目录中有一个文件 main.py,实现HTTP服务器搜索文件。此服务器提供REST API来搜索名称中包含指定片段的文件。

启动 HTTP 服务器

  1. 转到项目根目录
  2. 使用Python启动服务器:
    python main.py
    
  3. Сервер будет запущен на http://localhost:8080

使用API

要搜索文件,请发送GET请求 /search 使用查询参数 q:

http://localhost:8080/search?q=.json

此查询将返回JSON数组,其中包含有关名称中包含.JSON的所有文件的信息。每个数组元素包含以下字段:

  • name文件名
  • path:绝对文件路径
  • size:文件大小(以字节为单位)
  • created:创建文件的日期和时间

答案示例:

[
    {
        "name": "package.json",
        "path": "/absolute/path/to/package.json",
        "size": 1234,
        "created": "Wed Feb 26 17:00:00 2025"
    }
]

Whisper STT MCP服务器

它是Model Context Protocol(MCP)服务器,该服务器使用Faster Whisper库提供语音到文本转换功能。它允许将音频数据转录到自动语言定义的文本中。

先决条件

  • Node.js(14或更高版本)
  • NPM(版本6或更高版本)
  • Python 3.6或更高版本
  • Faster-Whisper(使用 pip install faster-whisper)

安装

  1. 克隆或下载此存储库
  2. 转到项目目录
  3. 建立依赖关系:
    npm install
    pip install faster-whisper
    
  4. Соберите проект:
    npm run build
    

Запуск сервера

该项目提供了启动Whisper MCP服务器的几种选项:

选项1:直接启动MCP服务器

您可以使用Node.js直接启动MCP服务器:

npm run start:whisper

或

node build/whisper-index.js

这将启动服务器,并等待JSON-RPC对stdin/stdout的请求。

Вариант2:ЗапукHTTPсервераиMCPпроки

此选项使用Python HTTP服务器和MCP代理将请求重定向到HTTP服务器:

  1. СначалазапутитеHTTP:

    npm run start:whisper:python
    

    或

    python whisper_server.py
    
  2. 然后在另一个终端中运行MCP代理:

    npm run start:whisper:http
    

    或

    node build/whisper-index-http.js
    

选项3:与VS代码集成(Cline扩展)

要将服务器与VS Code和Cline扩展集成:

  1. "айдитефайлнастроекMCP:

    • 窗户: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings\cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. 将以下配置添加到对象中 mcpServers 在配置文件中:

"whisper-stt-mcp": {
  "command": "node",
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index.js"],
  "disabled": false,
  "autoApprove": []
}

要使用HTTP代理:

"whisper-stt-mcp-http": {
  "command": "node",
  "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index-http.js"],
  "disabled": false,
  "autoApprove": []
}

Замените <ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ> 到项目目录的实际路径。

  1. 重新启动VS代码以下载更新的设置。

可用工具

MCP服务器提供一个工具:

  • transcribe_audio:使用Faster Whisper将音频数据转换为文本
    • 选项 :
      • audio_base64 (必填字符串):Base64格式的音频数据
      • language (字符串,可选):语言代码(例如“en”、“ru”)。如果没有指定,语言将自动定义。

使用示例

<use_mcp_tool>
<server_name>whisper-stt-mcp</server_name>
<tool_name>transcribe_audio</tool_name>
<arguments>
{
  "audio_base64": "BASE64_ENCODED_AUDIO_DATA",
  "language": "ru"
}
</arguments>
</use_mcp_tool>

此示例将音频数据转换为文本,假设音频是俄语。

HTTP服务器(whisper_server.py)

在项目的根目录中有一个文件 whisper_server.py,实现HTTP服务器将语音转换为文本。此服务器提供REST API,用于将音频数据转录到文本中。

启动 HTTP 服务器

  1. 转到项目根目录
  2. 使用Python启动服务器:
    python whisper_server.py
    
  3. Сервер будет запущен на http://localhost:8081

使用API

要转录音频,请发送邮件请求 /transcribe JSON是一个包含:

  • audio:包含音频数据的Base64字符串
  • language (可选):语言代码(例如“EN”、“RU”)

查询示例:

{
  "audio": "BASE64_ENCODED_AUDIO_DATA",
  "language": "ru"
}

答复将包括:

  • text:全文转录
  • segments:带有时间戳的段数组
  • language:特定语言
  • language_probability:定义语言的概率

答案示例:

{
  "text": "Это пример транскрибированного текста.",
  "segments": [
    {
      "start": 0.0,
      "end": 2.5,
      "text": "Это пример"
    },
    {
      "start": 2.5,
      "end": 4.0,
      "text": "транскрибированного текста."
    }
  ],
  "language": "ru",
  "language_probability": 0.98
}

Устранение неполадок

  • 如果您收到“找不到服务器连接”错误,请确保在更新MCP设置后重新启动VS代码。
  • 如果服务器没有响应,请检查MCP设置中的路径是否正确,并指向编译的JavaScript文件。
  • 验证服务器是否正确组装 npm run build 在尝试使用它之前。
  • 要使用HTTP代理,请确保已运行相应的HTTP服务器(端口8080 for File Finder或端口8081 for Whisper STT)。
  • 如果Faster Whisper出现问题,请确保库已正确安装,并且您有必要的GPU依赖项(如果您使用GPU)。

Структура проекта

以下是主要项目文件的列表及其目的:

根目录

  • src/index.ts -用于文件搜索的MCP TypeScript源代码(直接实现)
  • src/index-http.ts -文件搜索服务器HTTP代理的TypeScript MCP源代码
  • src/whisper-index.ts -用于语音到文本转换的MCP TypeScript源代码(直接实现)
  • src/whisper-index-http.ts -文本到语音服务器HTTP代理的TypeScript MCP源代码
  • build/index.js -编译的JavaScript代码MCP服务器以查找文件
  • build/index-http.js -编译的JavaScript MCP代理代码用于搜索文件
  • build/whisper-index.js -编译的JavaScript MCP服务器代码,用于将语音转换为文本
  • build/whisper-index-http.js -编译的JavaScript MCP代理代码,用于将语音转换为文本
  • tsconfig.json -КонфигурацияTypeScript
  • package.json -包描述和依赖项
  • main.py Python HTTP服务器搜索文件
  • whisper_server.py Python HTTP服务器将语音转换为文本
  • README.md - 项目文件(此文件)