Files and Speech
MCP Серверы
Этот репозиторий содержит два 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
- Документация проекта (этот файл)