Files and Speech
Этот репозиторий содержит два MCP (Model Context Protocol) сервера:
- File Finder MCP - для поиска файлов
- Whisper STT MCP - для преобразования речи в текст
File Finder MCP Server
Это сервер Model Context Protocol (MCP), который предоставляет функциональность поиска файлов. Он позволяет искать файлы, содержащие указанный текстовый фрагмент в их именах.
Предварительные требования
- Node.js (версия 14 или выше)
- npm (версия 6 или выше)
- Python 3.6 или выше (для HTTP сервера)
Установка
- Клонируйте или скачайте этот репозиторий
- Перейдите в директорию проекта
- Установите зависимости:
npm install - Соберите проект:
npm run build
Запуск сервера
Проект предоставляет несколько вариантов запуска MCP сервера:
Вариант 1: Прямой запуск MCP сервера
Вы можете запустить MCP сервер напрямую с помощью Node.js:
npm start
или
node build/index.js
Это запустит сервер, и он будет ожидать JSON-RPC запросы на stdin/stdout.
Вариант 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
Для поиска файлов отправьте 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 Server
Это сервер 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 сервера
Вы можете запустить MCP сервер напрямую с помощью Node.js:
npm run start:whisper
или
node build/whisper-index.js
Это запустит сервер, и он будет ожидать JSON-RPC запросы на stdin/stdout.
Вариант 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": []
}
Замените <ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ> на фактический путь к директории вашего проекта.
- Перезапустите VS Code для загрузки обновленных настроек.
Доступные инструменты
MCP сервер предоставляет один инструмент:
transcribe_audio: Преобразует аудиоданные в текст с использованием faster-whisper- Параметры:
audio_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>
Этот пример преобразует аудиоданные в текст, предполагая, что аудио на русском языке.
HTTP сервер (whisper_server.py)
В корневой директории проекта находится файл whisper_server.py, который реализует HTTP сервер для преобразования речи в текст. Этот сервер предоставляет REST API для транскрибирования аудиоданных в текст.
Запуск HTTP сервера
- Перейдите в корневую директорию проекта
- Запустите сервер с помощью Python:
python whisper_server.py - Сервер будет запущен на http://localhost:8081
Использование API
Для транскрибирования аудио отправьте 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
}
Устранение неполадок
- Если вы получаете ошибку "No connection found for server", убедитесь, что вы перезапустили VS Code после обновления настроек MCP.
- Если сервер не отвечает, проверьте, что путь в настройках MCP правильный и указывает на собранный JavaScript файл.
- Убедитесь, что сервер правильно собран, выполнив
npm run buildперед попыткой его использования. - Для использования HTTP прокси убедитесь, что соответствующий HTTP сервер запущен (на порту 8080 для file-finder или 8081 для whisper-stt).
- Если возникают проблемы с faster-whisper, убедитесь, что библиотека правильно установлена и у вас есть необходимые зависимости для работы с GPU (если вы используете GPU).
Структура проекта
Ниже приведен список основных файлов проекта и их назначение:
Корневая директория
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- Документация проекта (этот файл)