Nhost MCP

MCP-сервис Nhost открывает GraphQL API проекта ассистенту: схема, запросы и мутации идут с правами пользователя.

  • 9 378 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

Расширенный доступ

Почему такой уровень

  • Инструмент `graphql-mutation` создает, меняет и удаляет данные проекта.
  • Данные пользователя попадают в контекст модели.
Все причины и проверки

nhost/nhost

Установка

Ручная установка

Текст для агента

Разверни образ `nhost/mcp` рядом с проектом, задай `MCP_GRAPHQL_ENDPOINT`, `MCP_AUTH_URL`, `MCP_REALM` и роль через `MCP_ENFORCE_ROLE`. В клиенте подключи опубликованный адрес сервера по OAuth, мутации вызывай только с подтверждением.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Инструмент `graphql-mutation` создает, меняет и удаляет данные проекта.
  • Данные пользователя попадают в контекст модели.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Сервис MCP Nhost ставят рядом с проектом Nhost, и он открывает GraphQL API проекта агентам Claude, Cursor и любому клиенту MCP. Сервис стоит между ассистентом и GraphQL и отдает три инструмента: `get-schema` изучает схему и показывает сводку операций или полный SDL, `graphql-query` выполняет запросы на чтение, `graphql-mutation` создает, меняет и удаляет данные. При запуске сервер подгружает сводку схемы в инструкции MCP, и ассистент сразу знает модель данных. Вход идет по OAuth2: Nhost Auth служит сервером авторизации по спецификации MCP, ассистент получает JWT и передает его в каждом запросе. Права на строки и колонки применяет сам GraphQL-сервис, поэтому ассистент видит только то, что разрешено пользователю. Флаг `--enforce-role` принимает токены одной роли, например отдельной роли `user_mcp` с урезанными правами.

Для кого. Разработчикам приложений на Nhost, которые хотят открыть пользователям их данные через ИИ-ассистента без собственной интеграции.

Подходит, если

  • Пользователь приложения спрашивает ассистента о своих заказах, а тот строит запрос к вашему GraphQL.
  • Для ассистента заводят роль `user_mcp` только на чтение выбранных таблиц.
  • Разработчик изучает схему проекта через `get-schema`, прежде чем писать запросы.
  • Сервис разворачивают в Nhost Run файлом `run-mcp.toml` рядом с остальными службами проекта.

Не подходит, если

  • Проект не на Nhost или без GraphQL API: сервис опирается на эндпоинт GraphQL и Nhost Auth.
  • В Nhost Auth не включены клиенты CIMD: документация называет это обязательным условием.
  • Ассистенту нельзя менять данные, а ограничить роль нельзя: мутации открыты через `graphql-mutation`.

Пример запроса к агенту

Покажи схему проекта, затем выбери мои открытые заказы за неделю и посчитай их сумму.

MCP

Транспорт
http
Авторизация
OAuth

Переменные окружения

MCP_GRAPHQL_ENDPOINT обязательная
Адрес GraphQL проекта Nhost
MCP_AUTH_URL обязательная
Адрес Nhost Auth как сервера авторизации OAuth2
MCP_ENFORCE_ROLE
Роль, токены которой принимает сервис, например `user_mcp`

Ограничения

Сервис опирается на Nhost Auth как на сервер OAuth2, и в Nhost Auth должны быть включены клиенты CIMD. Обязательны переменные `MCP_GRAPHQL_ENDPOINT` и `MCP_AUTH_URL`. Образ `nhost/mcp` в реестре MCP помечен бета-версией. Инструмент `graphql-mutation` создает, меняет и удаляет данные, поэтому границы задают правами роли в GraphQL, а `--enforce-role` пропускает токены одной роли. Сервис работает рядом с проектом: в документации его разворачивают в Nhost Run или запускают локально.

Как отключить. Остановите сервис MCP в проекте и уберите запись из настроек клиента. Роль для ассистента и ее права остаются в проекте, уберите их отдельно, если они больше не нужны.

Частые вопросы

Какие инструменты есть?

`get-schema` для схемы, `graphql-query` для чтения и `graphql-mutation` для создания, изменения и удаления данных.

Как ограничить ассистента?

Заведите роль, например `user_mcp`, с урезанными правами в GraphQL и запустите сервис с `--enforce-role=user_mcp`: токены других ролей получат ответ 403.

Как работает вход?

Клиент читает требования из `/.well-known/oauth-protected-resource`, отправляет пользователя в Nhost Auth по коду авторизации с PKCE и получает JWT. Права на строки и колонки применяет GraphQL.

Как развернуть сервис?

Одним щелчком в Nhost Run по ссылке из README или файлом `run-mcp.toml` с образом `nhost/mcp`, портом `3000` и переменными `MCP_AUTH_URL`, `MCP_REALM` и `MCP_GRAPHQL_ENDPOINT`.

Что обязательно включить?

В Nhost Auth нужны клиенты CIMD. Без них вход клиента MCP не пройдет.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

MCP-сервер Apollo: превращает заданные операции GraphQL в инструменты, через которые агент работает с вашим API

MCP-серверШирокий доступ319Звезды репозитория

Два инструмента для GraphQL: агент получает схему вашего API и выполняет запросы к нему через один эндпоинт

MCP-серверРасширенный доступ407Звезды репозитория

Шлюз на Pingora превращает существующие HTTP-сервисы по описанию OpenAPI в MCP-серверы без правки их кода

MCP-серверШирокий доступ185Звезды репозитория
Официальный

MCP-сервер бэкенда InsForge: агент создает таблицы, бакеты и серверные функции и выкладывает приложение, не выходя из редактора

MCP-серверШирокий доступ38Звезды репозитория

MCP-сервер загружает спецификацию Swagger или OpenAPI и делает из каждой конечной точки API инструмент для агента.

MCP-серверШирокий доступ115Звезды репозитория

Один бинарник Go подключается к SQL-базе и отдает ее как REST API с ролями и как MCP-сервер для Claude Code, Cursor и VS Code

MCP-серверШирокий доступ173Звезды репозитория

Коротко о README

README сервиса излагает схему работы, OAuth2, ограничение роли, флаги и переменные окружения и два способа развертывания.

Бейдж для README

Сообщить о проблеме