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 点、コメントは 0.5 点として数え、スコアはリクエストの経過日数に応じて 90 日を尺度として減衰します。同点の場合は、より新しいリクエストが上位になります。 任意:limit(1~20、デフォルトは 5)。generate_spec— 1 件の機能リクエスト向けに、エージェントが利用できる 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 リクエストを送信します。上流が
Mcp-Session-Id ヘッダーを付けて initialize に応答すると、その値はセッション内の以降のすべての
リクエストに引き継がれ、プロセスの実行中は同じセッションが再利用されます。応答は
通常の JSON またはサーバー送信イベントとして届くことがあり、どちらも読み取ります。
上流からの成功結果は、上流が設定した isError フラグを含め、そのまま返されます。
JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、または完了できないリクエストなどの
失敗は、テキストが askboard error: で始まる isError 結果として返されます
(このエラー表示は、本再構築で独自に追加したものであることを明示しています)。
CLI
各ツールはサブコマンドとしても実行でき、JSON 引数文字列を 1 つ受け取ります (引数を取らないツールでは省略してください)。
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。