Skip to main content
Glama
MCP Questionnaire

MCP Questionnaire

MCP 问卷

Claude 对话中的结构化输入界面——预填表单、假设台账、审查矩阵——取代以散文要点形式提出的澄清问题。代理会尽可能自行推断,渲染一个每个值都已预填来源的表单,你的工作是审计提案,而不是撰写提案。答案直接流回模型上下文。

DESIGN.html 是规范正本(在浏览器中打开——原型是可点击的)。本 README 只说明如何安装和运行。

安装(Claude Code)

一次安装即可获得连接器以及知道何时该用表单的技能:

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

或从 shell 中:

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

Related MCP server: chimeralang-mcp

安装(claude.ai / Claude Desktop——表单在此渲染)

设置 → 连接器 → 添加自定义连接器 → 粘贴来自 packages/plugin/.mcp.json 的 URL。Claude 会引导你前往 GitHub 登录;如果你的 GitHub 登录名在服务器的允许列表中,你就会以已连接状态返回。首次渲染会请求一次性的"始终允许"权限。先在 Web/桌面端添加——移动端会从那里继承。

访问控制

连接器 URL 是公开的,不携带任何信息。每个 MCP 请求都需要 OAuth 令牌,而获取令牌的唯一方式是使用登录名出现在 packages/worker/wrangler.jsonc 的 GITHUB_ALLOWED_USERS 中的 GitHub 账户登录——逗号分隔,不区分大小写匹配。其他任何人都会收到 403 且拿不到令牌。

添加队友: 将他们的 GitHub 登录名添加到 GITHUB_ALLOWED_USERS 并重新部署 Worker。移除某人: 删除该条目并重新部署;这会立即阻止新的授权,而他们仍持有的任何令牌都会自行过期(或从 OAUTH_KV 命名空间中删除他们的 grant:/token: 键以提前终止)。

这是对最初"无认证"决定(DESIGN.html §3)的有意逆转:URL 路径曾经就是能力本身,这只有在仓库保持私有时才成立,而一旦连接器必须从插件市场安装,这一点就不再成立。表单 ID 在内部仍然是能力。

仓库地图

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

——来自一个 Authorization callback URL 为 https://mcp-questionnaire.<account>.workers.dev/callback 的 GitHub OAuth 应用。用 tr -d '\n' 管道传递密钥:尾随换行符曾让这次部署吃过亏。允许列表(GITHUB_ALLOWED_USERS)是 vars 条目而非密钥,因此它随 wrangler.jsonc 一起发布,变更会出现在可审查的 diff 中。.dev.vars 为本地运行存放明显的假值。

Related MCP Connectors

Related MCP Servers