Skip to main content
Glama

My Cool Proxy

NPM Version

My Cool Proxy — это серверный шлюз для Model Context Protocol (MCP), который пытается решить множество кажущихся проблем MCP в его нынешнем виде. В произвольном порядке это:

  • Описания инструментов раздувают контекстное окно: Это проблема того, как большинство агентов интегрируются с MCP. Вместо реализации абстракций, позволяющих загружать инструменты по мере необходимости, большинство приложений разом помещают все MCP-инструменты в контекст. Чтобы смягчить это, My Cool Proxy оборачивает инструменты в интерпретатор Lua и предоставляет инструменты более высокого уровня для постепенного обнаружения инструментов. См. раздел Прогрессивное раскрытие для получения дополнительной информации.

  • Результаты работы инструментов раздувают контекстное окно, почему бы не использовать Bash? Вместо использования MCP-инструментов агенты могли бы просто выполнять команды терминала и использовать bash для фильтрации результатов — однако это означает, что агенту чаще разрешаются действия с высоким риском. Например, вы можете разрешить агенту использовать CLI gh для взаимодействия с GitHub, но тогда он также сможет выполнять с помощью CLI gh изменяющие или разрушительные операции. С GitHub MCP Server вместо этого можно без труда ограничить доступ только инструментами чтения. MCP позволяет точно контролировать, к каким инструментам имеют доступ агенты. Чтобы помочь с этим, My Cool Proxy позволяет дополнительно фильтровать инструменты, доступные агентам.

  • Большинство возможностей MCP не поддерживаются: К сожалению, большинство приложений предоставляют агентам только MCP-инструменты, игнорируя другие возможности клиента и сервера, предлагаемые протоколом. My Cool Proxy стремится быть общим уровнем абстракции для как можно большего числа возможностей протокола, что позволяет разработчикам использовать полные возможности MCP в любом MCP-совместимом приложении. Это работа в процессе — см. таблицу поддержки функций для подробностей.

  • Управление файлом конфигурации для нескольких агентов — это боль: Если вы используете более одного MCP-совместимого приложения, вы быстро столкнетесь с проблемами синхронизации конфигурации MCP-сервера между ними. My Cool Proxy решает эту проблему, выступая в качестве единой точки интеграции для каждого используемого вами сервера, сокращая количество серверов, которые нужно синхронизировать, до одного.

Быстрый старт

0. Установка

Установите его глобально, чтобы использовать как CLI-инструмент:

npm install -g @karashiiro/my-cool-proxy

Или запустите его напрямую через npx:

npx @karashiiro/my-cool-proxy

1. Настройка

Шлюз автоматически создает конфигурацию по умолчанию при первом запуске. Просто запустите его один раз, чтобы сгенерировать файл конфигурации:

my-cool-proxy  # Creates config and starts (with no servers)

# Find your config location
my-cool-proxy --config-path

Затем отредактируйте конфигурацию, чтобы добавить свои MCP-серверы.

Пример структуры конфигурации:

{
  "port": 3000,
  "host": "localhost",
  "mcpClients": {
    "my-server": {
      "type": "http",
      "url": "https://example.com/mcp"
    }
  }
}

Или скопируйте пример конфигурации для более полной отправной точки.

2. Запуск

# If installed globally
my-cool-proxy

# If running via npx
npx @karashiiro/my-cool-proxy

3. Подключение

Добавьте его в конфигурацию MCP-клиента, например, в Claude Desktop:

{
  "mcpServers": {
    "my-cool-proxy": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

4. Используйте

Попросите вашего агента выполнить задачу, с которой могут помочь ваши настроенные MCP-серверы, и наблюдайте за её выполнением!

Прогрессивное раскрытие

Этот прокси действует как шлюз между агентами и несколькими MCP-серверами (Model Context Protocol). Вместо подключения к каждому MCP-серверу по отдельности агенты подключаются к этому единому прокси и получают доступ ко всем настроенным серверам через унифицированный интерфейс.

Агенты начинают с минимальными знаниями о том, какие серверы или инструменты доступны. Они постепенно наращивают контекст:

  1. Проверьте инструкции сервера — My Cool Proxy предварительно загружает небольшой промпт с краткими выдержками о настроенных серверах и инструментах, чтобы подготовить агента к их использованию.

  2. Вызовите list-servers — теперь в контексте агента есть имена и описания всех доступных MCP-серверов (например, "github", "slack", "database")

  3. Вызовите list-server-tools(server_name) — контекст агента расширяется, включая все имена и описания инструментов для этого конкретного сервера

  4. Вызовите tool-details(server_name, tool_name) — теперь в контексте агента есть полные схемы параметров, возвращаемые типы (если доступны) и примеры использования для конкретного инструмента

  5. Вызовите execute(lua_script) — имея полный контекст, агент может писать Lua-скрипты, которые вызывают обнаруженные инструменты

Вместо загрузки всех инструментов и их описаний в контекст заранее, это откладывает загрузку инструментов до тех пор, пока агент не решит, что эти инструменты нужны.

Объединение инструментов в цепочки с помощью Lua: Когда агент знает, какие инструменты существуют, он может составлять сложные многошаговые рабочие процессы в одном вызове execute(), экономя контекст от промежуточных результатов инструментов. Среда выполнения Lua предоставляет доступ ко всем обнаруженным серверам как к глобальным объектам, а инструменты можно вызывать как асинхронные функции.

Последовательное объединение инструментов в цепочку:

local raw_data = api_server.fetch({ id = 123 }):await()
local processed = processor.transform({ input = raw_data }):await()
result(processed)

Условная логика:

local status = checker.validate({}):await()
if status.ok then
  result(processor.run({}):await())
else
  result(error_handler.notify({ error = status.message }):await())
end

Итерация с циклами:

local results = {}
for i = 1, 5 do
  results[i] = worker.process({ index = i }):await()
end
result({ total = #results, data = results })

Gateway Skills

Gateway Skills — это реализация Agent Skills в My Cool Proxy — переиспользуемые контекстные документы, которые агенты могут загружать как MCP Resources. Когда эта функция включена, агенты могут:

  • Обнаруживать навыки с помощью автоматически внедряемой подсказки в инструкциях сервера шлюза (или через встроенную функцию Lua _gateway.list_resources(); ищите URI gw-skill://)

  • Читать содержимое навыков через встроенную функцию Lua _gateway.read_resource()

  • Выполнять скрипты навыков через встроенную функцию Lua _gateway.invoke_skill_script()

Хотя многие агенты уже реализуют собственные системы навыков, эти системы сильно фрагментированы, и сложно переиспользовать одни и те же навыки в нескольких отдельных приложениях агентов. Некоторые системы, такие как skills.sh, решают эту проблему явным копированием навыков между приложениями, а My Cool Proxy решает её путём централизации всех навыков в собственной системе управления навыками и предоставления их через MCP. Чтобы отличать эти навыки от существующих систем навыков, My Cool Proxy называет их «Gateway Skills».

Gateway Skills отключены по умолчанию, поскольку они могут конфликтовать с существующими системами навыков, встроенными в вашего агента. См. Руководство по настройке для получения информации о параметрах настройки.

Для более глубокого обсуждения дизайна, почему Gateway Skills реализованы именно так, обратитесь к этому разделу в документации по дизайну.

Веб-панель

My Cool Proxy включает опциональную веб-панель для мониторинга активности шлюза. Когда она включена, она работает на отдельном порту и предоставляет:

  • История выполнения — Просматривайте все выполнения Lua-скриптов с подсветкой синтаксиса и результатами

  • Журнал вызовов инструментов — Смотрите, какие MCP-инструменты вызывались во время каждого выполнения

  • Мониторинг сессий — Просматривайте активные сессии, подключенные серверы и возможности

  • Обновления в реальном времени — Новые выполнения передаются на панель через WebSocket

Включите её, добавив раздел dashboard в вашу конфигурацию:

{
  "dashboard": {
    "port": 3100,
    "host": "localhost"
  }
}

Затем откройте http://localhost:3100 в вашем браузере. Подробности см. в Руководстве по настройке.

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

Полную справочную информацию о конфигурации см. в Руководстве по настройке.

Таблица поддержки функций MCP

Возможность

Поддерживается?

Подробности

Инструменты

My Cool Proxy ожидает, что инструменты поддерживаются как минимум. К счастью, всё, что поддерживает MCP, поддерживает инструменты.

Промпты

My Cool Proxy пересылает промпты из ваших MCP-серверов подключённому клиенту и предоставляет встроенные функции Lua _gateway.get_prompt() и _gateway.list_prompts() для загрузки их агентами в скриптах.

Ресурсы

My Cool Proxy пересылает ресурсы из ваших MCP-серверов подключённому клиенту и предоставляет встроенные функции Lua _gateway.read_resource() и _gateway.list_resources() для загрузки их агентами в скриптах.

Инструкции сервера

My Cool Proxy загружает фрагменты инструкций подключённых MCP-серверов в свои собственные серверные инструкции, а также отправляет полные копии через инструмент list-servers при вызове.

Уведомления об обнаружении

My Cool Proxy прослушивает уведомления об изменении инструментов/промптов/ресурсов подключённых MCP-серверов, чтобы автоматически обновлять свои внутренние реестры, что отражается в последующих вызовах инструментов.

Автодополнение

Автодополнение аргументов промптов и переменных шаблонов ресурсов пересылается от вышестоящих серверов подключённому клиенту. Агенты также могут вызывать _gateway.complete() в Lua-скриптах, чтобы выяснить допустимые значения для переменных шаблонов ресурсов и аргументов промптов.

Логирование

My Cool Proxy пересылает уведомления логирования подключённому клиенту, а также записывает их сам.

Корни

Запросы roots/list пересылаются от вышестоящих серверов нижестоящему клиенту. Уведомления notifications/roots/list_changed от нижестоящего клиента рассылаются всем вышестоящим серверам. Когда активна прослойка семплирования, первый допустимый локальный корень используется в качестве рабочей директории ACP-агента.

Семплирование

My Cool Proxy поддерживает создание прослойки для поддержки семплирования через ACP, хотя по умолчанию эта функция отключена. Дополнительную информацию см. в документации по конфигурации.

Элиситация

⚠️

Запросы элиситации (в форме и URL-режиме) проксируются от вышестоящих серверов подключённому клиенту. Для клиентов, которые не поддерживают элиситацию нативно, прослойка (в настоящее время) недоступна (в отличие от семплирования, которое может быть реализовано через ACP).

Прогресс

Уведомления о прогрессе от вышестоящих серверов пересылаются подключённому клиенту. Когда Lua-скрипт вызывает несколько инструментов параллельно, их прогресс агрегируется (суммируется) в единый поток.

Задачи

⚠️

Поддерживается вызов инструментов, поддерживающих задачи, но без использования обновлений статуса для чего-либо интересного. Задачи семплирования/элиситации в настоящее время не поддерживаются.

OAuth 2.0

Запросы аутентификации OAuth 2.0 пока не поддерживаются (но будут)

MCP Apps

MCP Apps пока не поддерживаются (но будут).

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
16hResponse time
4dRelease cycle
17Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

View all MCP Connectors

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/karashiiro/my-cool-proxy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server