Programmatic MCP Prototype MCP сервер
Экспериментальный прототип агента на базе MCP, который обеспечивает прогрессивное обнаружение инструментов, программную композицию инструментов через выполнение TypeScript кода, сохранение состояния и создание переиспользуемых навыков в изолированных Docker контейнерах.
автор: domdomegg
curl -fsSL https://vibebaza.com/i/programmatic-mcp-prototype | bash
Экспериментальный прототип агента на базе MCP, который обеспечивает прогрессивное обнаружение инструментов, программную композицию инструментов через выполнение TypeScript кода, сохранение состояния и создание переиспользуемых навыков в изолированных Docker контейнерах.
Установка
Из исходного кода
npm install
Docker
docker build -t mcp-runner:latest src/servers/container-runner
Доступные инструменты
| Инструмент | Описание |
|---|---|
search_tools |
Динамический поиск и обнаружение доступных инструментов вместо загрузки всех инструментов сразу |
execute_tool |
Выполнение найденных инструментов по мере необходимости для уменьшения использования контекста и улучшения качества ответов |
Возможности
- Прогрессивное обнаружение инструментов - поиск инструментов динамически вместо загрузки сотен сразу
- Программная композиция инструментов - написание TypeScript кода, который связывает MCP инструменты вместе
- Сохранение состояния - хранение промежуточных результатов в рабочей директории для повторного использования
- Создание навыков - создание переиспользуемых мета-инструментов, которые объединяют несколько операций
- Изолированное выполнение кода в Docker контейнерах
- Генерация TypeScript привязок из MCP схем инструментов
- MCP прокси сервер, который объединяет несколько MCP серверов в единый интерфейс
Переменные окружения
Обязательные
ANTHROPIC_API_KEY- API ключ для интеграции с Anthropic Claude
Ресурсы
Примечания
Требует Docker для выполнения кода и конфигурации MCP серверов в config/servers.ts. Агент использует простую архитектуру с циклом while, которая может быть заменена другими реализациями. Поддерживает сложную логику с циклами, условными операторами, обработкой ошибок и позволяет создавать библиотеку переиспользуемых навыков со временем.