HH

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

840 stars 65 forks Качество 64 Тренд 42MIT

hoophq/hoop — это кандидат на MCP-сервер, импортированный из https://github.com/hoophq/hoop.

Обзор

hoophq/hoop — это кандидат на MCP-сервер, импортированный из https://github.com/hoophq/hoop.

Обзор (машинный перевод)

Управление во время выполнения агентов

Данные и контекст делают агентов полезными. Управление во время выполнения делает их безопасными.
Открытый сайдкар. Один бинарный, один конфигурационный файл — MIT.

Что видит ваш агент

Запрос выполняется. Чувствительные поля остаются скрытыми.

Маскировка переписывает ответ в памяти. Сам запрос никогда не трогается.

Заявление так и не попадает в базу данных.

Настоящая ошибка pgwire, несущая сообщение, которое вы написали в конфигурации. Агент читает, почему отказали, вместо того чтобы угадывать о разрыве соединения.

Агент никогда не знает о существовании сайдкара. Нет SDK, нет изменений prompt, нет конфигурации на стороне агента.

Установка

Конфигурировать

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

Беги

Без какой-либо конфигурации сайдкар всё равно запускается: один loopback URL, который Пересылка в руководство по началу работы. Оно осматривает Нет трафика — он существует, так что первый запуск работает — и терминал показывает, как чтобы заменить его на настоящую конфигурацию.

Укажите агента на 127.0.0.1:15432 вместо базы данных. Ваши агенты меняют одну вещь: порт в своей строке подключения. Сайдкар работает рядом с вашей базой данных, а не вместо неё.

Четыре управления

**Маскировка данных.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Runtime control for agents

Data and context make agents useful. Runtime controls make them safe. An open-source sidecar. One binary, one config file, MIT.

What Your Agent Sees

The query runs. The sensitive fields stay hidden.

> pull the customer list for the churn report

● postgres(SELECT name, email FROM customers)
  ⎿  name           email
     Ada Lovelace   [REDACTED:EMAIL_ADDRESS]
     Grace Hopper   [REDACTED:EMAIL_ADDRESS]
     hoop.dev · emails redacted at the wire

Masking rewrites the response in memory. The request itself is never touched.

The statement never reaches the database.

> clean up the old test rows in customers

● postgres(DELETE FROM customers WHERE id = 1)
  ⎿  FATAL:  destructive statements are not permitted
     hoop.dev · guardrail: no-destructive-sql

A real pgwire error carrying the message you wrote in the config. The agent reads why it was refused instead of guessing at a dropped connection.

The agent never knows the sidecar exists. No SDK, no prompt changes, no agent-side config.

Install

brew tap hoophq/brew https://github.com/hoophq/brew.git
brew install hoop

Configure

One file. This one redacts emails and refuses destructive SQL.

log_level: info

admin:
  listen: 127.0.0.1:19000        # /healthz /stats /config /events

mask:                            # Data Masking
  enabled: true
  rules:
    - {name: emails, entity: EMAIL_ADDRESS, strategy: redact}

policy:                          # Guardrails
  enforce: true
  rules:
    - name: no-destructive-sql
      type: operation
      operations: [drop, delete, truncate]
guardails:
  rules:
    - name: no-destructive-sql
      type: operation
      operations: [drop, delete, truncate]
      message: destructive statements are not permitted

listeners:
  - name: localdb
    protocol: postgres           # postgres | mssql | http
    listen: 127.0.0.1:15432      # where clients connect
    upstream: 127.0.0.1:5432     # your real resource
    connection: localdb

Run

hoop start sidecar                                # no config: a built-in default
hoop start sidecar --config config.yaml           # start
hoop start sidecar --config config.yaml --validate # check the config, then exit
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →