Skip to main content
Glama
MCP Questionnaire

MCP Questionnaire

MCP Questionnaire

Структурированные поверхности ввода внутри диалога с Claude — предзаполненные формы, реестры допущений, матрицы ревью — вместо уточняющих вопросов в виде маркированных списков. Агент выводит, что может, и отображает форму уже предзаполненную с указанием происхождения каждого значения, а ваша задача — проверять предложение, а не создавать его. Ответы напрямую возвращаются в контекст модели.

DESIGN.html — каноническая спецификация (откройте её в браузере — макеты кликабельны). Этот README рассказывает только о том, как установить и запустить.

Установка (Claude Code)

Одна установка даёт вам коннектор и навык, который знает, когда форма — правильный ход:

/plugin marketplace add JakubMMazurek/MCP-Questionnaire
/plugin install mcp-questionnaire@mcp-questionnaire

или из оболочки:

claude plugin marketplace add JakubMMazurek/MCP-Questionnaire
claude plugin install mcp-questionnaire@mcp-questionnaire

Related MCP server: chimeralang-mcp

Установка (claude.ai / Claude Desktop — где формы отображаются)

Настройки → Connectors → Add custom connector → вставьте URL из packages/plugin/.mcp.json. Claude отправит вас на GitHub для входа; если ваш логин GitHub есть в списке разрешённых на сервере, вы вернётесь подключённым. При первом рендере запрашивается одноразовое разрешение «Always allow». Сначала добавьте в веб/десктоп — мобильная версия подхватит это оттуда.

Контроль доступа

URL коннектора публичен и не несёт никакой информации. Каждый MCP-запрос требует OAuth-токен, и единственный способ его получить — войти через GitHub-аккаунт, чей логин указан в GITHUB_ALLOWED_USERS в packages/worker/wrangler.jsonc — через запятую, без учёта регистра. Все остальные получают 403 и никакого токена.

Добавить коллегу: добавьте его GitHub-логин в GITHUB_ALLOWED_USERS и переразверните Worker. Удалить: удалите запись и переразверните; это сразу блокирует новые авторизации, а любой токен, который у него ещё есть, истечёт сам (или удалите его ключи grant:/token: из пространства имён OAUTH_KV, чтобы сократить срок).

Это намеренный разворот исходного решения «без аутентификации» (DESIGN.html §3): раньше URL-путь был возможностью, что работало только пока репозиторий оставался приватным, и перестало быть правдой, как только коннектор пришлось устанавливать из маркетплейса плагинов. Идентификаторы форм остаются возможностями внутри.

Карта репозитория

DESIGN.html

спецификация — каждое решение с обоснованием

packages/schema

мета-схема, Zod-валидатор с обучающими ошибками, парсер путей (@mcpq/schema)

packages/ui

рендерер: движок правил, мост хоста, однофайловый бандл (@mcpq/ui)

packages/worker

Cloudflare Worker: MCP-обработчик, Durable Objects форм (@mcpq/worker)

packages/plugin

устанавливаемый плагин (коннектор + навык)

.claude-plugin/

каталог маркетплейса, указывающий на packages/plugin

Разработка

pnpm install
pnpm -r test            # 359 tests
pnpm --filter @mcpq/ui dev    # offline host harness at localhost:5173/dev/
pnpm build              # single-file renderer bundle, verified self-contained

Развёртывание (packages/worker): pnpm exec wrangler deploy. Два секрета хранят учётные данные GitHub OAuth-приложения —

wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET

— из GitHub OAuth-приложения, чей Authorization callback URL — https://mcp-questionnaire.<account>.workers.dev/callback. Передавайте секреты через tr -d '\n': завершающий перевод строки уже кусал это развёртывание. Список разрешённых (GITHUB_ALLOWED_USERS) — это запись vars, а не секрет, поэтому он попадает в wrangler.jsonc и изменения видны в диффе. .dev.vars содержит очевидные заглушки для локальных запусков.

Related MCP Connectors

Related MCP Servers