by N1

Подключить агента через MCP

Общие задачи и контекст продукта для вашего агента — с вашими правами и историей его действий.

Адрес сервера: https://hub.n1.team/mcp · Streamable HTTP · без серверной сессии.

Подключить через OAuth

  1. В Claude, ChatGPT или другом клиенте удалённого MCP с OAuth добавьте свой сервер с адресом выше. Доступность зависит от клиента и тарифа.
  2. Войдите в существующий аккаунт Хаба, проверьте указанную команду и разрешите доступ. Каждый человек подключает своего агента. Копировать ключ не нужно.
  3. Отправьте проверочное сообщение ниже. Сохранённое подключение само по себе не подтверждает обращение агента к Хабу.

Для разработчиков клиента: обнаружение через resource_metadata в WWW-Authenticate ответа 401, метаданные защищённого ресурса и сервера авторизации. Authorization Code + PKCE S256, публичные клиенты, динамическая регистрация, scope hub. Grant refresh_token не заявлен: после истечения авторизации подключитесь снова.

Подключить личным ключом

Для CLI и скриптов создайте личный ключ в «Агенты → Мои подключения». Сохраните его в N1_HUB_KEY в окружении клиента. Ключ показывается один раз; не добавляйте его в репозиторий или URL. При утечке отзовите его в своих подключениях. Каждый ключ принадлежит человеку и одной команде.

Мои ключи

Codex: добавьте в конфигурацию MCP и запускайте Codex с доступной переменной N1_HUB_KEY.

[mcp_servers.n1-hub]
url = "https://hub.n1.team/mcp"
bearer_token_env_var = "N1_HUB_KEY"

Другие клиенты: выберите HTTP / Streamable HTTP и настройте заголовок авторизации. Подставляйте ключ через хранилище секретов клиента; синтаксис переменных зависит от приложения.

Authorization: Bearer <your-personal-key>

Проверить подключение

Вызови get_status. Назови человека и команду, от имени которых работаешь. Затем list_products и get_product_context для моего продукта. Пока ничего не меняй.

В ответе должны быть ваши человек и команда. Проверьте первое успешное обращение в «Агентах». Агент видит те же продукты, что и вы; операции владельца остаются ограничены. Исключение человека или отзыв ключа прекращает следующие обращения.

Свой клиент: первый запрос протокола

Используйте MCP SDK: согласуйте версию протокола, вызовите initialize, отправьте notifications/initialized, затем tools/list и tools/call. Этот curl только проверяет инициализацию и не запускает инструмент. В следующих запросах передавайте согласованную версию в MCP-Protocol-Version. Транспорт без состояния не выдаёт Mcp-Session-Id и не предоставляет постоянный поток событий через GET.

curl --fail-with-body 'https://hub.n1.team/mcp' \
  -H "Authorization: Bearer $N1_HUB_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'

Как устроен клиент MCP · Streamable HTTP

Возможности и схемы

Полный актуальный справочник — ответ tools/list после авторизации: имена, описания, JSON Schema аргументов и аннотации. Через тот же клиент доступны resources/list, resources/templates/list и prompts/list. Не фиксируйте число инструментов и не считайте обнаруженную операцию разрешённой для любой роли.

СценарийНачните с
Человек и контекстget_status, list_products, get_product_context
Задачи и передача работыlist_tasks, get_task, create_task, update_task, review_task
Процесс команды: колонки и необязательные типы задачget_workflow, update_workflow · Владелец меняет с expectedVersion и reason; конфигурация не запускает агента.
Очередь агентаnext_task, get_agent_work
Данные продуктаquery_metric, get_overview, get_sources
Что изменилосьget_digest, daily_digest (промпт)

Контекст продукта доступен и как n1://products/{slug}/context; plan_week — промпт планирования. Перед изменением работы прочтите инструкции сервера и agentPolicy. Закрытие задачи требует основания; взятие в работу может требовать оценки. Подключение даёт доступ, но не запускает фонового агента и не исполняет код. next_task вызывает сам ваш агент.

Ограничения и ошибки

Для обычных HTTP-скриптов используйте версионированный REST API.