mcpField
G
Gao Protests

Gao Protests

リモート
pipeworx.io法務・行政03 日前に更新
リポジトリ公式サイト

Gao Protests について

Gao Protestsは、米国政府契約の入札抗議を調べる研究者向けのMCPサーバーです。結果、企業名、B番号で蓄積済みのGAO決定を検索でき、収録範囲が完全な過去記録ではないことも示します。

主な機能

  1. 01結果別の最近の抗議検索
  2. 02B番号による決定とPDFリンクの取得
  3. 03抗議者名や企業名での検索
  4. 04データ収録範囲と取得時刻の確認

活用シーン

  1. 01最近の政府契約紛争の確認
  2. 02特定企業が提出した抗議の検索
  3. 03データセットの収録期間の把握

MCP 対応

最近の決定、個別決定、抗議者検索、収録範囲の確認ツールをMCPクライアントに公開します。Pipeworxゲートウェイ経由で接続するほか、ローカルのstdio MCPサーバーとして実行できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/gao-protests/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/gao-protests

GAO の入札抗議に関する決定 — 米国政府説明責任局(GAO)が裁定した政府契約の落札をめぐる紛争(「この契約の落札に対する抗議はあったか」「この機関は抗議でどのくらいの頻度で敗訴しているか」)。落札側を扱うものの紛争は対象外の usaspending および dod-contract-announcements と併用できます。

Pipeworx の一部です — AI エージェントを 1879 以上のライブデータソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、推奨、公開のいずれもされていません。

ツール

  • gao_protests_recent(days?, outcome?, limit?) — 最近裁定された抗議を取得します。結果(denied|dismissed|sustained)で絞り込むこともできます。
  • gao_protest(b_number) — B 番号で指定した単一の決定を、決定 PDF へのリンクとともに取得します。
  • gao_protests_search(protester, limit?) — 抗議者/企業名で、蓄積された決定を検索します。
  • gao_protests_coverage() — 保持している決定の総数、最も古い/最新の decided_on、最終クロール時刻を取得します。

認証

キー不要 — オペレーターキーは必要ありません。gao_bid_protests をデータソースとしており、workers/data-pipeline が毎日更新します(データセット gao-protests)。

データソース

  • https://www.gao.gov/legal/bid-protests/search — 入札抗議のランディングページです。Drupal Views の「最近の決定」ブロックをページ HTML に直接埋め込んでおり(JS チャレンジなし)、最新の決定を約 5 件表示します。
  • https://www.gao.gov/products/B-XXXXXX — 各決定の個別ページです。新しい B 番号ごとに一度取得し、正確な裁定日と PDF リンクを取得します。

対象範囲は GAO の抗議アーカイブ全体ではなく、継続的に蓄積されるデータです。 絞り込み検索エンドポイント(gao.gov/search?f[0]=ctype_search:Bid Protest Decision)は、サーバーからは解決できない Akamai Bot Manager のプルーフ・オブ・ワーク JS インタースティシャルの背後にあります。HTTP/2 で完全な Chrome ヘッダーを送信しても効果はありません。これはヘッダーフィンガープリントではなく、JS の実行を要求するチャレンジです。ランディングページの「More」リンクも同じブロックされたエンドポイントを指しており、アクセス可能な別のページネーションはありません。そのため、このパックで確認できるのは、クロール開始後に GAO が公開した決定のみです。gao_protests_recent/_search は GAO の決定履歴全体ではなく、その時点で gao_bid_protests に蓄積されているデータを対象にします。gao_protests_coverage で、どこまで遡れるかを正確に確認できます。

両方のホストで、Chrome の完全なヘッダーセットが必要です(HTTP/2 経由の User-Agent、Accept、Accept-Language、sec-ch-ua*、Sec-Fetch-*、Upgrade-Insecure-Requests)。User-Agent だけでは 403 が返されます。これはヘッダーフィンガープリントによるブロックであり、Cloudflare のエグレスブロックではありません。プロキシは不要です。

抗議の対象となった機関は取得できません。 各決定の PDF テキスト内にのみ記載され、ページ HTML にはありません。また、このパイプラインには PDF テキスト抽出機能がありません。文脈や抗議者の履歴から機関を推測することはせず、このフィールドは省略しています。推測した機関を事実として提示するより、情報を掲載しないほうが適切です。

1 件の決定に複数の B 番号が付く場合があります(たとえば、元の抗議と再審査に対して B-424484,B-424484.2)。テーブルの主キーには、その文字列の最初の番号を使用します。gao_protest は、生の文字列を検索することで、主キー以外の番号(.2 の接尾辞など)にも一致します。

結果は列挙値ではなく文章です(「We deny the protest.」「We dismiss the request for reconsideration.」「We sustain the protest.」など)。絞り込みには denied | dismissed | sustained | other に正規化して使用し、元の文も常に併記します。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:

{
  "mcpServers": {
    "gao-protests": {
      "url": "https://gateway.pipeworx.io/gao-protests/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/gao-protests/mcp の tools/list は、上記の表にあるツールに加えて、Pipeworx の共通メタツールである ask_pipeworx、 discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式を返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、パック固有のツールに加えて、共通ツールが約 30 個表示されます。接続時の initialize レスポンスには対象範囲が正確に記載されており、その日の状況を確認する際の正式な情報源です。

これは意図的な設計であり、偶然に多重化されているわけではありません。メタツールを使うと、このパックでは対応していない質問にも、カタログ全体を対象にルーティングする ask_pipeworx 経由で回答できます。そのため、MCP サーバーをもう 1 つ追加する必要はありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマがルーティングの利点に見合わないほどコンテキストを消費する場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。

または、フル Pipeworx ゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらの URL も同じゲートウェイと同じ 1879 以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使えばすべてのツールにアクセスできます。

MCP クライアントをお持ちでない場合:HTTP 経由で呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/gao_protests_recent \
  -H 'Content-Type: application/json' \
  -d '{"days":30}'

最初の呼び出しにアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/gao_protests_recent を実行します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントは不要で、ゲートウェイとの往復通信もありません。

{
  "mcpServers": {
    "gao-protests": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-gao-protests"]
    }
  }
}

または、起動を確認するには、次のコマンドを直接実行します。

npx -y @pipeworx/mcp-gao-protests

stdin/stdout 経由で MCP を通信し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共通メタツールはありません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。

ask_pipeworx を使う

ツールを直接呼び出す代わりに、自然な英語で質問できます。この機能は、上記のパックエンドポイントとフルゲートウェイの両方で利用できます。

ask_pipeworx({ question: "your question about Gao Protests data" })

ゲートウェイが適切なツールを選び、引数を自動的に設定します。

詳細情報

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。