Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
local-mcp — A lightweight stdio-based MCP server for local file system operations — read, write, edit, search, exec for AI assistants. Specially optimized for Chatbox: bat-bypass for exec (CVE-2026-6130), b64 encoding to eliminate escaping issues, and multi-pattern regex for precise code block targeting. | Kitploit
Инструменты/GitHubGitHub/fan-67/local-mcp
General Purpose UtilitiesVulnerability AnalysisExploitationScripting & AutomationUtilities & Frameworks
GitHubfan-67/local-mcp

local-mcp

Репозиторий
2 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

A lightweight stdio-based MCP server for local file system operations — read, write, edit, search, exec for AI assistants. Specially optimized for Chatbox: bat-bypass for exec (CVE-2026-6130), b64 encoding to eliminate escaping issues, and multi-pattern regex for precise code block targeting.

Поделиться

local-mcp

Version License Node Tests Dependencies

Сервер MCP с нулевыми зависимостями для локальных операций с файлами. 13 инструментов файловой системы + 3 мета-инструмента для прогрессивного обнаружения — не требуется SDK, фреймворков или npm install.

Протокол MCP: 2024-11-05 · Транспорт: stdio + Streamable HTTP · Среда выполнения: Node.js ≥ 22.0.0


Архитектура

root@kitploit:~
local-mcp.mjs       — 595 lines, 13 tools, entry point
lib/mcp-core.mjs    — 229 lines, stdio + HTTP transport, 9 MCP methods
lib/config.mjs      —  31 lines, MCP_WORKSPACE/DATA env config with validation

Всего: ~855 строк, нулевые зависимости времени выполнения.


Инструменты

Инструменты файловой системы (13)

Мета-инструменты (3) — Прогрессивное обнаружение

ИнструментОписание
search_toolsПоиск доступных инструментов по ключевому слову — экономит ~90% токенов по сравнению со списком всех
describe_toolПолучение полной схемы ввода для конкретного инструмента (загружается по запросу)
call_toolВыполнение любого инструмента по имени с аргументами

Вместо отправки всех 13 схем инструментов (~3000 токенов) в каждом запросе, прогрессивное обнаружение с помощью этих 3 мета-инструментов сокращает это до ~50 токенов — ~90% экономии токенов.


Оптимизации производительности (v1.1.1)

Дополнительные оптимизации


Начало работы

root@kitploit:~
# Zero install — no dependencies
node local-mcp.mjs

# With configuration
MCP_WORKSPACE=D:/projects node local-mcp.mjs

Режим stdio (по умолчанию)

root@kitploit:~
{
  "mcpServers": {
    "local-mcp": {
      "command": "node",
      "args": ["D:/path/to/local-mcp.mjs"],
      "env": {
        "MCP_WORKSPACE": "D:/projects"
      }
    }
  }
}

Режим HTTP

root@kitploit:~
node local-mcp.mjs --http
node local-mcp.mjs --http --port 3456

Поддерживает JSON-RPC 2.0 POST, потоковую передачу SSE (Accept: text/event-stream), CORS и GET /tools.

Флаги CLI

root@kitploit:~
node local-mcp.mjs --help          # Show usage + env vars
node local-mcp.mjs --list-tools    # Print available tools and exit
node local-mcp.mjs --http          # Start HTTP mode
node local-mcp.mjs --http --port 3456

Конфигурация


Безопасность

  • Все операции с файлами ограничены MCP_WORKSPACE и подкаталогами
  • Ключи закладок, безопасные для прототипов (блокирует внедрение __proto__/constructor/prototype)
  • Атомарная запись (temp + rename) предотвращает частичную запись файлов
  • Обнаружение двоичных файлов предотвращает чтение нетекстовых файлов
  • Учитываются .gitignore и стандартные исключаемые каталоги (node_modules, .git и т.д.)

Зависимости

Нулевые зависимости времени выполнения. Используются только встроенные модули Node.js:


Журнал изменений

v1.1.1 — Оптимизации производительности

  • A. Потоковое чтение head/tail: 500МБ логи 3с → 5мс
  • B. Ленивый stat в ls: каталог с 1000 файлов 50мс → 2мс
  • C. Адаптивная параллельность grep с availableParallelism()
  • D. Вытеснение LRU-кэша через порядок вставки Map
  • E. Защита объема байт в grep (100МБ / 1000 файлов)
  • F. Пропуск уведомления о прогрессе для спецификации MCP 2025
  • Исправление: ошибка области видимости streamHead — done определен вне колбэка Promise

v1.1.0

  • 13 инструментов файловой системы + 3 мета-инструмента для прогрессивного обнаружения
  • Транспорт stdio + Streamable HTTP
  • Движок Myers diff, кэш чтения, потоковое выполнение
  • Конфигурация на основе переменных среды с проверкой

Разработка

root@kitploit:~
# Run tests
node --test test/*.test.mjs

# Adding a tool
# 1. Define schema + handler in local-mcp.mjs
# 2. Register with server.tool()
# 3. Add tests

Участие в разработке

  1. Сохраняйте ограничение на нулевые зависимости
  2. Добавляйте тесты для новых функций
  3. Обновляйте таблицу оптимизаций при изменениях производительности

Лицензия

MIT

Скачать инструмент
ИнструментОписаниеАннотация
readЧтение файла с номерами строк, опциональное усечение head/tailreadOnlyHint
searchПоиск файлов по имени (glob) затем по содержимому (grep)readOnlyHint
lsКомпактный список каталогов с ленивым statreadOnlyHint
execПотоковое выполнение команд с поддержкой stdin и таймаутомdestructiveHint
diffСравнение двух файлов или текстовых строк (Myers O(ND))readOnlyHint
copyКопирование файла или каталогаdestructiveHint
moveПеремещение или переименование файла/каталогаdestructiveHint
batchВыполнение нескольких операций последовательно; атомарный откат, ссылки $prevdestructiveHint
fileУнифицированная: чтение, запись, редактирование, добавление, удаление, информация, mkdir, перемещение—
blockЧтение/замена/вставка/удаление блоков кода по диапазону или имени функции—
bookmarkПостоянные псевдонимы путей (добавить/получить/список/удалить)—
grepКомпактный формат file:line:content с адаптивной параллельностьюreadOnlyHint
watchОтслеживание файла/каталога на изменения; макс. 20 одновременных наблюдателей—
#ОптимизацияВлияние
AПотоковое чтение head/tailstreamHead() избегает чтения всего файла. 500МБ логи: 3с → 5мс, память: 500МБ → несколько КБ
BЛенивый stat в lsВызывает statSync только при sort=size. Каталог с 1000 файлов: 50мс → 2мс
CАдаптивная параллельность grepos.availableParallelism() (макс. 16, мин. 4) вместо жестко заданных 16 рабочих
DВытеснение LRU-кэшаLRU на основе порядка вставки Map — горячие маленькие файлы больше не вытесняются холодными большими файлами
EЗащита объема байт в grepЗащита MAX_GREP_TOTAL_MB=100 + MAX_GREP_FILES=1000 предотвращает OOM
FУведомление о прогрессеПропуск _meta.progressToken для спецификации MCP 2025 (TODO: события для длительного выполнения)
ОбластьПодробности
Кэш чтенияВытеснение с учетом размера (макс. 50 элементов, 10 МБ) + TTL 5 с
Myers diffАлгоритм O(ND), используется edit, block и diff
Оценка поискаСначала совпадение имени (без I/O), затем stat только для топ-50 кандидатов
Формат выводаgrep: file:line:content, ls: компактные столбцы, read: номера строк + подсказка об усечении
ПротоколДиспетчеризация Map O(1), короткое замыкание синхронного обработчика
ПеременнаяПо умолчаниюОписание
MCP_WORKSPACEprocess.cwd()Корень рабочего каталога (граница безопасности)
MCP_DATA{WORKSPACE}/.mcp-dataКаталог данных (закладки, временные файлы)
MCP_DIR{WORKSPACE}Каталог по умолчанию для команд tree/ls
MCP_PORT3100Порт HTTP-сервера (при использовании --http)
MCP_READONLYfalseУстановите true, чтобы заблокировать все операции записи
MCP_EXCLUDE—Дополнительные каталоги (через запятую) для исключения из поиска
МодульНазначение
fsФайловая система + glob (Node 22)
child_processПотоковое выполнение команд оболочки
httpHTTP-транспорт (Express не требуется)
pathРазрешение путей
osavailableParallelism() для адаптивной параллельности
readlineПотоковая обработка построчно