MCP сервер для поиска файлов

March 11, 2025 · View on GitHub

Этот MCP (Model Context Protocol) сервер позволяет находить файлы в файловой системе по фрагменту пути. Сервер возвращает информацию о найденных файлах в формате JSON, включая имя файла, полный путь, размер и дату создания.

Требования

  • Python 3.7 или выше
  • VSCode с установленным расширением Cline

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/file-finder-mcp.git
    cd file-finder-mcp
    
  2. Установите зависимости:

    pip install -r requirements.txt
    
  3. Сделайте скрипт исполняемым:

    chmod +x mcp_server.py
    

Подключение к Cline в VSCode

Для подключения MCP сервера к Cline в VSCode, необходимо добавить конфигурацию в файл настроек Cline. Это можно сделать двумя способами:

Способ 1: Ручное редактирование файла конфигурации

  1. Откройте файл конфигурации Cline:

    • В Linux: ~/.config/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
    • В Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  2. Добавьте следующую конфигурацию в раздел mcpServers:

    {
      "mcpServers": {
        "file-finder-mcp": {
          "command": "python3",
          "args": [
            "/полный/путь/к/mcp_server.py"
          ],
          "autoApprove": [],
          "disabled": false
        }
      }
    }
    

    Замените /полный/путь/к/mcp_server.py на абсолютный путь к файлу mcp_server.py на вашей системе.

Способ 2: Использование предоставленного файла конфигурации

  1. Скопируйте файл config.json из репозитория в файл конфигурации Cline:

    # Для Linux
    cp config.json ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    
    # Для macOS
    cp config.json ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    
    # Для Windows (в PowerShell)
    Copy-Item -Path config.json -Destination "$env:APPDATA\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json"
    
  2. Отредактируйте путь к файлу mcp_server.py в скопированном файле конфигурации, указав абсолютный путь к файлу.

Проверка установки

После установки и настройки, перезапустите VSCode и откройте Cline. MCP сервер должен автоматически запуститься при открытии Cline.

Использование

Для использования MCP сервера в Cline, вы можете отправить запрос следующего вида:

Найди все файлы, содержащие в пути "Documents"

или

Используй MCP сервер file-finder-mcp для поиска файлов с фрагментом пути ".py"

Пример промпта для тестирования

Используя MCP сервер file-finder-mcp, найди все файлы в моей системе, содержащие в пути ".json". Покажи мне результаты в виде таблицы с именем файла, путем, размером (в килобайтах) и датой создания.

Структура проекта

  • mcp_server.py - основной файл MCP сервера
  • requirements.txt - файл с зависимостями
  • config.json - пример конфигурации для Cline
  • README.md - документация

Логирование

MCP сервер ведет лог своей работы в файле mcp_server.log в директории, из которой он был запущен. Лог содержит информацию о запросах, ошибках и других событиях.

Разработка

Архитектура

MCP сервер реализован как Python-скрипт, который обрабатывает запросы по протоколу MCP через стандартные потоки ввода-вывода (stdin/stdout). Сервер предоставляет инструмент find_files, который позволяет искать файлы в файловой системе по фрагменту пути.

Добавление новых возможностей

Для добавления новых возможностей, вы можете расширить класс McpServer в файле mcp_server.py. Добавьте новые инструменты в метод __init__ в разделе capabilities, реализуйте соответствующие методы и обновите обработчик запросов в методе handle_request.