M

MCP文件搜索

@sergey-fintech/MCP
0 Stars 561 次浏览 sergey-fintech 更新于 2026-08-23

通过 JSON-RPC 或 HTTP REST API 启用按文件名片段搜索文件的功能,并提供直接使用或与 VS Code 等其他工具集成的选项。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (1 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

search_files 1 个参数 需填 1 项

Search for files containing a specified fragment in their names

必填参数:fragment

服务介绍

MCP 服务器

这个仓库包含了两个MCP(Model Context Protocol)服务器:

  1. 文件查找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

这将启动服务器,并等待通过stdin/stdout接收JSON-RPC请求。

方式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 Code集成(Cline扩展)

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

  1. 找到MCP设置文件:

    • Windows: %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 Code以加载更新后的设置。

可用工具

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

为了搜索文件,请发送带有查询参数 q 的 GET 请求到 /search

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

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

方法 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 Code (Cline 扩展) 集成

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

  1. 查找 MCP 设置文件:

    • Windows: %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": []
}

<PROJECT_FULL_PATH> 替换为您项目的实际目录路径。

  1. 重启 VS Code 以加载更新后的设置。

可用工具

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 发送一个POST请求,包含以下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 Code。
  • 如果服务器没有响应,请检查MCP设置中的路径是否正确并指向已编译的JavaScript文件。
  • 通过执行 npm run build 来确保服务器正确构建,然后再尝试使用它。
  • 若要使用HTTP代理,请确保相应的HTTP服务器已经启动(file-finder为端口8080或whisper-stt为端口8081)。
  • 如果遇到faster-whisper相关问题,请确保库已正确安装,并且如果您使用GPU,则具备必要的依赖项以支持GPU操作。

项目结构

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

根目录

  • src/index.ts - 查找文件的MCP服务器的TypeScript源代码(直接实现)
  • src/index-http.ts - 查找文件的HTTP服务器的MCP代理的TypeScript源代码
  • src/whisper-index.ts - 将语音转换为文本的MCP服务器的TypeScript源代码(直接实现)
  • src/whisper-index-http.ts - 将语音转换为文本的HTTP服务器的MCP代理的TypeScript源代码
  • build/index.js - 查找文件的MCP服务器编译后的JavaScript代码
  • build/index-http.js - 查找文件的MCP代理编译后的JavaScript代码
  • build/whisper-index.js - 将语音转换为文本的MCP服务器编译后的JavaScript代码
  • build/whisper-index-http.js - 将语音转换为文本的MCP代理编译后的JavaScript代码
  • tsconfig.json - TypeScript配置
  • package.json - 包描述及依赖
  • main.py - 用于查找文件的Python HTTP服务器
  • whisper_server.py - 用于将语音转换为文本的Python HTTP服务器
  • README.md - 项目文档(即此文件)

相关 MCP 服务