Nhost MCP
MCP-сервис Nhost открывает GraphQL API проекта ассистенту: схема, запросы и мутации идут с правами пользователя.
- 9 378 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Инструмент `graphql-mutation` создает, меняет и удаляет данные проекта.
- Данные пользователя попадают в контекст модели.
Установка
- Работает в
Ручная установка
Разверни образ `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-graphql — MCP-сервер для GraphQL API
mcp-graphql
Два инструмента для GraphQL: агент получает схему вашего API и выполняет запросы к нему через один эндпоинт
Шлюз на Pingora превращает существующие HTTP-сервисы по описанию OpenAPI в MCP-серверы без правки их кода
MCP-сервер бэкенда InsForge: агент создает таблицы, бакеты и серверные функции и выкладывает приложение, не выходя из редактора
MCP-сервер загружает спецификацию Swagger или OpenAPI и делает из каждой конечной точки API инструмент для агента.
Один бинарник Go подключается к SQL-базе и отдает ее как REST API с ролями и как MCP-сервер для Claude Code, Cursor и VS Code
Коротко о README
README сервиса излагает схему работы, OAuth2, ограничение роли, флаги и переменные окружения и два способа развертывания.