MCP
Enables searching for files by name fragments via JSON-RPC or an HTTP REST API, with options for direct use or integration with other tools like VS Code.
Enables searching for files by name fragments via JSON-RPC or an HTTP REST API, with options for direct use or integration with other tools like VS Code.
Этот репозиторий содержит два MCP (Model Context Protocol) сервера: 1. File Finder MCP - для поиска файлов 2. Whisper STT MCP - для преобразования речи в текст
Это сервер Model Context Protocol (MCP), который предоставляет функциональность поиска файлов. Он позволяет искать файлы, содержащие указанный текстовый фрагмент в их именах.
npm install
npm run build
Проект предоставляет несколько вариантов запуска MCP сервера:
Вы можете запустить MCP сервер напрямую с помощью Node.js:
npm start
или
node build/index.js
Это запустит сервер, и он будет ожидать JSON-RPC запросы на stdin/stdout.
Этот вариант использует Python HTTP сервер и MCP прокси, который перенаправляет запросы к HTTP серверу:
Сначала запустите HTTP сервер:
npm run start:python
или
python main.py
Затем в другом терминале запустите MCP прокси:
npm run start:http
или
node build/index-http.js
Для интеграции сервера с VS Code и расширением Cline:
%APPDATA%CodeUserglobalStoragesaoudrizwan.claude-devsettingscline_mcp_settings.json
~/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
Добавьте следующую конфигурацию в объект 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": []
}
Замените <ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>
на фактический путь к директории вашего проекта.
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" в их именах.
В корневой директории проекта находится файл main.py
, который реализует HTTP сервер для поиска файлов. Этот сервер предоставляет REST API для поиска файлов, содержащих указанный фрагмент в их именах.
python main.py
Для поиска файлов отправьте 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"
}
]
Это сервер Model Context Protocol (MCP), который предоставляет функциональность преобразования речи в текст с использованием библиотеки faster-whisper. Он позволяет транскрибировать аудиоданные в текст с автоматическим определением языка.
pip install faster-whisper
)npm install
pip install faster-whisper
npm run build
Проект предоставляет несколько вариантов запуска Whisper MCP сервера:
Вы можете запустить MCP сервер напрямую с помощью Node.js:
npm run start:whisper
или
node build/whisper-index.js
Это запустит сервер, и он будет ожидать JSON-RPC запросы на stdin/stdout.
Этот вариант использует 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
Для интеграции сервера с VS Code и расширением Cline:
%APPDATA%CodeUserglobalStoragesaoudrizwan.claude-devsettingscline_mcp_settings.json
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settingscline_mcp_settings.json
Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Добавьте следующую конфигурацию в объект 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": []
}
Замените <ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>
на фактический путь к директории вашего проекта.
MCP сервер предоставляет один инструмент:
transcribe_audio
: Преобразует аудиоданные в текст с использованием faster-whisperaudio_base64
(строка, обязательный): Аудиоданные в формате base64language
(строка, необязательный): Код языка (например, "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>
Этот пример преобразует аудиоданные в текст, предполагая, что аудио на русском языке.
В корневой директории проекта находится файл whisper_server.py
, который реализует HTTP сервер для преобразования речи в текст. Этот сервер предоставляет REST API для транскрибирования аудиоданных в текст.
python whisper_server.py
Для транскрибирования аудио отправьте POST запрос на /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
}
npm run build
перед попыткой его использования.Ниже приведен список основных файлов проекта и их назначение:
src/index.ts
- Исходный код TypeScript MCP сервера для поиска файлов (прямая реализация)src/index-http.ts
- Исходный код TypeScript MCP прокси для HTTP сервера поиска файловsrc/whisper-index.ts
- Исходный код TypeScript MCP сервера для преобразования речи в текст (прямая реализация)src/whisper-index-http.ts
- Исходный код TypeScript MCP прокси для HTTP сервера преобразования речи в текст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
- Конфигурация TypeScriptpackage.json
- Описание пакета и зависимостиmain.py
- HTTP сервер на Python для поиска файловwhisper_server.py
- HTTP сервер на Python для преобразования речи в текстREADME.md
- Документация проекта (этот файл)[
{
"description": "Search for files containing a specified fragment in their names",
"inputSchema": {
"properties": {
"fragment": {
"description": "Text fragment to search for in file names",
"type": "string"
}
},
"required": [
"fragment"
],
"type": "object"
},
"name": "search_files"
}
]