MCX (Modular Code Execution)
MCX — Модульное выполнение кода (Modular Code Execution)
███╗ ███╗ ██████╗██╗ ██╗
████╗ ████║██╔════╝╚██╗██╔╝
██╔████╔██║██║ ╚███╔╝
██║╚██╔╝██║██║ ██╔██╗
██║ ╚═╝ ██║╚██████╗██╔╝ ██╗
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝MCP-сервер, позволяющий ИИ-агентам выполнять код вместо прямого вызова инструментов.
Основано на статье Anthropic о выполнении кода.
Проблема
Традиционный MCP имеет две неэффективности:
Перегрузка определений инструментов — загрузка всех определений инструментов переполняет контекст.
Раздувание промежуточных результатов — каждый ответ API проходит через модель.
Решение
Вместо прямого вызова инструментов агент пишет код, который выполняется в «песочнице»:
const invoices = await api.getInvoices({ limit: 100 });
return {
count: invoices.length,
total: sum(invoices, 'amount'),
byStatus: count(invoices, 'status')
};
// Returns ~50 tokens instead of 50,000Результат: сокращение токенов на 98% за счет фильтрации данных внутри среды выполнения.
Установка
# Install globally with bun
bun add -g @papicandela/mcx-cli
# Initialize global directory (~/.mcx/)
mcx initТребуется Bun: MCX использует Bun в качестве среды выполнения. Установите Bun, если вы еще этого не сделали.
Быстрый старт
# 1. Initialize global MCX directory
mcx init
# 2. Generate adapters from API docs
mcx gen ./api-docs.md -n myapi
# 3. Add credentials to ~/.mcx/.env
# 4. Start server
mcx serveСтруктура каталогов
~/.mcx/
├── adapters/ # Your adapters
│ ├── supabase.ts # Supabase Management API
│ ├── chrome-devtools.ts # Chrome DevTools Protocol
│ └── myapi.ts # Generated from OpenAPI
├── skills/ # Reusable skills
├── mcx.config.ts # Auto-loads all adapters
├── .env # API credentials
└── package.json # Dependencies
# Runtime (created automatically)
~/.mcx/
├── logs/ # Server logs (mcx logs to view)
└── .cache/ # FTS5 search indexИнтеграция с Claude Code
Добавьте в настройки Claude Code (~/.claude.json или .mcp.json проекта):
{
"mcpServers": {
"mcx": {
"command": "mcx",
"args": ["serve"]
}
}
}Вот и всё! MCX автоматически использует ~/.mcx/ для конфигурации и адаптеров.
Хуки Claude Code (опционально)
Перенаправьте нативные инструменты на альтернативы MCX для повышения производительности:
~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [
{ "matcher": "Grep", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-redirect.js" }] },
{ "matcher": "Glob", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-redirect.js" }] },
{ "matcher": "Edit", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-redirect.js" }] },
{ "matcher": "Write", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-redirect.js" }] },
{ "matcher": "Read", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-read-check.js" }] },
{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "bun ~/.claude/hooks/mcx-bash-check.js" }] }
]
}
}Нативный инструмент | Альтернатива MCX | Преимущество |
|
| Ранжирование по частоте/недавности, статус git, учет близости |
|
| SIMD-ускорение, нечеткий поиск |
|
| Нет требования «сначала прочитать», нормализация CRLF |
|
| Нет требования «сначала прочитать» |
|
| Файл остается в песочнице, экономия 99% токенов |
|
| Перенаправление команд оболочки в MCX |
См. Интеграция хуков для получения скриптов хуков.
Ключевые особенности
Функция | Описание |
Ленивая загрузка | Адаптеры из |
Подсказки доменов | Адаптеры сгруппированы по доменам (платежи, базы данных, email и т.д.) для удобства поиска |
Тихая автокоррекция |
|
Эффективность контекста | Фильтрация происходит в песочнице, модель видит только результаты |
Сохранение переменных | Сохранение результатов как |
Автосжатие | Устаревшие переменные (>5 мин, >1 КБ) автоматически сжимаются для экономии контекста |
Поиск FTS5 | Автоиндексация больших выводов, поиск с параметром |
Интеграция FFF | Fast File Finder — SIMD-ускоренный нечеткий поиск, grep по содержимому |
Фоновые задачи |
|
Пакетные операции |
|
Обработка файлов |
|
Работа с большими файлами | Файлы >50 КБ остаются в песочнице через |
Редактирование файлов |
|
Хелперы запросов к файлам |
|
Получение URL |
|
Управление потоком | Циклы, условия, повторные попытки выполняются как нативный код |
Конфиденциальность | Промежуточные данные остаются в песочнице |
Безопасность | Изоляция сети, защита от обхода путей, предотвращение инъекций переменных |
Инструменты MCP
Инструмент | Описание |
| Выполнение кода с доступом к адаптерам, автосохранение как |
| 3 режима: исследование спецификаций, поиск FTS5, поиск адаптеров/методов |
| Несколько выполнений/поисков в одном вызове (обходит троттлинг) |
| Обработка локальных файлов с инъекцией |
| Редактирование файлов (строковый или построчный режим) — обходит требование чтения нативного Edit |
| Создание/перезапись файлов — обходит требование чтения нативного Write |
| Получение URL с преобразованием HTML в markdown и автоиндексацией (кэш 24ч) |
| Быстрый нечеткий поиск файлов с ранжированием по частоте и близости |
| SIMD-ускоренный поиск содержимого по файлам |
| Поиск связанных файлов через анализ импортов/экспортов |
| Навигация по большим JSON-результатам без загрузки полного содержимого |
| Запуск кода в фоне, немедленный возврат ID задачи |
| Список/проверка фоновых задач и их результатов |
| Список доступных адаптеров и навыков |
| Статистика сессии (индексированный контент, переменные, сеть) |
| Запуск диагностики (Bun, SQLite, адаптеры, песочница, FFF) |
| Получение команды для самообновления до последней версии |
| Запуск зарегистрированного навыка |
Команды CLI
Команда | Описание |
| Запуск MCP-сервера (по умолчанию) |
| Генерация адаптеров из спецификаций OpenAPI (с TUI) |
| Инициализация глобального каталога |
| Обновление CLI и глобальной установки |
| Список доступных адаптеров и навыков |
| Прямой запуск навыка |
| Просмотр логов сервера |
Подробности см. в документации CLI.
Включенные адаптеры
Адаптер | Методы | Описание |
| 24 | Supabase Management API (проекты, таблицы, функции, секреты) |
| 25 | Протокол Chrome DevTools (скриншоты, навигация, DOM) |
Генерируйте собственные адаптеры из документации OpenAPI:
mcx gen ./api-docs.md -n myapiВстроенные хелперы
Функции, доступные в песочнице:
pick(data, ['id', 'name']) // Extract fields
first(data, 5) // First N items
sum(data, 'amount') // Sum numeric field
count(data, 'status') // Count by field
table(data, 10) // Markdown table
// Async helpers
await poll(fn, { interval: 2000, maxIterations: 5 }) // Poll until done
await waitFor(fn, { timeout: 30000 }) // Wait for conditionХелперы запросов к файлам
При использовании mcx_file({ path, storeAs }) для загрузки файлов в песочницу:
// Load file without returning content to context (99% token savings)
mcx_file({ path: "src/large-file.ts", storeAs: "src" })
// Then query with helpers:
around($src, 150, 10) // 10 lines around line 150
lines($src, 100, 120) // Get lines 100-120 (1-indexed, inclusive)
block($src, 150) // Extract code block by indentation
grep($src, "TODO", 3) // Search with 3 lines context
outline($src) // Extract function/class signaturesДокументация
Команды CLI — подробный справочник команд
Адаптеры — создание и генерация адаптеров
Навыки — повторно используемые операции
Конфигурация — справочник конфигурационного файла
Программный API — использование MCX в коде
Безопасность — уровни безопасности песочницы
Разработка
git clone https://github.com/schizoidcock/mcx
cd mcx
bun install
bun run buildЛицензия
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/schizoidcock/mcx'
If you have feedback or need assistance with the MCP directory API, please join our Discord server