关于 askboard
askboard 是面向软件团队的本地桥接程序,连接 FeatQ 托管的功能请求看板。它转发看板工具,包括请求排名与统计、状态更新和实现规格草稿生成,不在本地存储看板数据。
主要功能
- 01列出并筛选功能请求
- 02查看请求详情和评论
- 03查看看板统计与请求排名
- 04起草实现规格
- 05更新请求状态
- 06读取竞争对手声明
适用场景
- 01查看需求最高的产品功能
- 02检查请求及其讨论
- 03根据请求起草实现规格
- 04推进请求的看板状态
MCP 相关
askboard 通过本地 MCP 服务提供捕获的 FeatQ 工具列表,并将调用转发至托管 MCP 服务。上游结果会直接返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sort | enum | 否 | 结果排序方式:votes(按投票数从高到低)或 newest。votes | newest |
| limit | integer | 否 | 要返回的请求数上限。 |
| status | enum | 否 | 按请求状态筛选:new、considering、planned、in_progress 或 done。new | considering | planned | in_progress | done |
详细介绍
askboard
askboard 是一个连接到 FeatQ 托管 MCP 服务的小型本地桥接程序。该服务为一款软件产品运行功能请求看板:客户和团队成员可以提交请求、投票和评论,看板会跟踪请求的状态,包括新建、已计划、进行中或已完成。
该桥接程序不保存任何看板数据。它会在本地提供上游服务的工具列表,内容与从在线端点捕获的完全一致,并将每次工具调用转发到上游,原样返回结果。捕获的工具中,有一个会写入数据:update_request_status 会更改托管看板上请求的状态;还有一个会生成文档:generate_spec 会为单个请求起草实现规格说明。其他工具均为只读。
工具
list_requests— 列出看板上的功能请求。 可选筛选条件:status(new、considering、planned、in_progress或done)、sort(votes或newest,默认值为votes)和limit(1-50, 默认值为 20)。get_request— 获取单个功能请求的完整信息及其 评论。必填:id。get_board_stats— 一览看板情况:请求数量、 投票总数和热门请求。无需参数。get_ranked_requests— 按需求评分列出热门请求, 不包括已标记为已完成的请求。每票计 1 分,每条评论 计半分;请求年龄越大,评分按 90 天的时间尺度 衰减;评分相同时,较新的请求排在前面。可选:limit(1-20,默认值为 5)。generate_spec— 为一项功能请求生成适用于 Agent 的 Markdown 实现规格说明。必填:id。update_request_status— 将请求更改为新的状态 (new、considering、planned、in_progress或done)。必填:id、status。 将请求标记为已完成后,该请求会显示在公开的 更新日志中。list_competitor_claims— 查看受监控的竞争对手对比 页面如何描述本产品。仅供读取;这些说法是参考信号, 不是投票。可选:state(new、added或dismissed,默认值为new)和limit(1-100, 默认值为 25)。
配置
FEATQ_MCP_URL(可选)— 覆盖上游端点。默认值为https://featq.com/api/mcp。 (此覆盖挂钩是本次重建中特别标注的部分。)FEATQ_API_KEY(可选)— 设置后,每个上游请求都会 携带Authorization: Bearer <key>标头。未设置时, 不会发送身份验证标头。(此转发机制也是本次重建中 特别标注的部分;捕获原始接口时未使用密钥。)
转发机制
首次调用工具时,客户端会与上游建立可流式传输的
HTTP 会话:发送 JSON-RPC initialize 请求(protocolVersion
为 2025-03-26,clientInfo name 为
askboard),然后发送 notifications/initialized
通知,接着发送携带调用方原样参数的 tools/call
请求。当上游在 initialize 响应中返回 Mcp-Session-Id
标头时,该值会随本会话的每个后续请求一同发送;此会话
会在整个进程生命周期内复用。响应可能以纯 JSON 或
服务器发送事件的形式返回;两种格式均会读取。
成功的上游结果会原样传递,包括上游设置的任何
isError 标志。失败情况——JSON-RPC 错误、非 2xx 状态、
无法读取响应,或无法完成的请求——会以 isError 结果
返回,其文本以 askboard error: 开头(此错误呈现方式
是本次重建中特别标注的部分)。
CLI
每个工具也可以作为子命令调用,并接收一个 JSON 参数 字符串(无需参数的工具可省略):
npx @reneturcios/askboard list_requests '{"status":"planned","sort":"votes"}'
npx @reneturcios/askboard get_request '{"id":"req-42"}'
npx @reneturcios/askboard get_board_stats
npx @reneturcios/askboard update_request_status '{"id":"req-42","status":"done"}'
npx @reneturcios/askboard --version
退出代码:成功时为 0,结果包含 isError 时为 1,
用法错误时为 2。
MCP 服务
npx -y @reneturcios/askboard mcp
MCP 客户端配置:
{
"mcpServers": {
"askboard": {
"command": "npx",
"args": ["-y", "@reneturcios/askboard", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/askboard
docker run --rm ghcr.io/cloudcorprecords/askboard --version
容器的默认命令为 mcp,因此第一种形式会启动一个
stdio MCP 服务;其他参数则会按常规方式传递给 CLI。
开发
npm install
npm run build
npm test
npm run dev
测试套件完全基于模拟的 JSON-RPC 上游运行,不会进行 任何实时网络调用。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。