MCP文件搜索
通过 JSON-RPC 或 HTTP REST API 启用按文件名片段搜索文件的功能,并提供直接使用或与 VS Code 等其他工具集成的选项。
可用工具 (1 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
search_files 1 个参数 需填 1 项
Search for files containing a specified fragment in their names
必填参数:fragment
服务介绍
MCP 服务器
这个仓库包含了两个MCP(Model Context Protocol)服务器:
- 文件查找MCP - 用于文件搜索
- Whisper STT MCP - 用于语音转文字
文件查找MCP服务器
这是一个Model Context Protocol (MCP) 服务器,它提供了文件搜索的功能。它允许用户搜索包含特定文本片段的文件名。
先决条件
- Node.js (版本14或更高)
- npm (版本6或更高)
- Python 3.6或更高(用于HTTP服务器)
安装
- 克隆或下载此仓库
- 进入项目目录
- 安装依赖项:
npm install - 构建项目:
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服务器:
-
首先启动HTTP服务器:
npm run start:python或者
python main.py -
然后在另一个终端中启动MCP代理:
npm run start:http或者
node build/index-http.js
方式3:与VS Code集成(Cline扩展)
要将服务器与VS Code及Cline扩展集成:
-
找到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
- Windows:
-
在设置文件中的
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": []
}
请将<项目完整路径>替换为您的项目目录的实际路径。
- 重启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服务器
- 进入项目的根目录
- 使用Python启动服务器:
python main.py - 服务器将在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安装)
安装
- 克隆或下载此仓库
- 进入项目目录
- 安装依赖项:
npm install pip install faster-whisper - 构建项目:
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 服务器:
-
首先启动 HTTP 服务器:
npm run start:whisper:python或者
python whisper_server.py -
然后在另一个终端中启动 MCP 代理:
npm run start:whisper:http或者
node build/whisper-index-http.js
方法 3:与 VS Code (Cline 扩展) 集成
要将服务器与 VS Code 和 Cline 扩展集成:
-
查找 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
- Windows:
-
在设置文件的
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> 替换为您项目的实际目录路径。
- 重启 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服务器
- 进入项目根目录
- 使用Python启动服务器:
python whisper_server.py - 服务器将在 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- 项目文档(即此文件)