File Finder MCP Server

# MCP Серверы Этот репозиторий содержит два MCP (Model Context Protocol) сервера: 1. File Finder MCP - для поиска файлов 2. Whisper STT MCP - для преобразования речи в текст ## File Finder MCP Server Это сервер 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 сервера Вы можете запустить MCP сервер напрямую с помощью Node.js: ``` npm start ``` или ``` node build/index.js ``` Это запустит сервер, и он будет ожидать JSON-RPC запросы на stdin/stdout. #### Вариант 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` в файле настроек: ```json "file-finder-mcp": { "command": "node", "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index.js"], "disabled": false, "autoApprove": [] } ``` Для использования HTTP прокси: ```json "file-finder-mcp-http": { "command": "node", "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/index-http.js"], "disabled": false, "autoApprove": [] } ``` Замените `<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>` на фактический путь к директории вашего проекта. 3. Перезапустите 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 Для поиска файлов отправьте GET запрос на `/search` с параметром запроса `q`: ``` http://localhost:8080/search?q=.json ``` Этот запрос вернет JSON-массив с информацией о всех файлах, содержащих ".json" в их именах. Каждый элемент массива содержит следующие поля: - `name`: имя файла - `path`: абсолютный путь к файлу - `size`: размер файла в байтах - `created`: дата и время создания файла Пример ответа: ```json [ { "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`) ### Установка 1. Клонируйте или скачайте этот репозиторий 2. Перейдите в директорию проекта 3. Установите зависимости: ``` npm install pip install faster-whisper ``` 4. Соберите проект: ``` 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 серверу: 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` в файле настроек: ```json "whisper-stt-mcp": { "command": "node", "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index.js"], "disabled": false, "autoApprove": [] } ``` Для использования HTTP прокси: ```json "whisper-stt-mcp-http": { "command": "node", "args": ["<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>/build/whisper-index-http.js"], "disabled": false, "autoApprove": [] } ``` Замените `<ПОЛНЫЙ_ПУТЬ_К_ПРОЕКТУ>` на фактический путь к директории вашего проекта. 3. Перезапустите 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 Для транскрибирования аудио отправьте POST запрос на `/transcribe` с JSON-телом, содержащим: - `audio`: строка в формате base64, содержащая аудиоданные - `language` (необязательно): код языка (например, "en", "ru") Пример запроса: ```json { "audio": "BASE64_ENCODED_AUDIO_DATA", "language": "ru" } ``` Ответ будет содержать: - `text`: полный транскрибированный текст - `segments`: массив сегментов с временными метками - `language`: определенный язык - `language_probability`: вероятность определения языка Пример ответа: ```json { "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` - Конфигурация TypeScript - `package.json` - Описание пакета и зависимости - `main.py` - HTTP сервер на Python для поиска файлов - `whisper_server.py` - HTTP сервер на Python для преобразования речи в текст - `README.md` - Документация проекта (этот файл)