Harris County について
Harris Countyは、ハリス郡の民事事件記録を扱う未完成のPipeworx連携です。ファイルの取得、解析、項目コードの復号は実装・検証済みですが、ツールは未接続で、データベースへの登録も済んでいません。
主な機能
- 01日次・週次の事件ファイルを取得
- 02固定幅レコードの解析と項目の復号
- 03週次ファイルの列配置を検証
- 04データ登録とツールは未稼働
活用シーン
- 01事件ファイルの取得・解析手順を検証
- 02将来の事件検索連携に向けて構造化データを準備
MCP 対応
READMEによると、この連携はMCP_PACKSに登録されておらず、ツールは未稼働で、MCP経由のルーティングも利用できません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/harris-county/mcpclaude mcp add --transport http pipeworx-io-harris-county https://gateway.pipeworx.io/harris-county/mcp{"mcpServers":{"pipeworx-io-harris-county":{"type":"http","url":"https://gateway.pipeworx.io/harris-county/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-harris-county":{"type":"http","url":"https://gateway.pipeworx.io/harris-county/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-harris-county":{"type":"http","url":"https://gateway.pipeworx.io/harris-county/mcp"}}}{"mcpServers":{"pipeworx-io-harris-county":{"serverUrl":"https://gateway.pipeworx.io/harris-county/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
harris-county — Harris County(TX)地方裁判所書記官の民事訴訟記録
ステータス:インキュベーター。MCP_PACKS に接続されていないため、ここにルーティングされるものはありません。
Fleet #1085。このパックには、完成し、計測済み の2つの部分が含まれています。
ツールはまだ作成されていません。存在しないミラーテーブルを読み取るためです。
昇格チェックリストについては ../README.md を参照してください。
Pipeworx の一部です。AI エージェントを1881以上のライブデータソースに接続する MCP ゲートウェイです。これは独立した非公式の統合であり、上流プロバイダーとは提携、推奨、公開のいずれもされていません。
コーパスで回答できること
「会社XはHarris County州裁判所で訴えられているか。訴えたのは誰か。」これが、
court-listener では構造上回答できない質問です。同ツールが扱うのは連邦訴訟記録と
控訴審の意見書であり、テキサス州の民事訴訟記録ではありません。Harris Countyは、
認可された一括取得経路を利用できる、単一郡としては最大の州民事訴訟コーパスです。
20260829の週次インデックスで計測した件数:AMAZON LOGISTICS INC 12件、
KROGER 21件、WALMART INC 15件、HALLIBURTON COMPANY 3件、
SYSCO HOUSTON INC 3件。
このパックに含まれるもの
| ファイル | 内容 |
|---|---|
src/bulk.ts | ファイルを取得します。ASP.NET WebForms のポストバックを使用します。リクエストは2回で、静的URLはありません。 |
src/parse.ts | 2つのファイルを解析し、コード化されたフィールドをデコードします。 |
src/field-codes.json | 書記官独自のデータ辞書です。14シート、約5,000件のコードが含まれます。生成されたファイルです。 |
scripts/regen-field-codes.mjs | ライブの FIELD_CODES.xlsx からそのJSONを再生成します。APIキーも依存関係も不要です。 |
検証済みのため、誰も再調査する必要はありません
以下はすべて、推測ではなく、実際のファイルを使って2026-09-02に計測した結果です。
デプロイ済みCloudflare Workerからの到達性 — 合格。 デプロイ済みの registry-api 上の
GET /admin/harris_probe で確認しました(wrangler dev でも、ノートPCでもありません)。
egress: cloudflare-worker, elapsed 2,244ms, 164 datasets advertised, 144 civil
daily 200 content-disposition: attachment;filename=2026-08-31 CivilHistoricalDaily.txt 207,352 B 1,385 lines
weekly 200 content-disposition: attachment;filename=Civil Case Index JWEB 20260829.txt 20,783,741 B 31,540 lines
週次固定幅レイアウト — 42フィールド、31,539行中、位置ずれは0件。
オフセットはヘッダーのラベル位置から算出し、解析のたびに assertWeeklyHeader() で
検証します。228件の事件番号が文字で終わるのは正当な形式です
(分離された案件/付随案件)。
フィールドのデコード — ファイルにあるステータスコード17件すべてに対応する値があり、
未対応のコードはありません:A ACTIVE 12,861 · D DISPOSED (FINAL) 12,454 ·
E READY DOCKET 3,342 · H HOLD FOR JUDGMENT 1,317 · O POST JUDGMENT 868 ·
IP INACTIVE (PENDING) 63 · … 生の D は、人が読める事件ステータスではありません。
そのために FIELD_CODES.xlsx があります。
200 OKを返す3つの落とし穴
- ポストバック制御名の
$は%24として送信する必要があります。 間違えると、 サーバーはページを再レンダリングして 200を返します。ファイルがあるべき場所に 224 KBのHTML文書が返ってきます。curl --data-urlencodeは$をリテラルのままに しますが、URLSearchParamsはエンコードします。downloadHarrisFileはステータスコード ではなく、Content-Disposition: attachmentを検証します。 - 列がずれてもエラーにはなりません。 すべてのフィールドは引き続き切り出されますが、
間違った文字列が切り出され、住所の一部が被告として取り込まれるだけです。
それがデータベースに入るのを防ぐのは
assertWeeklyHeader()だけです。取り込み時にsummarizeWeekly()を呼び出し、misaligned === 0を必須にしてください。 ***** NO DEFENDANT RECORD found *****は番兵値であり、名前ではありません。 787行に含まれています。そのまま取り込むと、Harris Countyで3番目に訴訟を起こされた 当事者となり、City of Houstonより上位に入ります。parseWeeklyLineはこれを空欄にします。
残っていること
ロード自体を除けば、スキーマ、取り込み処理、手動トリガー、4つのツールなど、すべて記述され、型チェックも済んでいます。残る作業には、このコードを作成したマシンが持っていないデータベース認証情報が必要です。そのため、テーブルを中途半端にロードした状態ではなく、そこから正当に検証できる最後の手順で止めています。
運用担当者向け手順書 — 正確な変数名、ロード手順、昇格チェックリスト — は docs/harris-county-handoff.md にあります。 この README は公開されているスタンドアロンリポジトリに含まれるため、手順書はここではなく、そちらに置いています。
| 項目 | 場所 |
|---|---|
| スキーマ、2つのテーブル+トライグラムインデックス | supabase/migrations/dockets_004_harris_civil.sql |
| 取り込み処理、一括 upsert+ドライランモード | workers/registry-api/src/harris_civil.ts |
| 手動トリガー、内部シークレットによる制御 | registry-api の POST /admin/harris_civil_sync |
| 4つのツール | src/tools.ts — パックのデフォルトとしてエクスポートされていますが、まだ動作しません |
2026-09-02 に実際のファイルを使ってローカルで検証済み — ダウンロードからパース、デコードを経て、書き込まれる正確な行オブジェクトに至るまでの全経路です。つまり、書き込み自体を除くすべての手順を検証しています。
daily 200 content-disposition: attachment;filename=2026-08-31 CivilHistoricalDaily.txt
207,352 B 1,384 rows 0 columns holding the literal string "NULL"
weekly 200 content-disposition: attachment;filename=Civil Case Index JWEB 20260829.txt
20,783,741 B 31,539 rows header assertion PASS
misaligned 0 · unmapped status codes none · 787 sentinel defendants blanked
0 duplicate case numbers
decode case_status_code "D" -> "DISPOSED (FINAL)" · filed_date 19981005 -> 1998-10-05
defendants KROGER 21 · WALMART 15 · AMAZON LOGISTICS 6 · HALLIBURTON 3
最後の行は、このパックが答えるために存在する問いへの回答で、パース済みのコーパスに基づいています。昇格チェックリストで求められるライブスモークテストの代わりにはなりません。ライブスモークテストにはテーブルが存在している必要があります。
ロード担当者向けの注意事項
- レイアウトに問題がある場合、取り込み処理は書き込みを拒否します。 問題があっても正常に見える行を書き込むことはありません。
misalignedは 0 でなければなりません。列が移動しても切り出し自体は正常に行われるため、それ以外の方法では検出できません。 - 週次インデックスはローリング方式のアクティビティウィンドウです。 そのため、ケーステーブルには実行をまたいでデータが蓄積され、データがないことは「そのケースが存在しない」ことを意味しません。すべてのツール応答にはこの注意書きが含まれます。出力を見やすくするために削除しないでください。
- 2つのファイルはそれぞれ内部でキーが重複する可能性があります。 日次ファイルでは修正済みの当事者行が再公開されることがあり、同一バッチ内で競合が起きるとバッチ全体が拒否されます。そのため、どちらのループも書き込み前にテーブル独自のキーで重複を排除します。
- メモリ: 週次ダウンロードは 20.8 MB の文字列で、実行中ずっとメモリ上に保持されます。行は蓄積せず 500 件ずつフラッシュします。これにより、128 MB の Worker が 42 フィールドのオブジェクト 31k 個まで同時に保持せずに済みます。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します。
{
"mcpServers": {
"harris-county": {
"url": "https://gateway.pipeworx.io/harris-county/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/harris-county/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 も同じゲートウェイと同じ 1881 以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/harris_civil_search_party \
-H 'Content-Type: application/json' \
-d '{"name":"KROGER","role":"defendant","limit":3}'
最初の呼び出しにはアカウントは不要です。ツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/harris_civil_search_party を使います。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を使います。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントもゲートウェイへの往復通信も不要です。
{
"mcpServers": {
"harris-county": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-harris-county"]
}
}
}
または、直接実行して起動することを確認できます。
npx -y @pipeworx/mcp-harris-county
stdin/stdout 経由で MCP を使用し、このパックのツールのみについて initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共通メタツールはありません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。これは上記のパックエンドポイントだけでなく、フルゲートウェイでも機能します。
ask_pipeworx({ question: "your question about Harris County data" })
ゲートウェイが適切なツールを選び、引数を自動的に入力します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。