porefind について
porefindは、Filtrousの実験室用ろ過製品カタログにつなぐローカルブリッジです。研究者やラボの購買担当者向けに、仕様での製品検索と詳細確認を提供し、APIキーが必要なツールで現在価格と納期も照会できます。
主な機能
- 01テキストや仕様による製品検索
- 02製品バリエーションと仕様の確認
- 03SKUの価格と在庫状況の確認
- 04SKUの納期取得
活用シーン
- 01孔径や材質によるフィルター検索
- 02製品の選択肢と仕様の比較
- 03SKUの現在価格と納期の確認
MCP 対応
ローカルMCPサーバーを通じてFiltrousカタログの読み取り専用ツールを3つ公開し、呼び出しをホスト型エンドポイントに転送します。見積もり依頼ツールは含まれません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 結果の最大数(デフォルトは 10)。 |
| query | string | はい | 自由テキストや仕様で検索します。'product_type:...'や'tag:...'などのフィールドフィルターにも対応します。 |
詳細
porefind
porefind は、Filtrous がホストする実験用ろ過製品のカタログ(シリンジフィルター、メンブレン、ろ紙など。各製品の孔径、材質、SKU、価格、在庫状況を含みます)への薄いローカルブリッジです。このブリッジは何も保存しません。上流サーバーのツール一覧を取得したままの状態でローカルに提示し、各ツール呼び出しをリモートエンドポイントに転送して、返された内容をそのまま返します。
ここでのカタログ操作は読み取り専用です。フリーテキストや仕様用語でカタログを検索したり、製品を1つ選んでバリエーション、オプション、画像、仕様メタフィールドなどの詳細を確認したり、単一 SKU の現在の価格と納期を問い合わせたりできます。最後のツールによる価格確認は、上流の説明にも記載されているとおり、上流の API キーが必要です。
ラベル付きサブセット:4個中3個のツール
上流サーバーのライブキャプチャには4個のツールが記載されていました。このビルドでは3個を提供します。4個目の request_quote は、アイテムのリストと contact オブジェクトを受け取り、見積もり依頼としてベンダーに送信するものでした。個人の連絡先情報を営業パイプラインに送るため、このプログラムの安全ルールの対象外であり、ツール自体を完全に除外しています。登録されず、tools/list にも表示されません。呼び出しは未知の名前と同様に拒否され、テストスイートではレジストリ層と提供される MCP 層の両方で不在を検証します。
ツール
search_products— フリーテキストや仕様用語(例:0.22 micron PES syringe filter)でカタログを検索します。product_type:...やtag:...などのフィールドフィルターにも対応しています。一致する製品について、タイトル、ハンドル、SKU、製品タイプ、タグ、価格、在庫状況を返します。必須:query。任意:limit(1~50、デフォルトは10)。get_product_details— 検索結果に返されるスラッグであるハンドルを指定して、1つの製品の詳細を取得します。バリエーション、SKU、オプション、価格、画像、仕様メタフィールドが含まれます。必須:handle。get_price_and_lead_time— 正確な SKU を1つ指定して、現在の価格、在庫状況、および許可されている場合は在庫数を取得します。必須:sku。このツールには上流で有効な API キーが必要です。
設定
FILTROUS_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトはhttps://filtrous-mcp-catalog.filtrous.workers.dev/mcpです。(この上書きフックは、この再構築で独自にラベル付けしたものです。)FILTROUS_API_KEY(任意)— 設定すると、すべての上流リクエストにAuthorization: Bearer <key>ヘッダーを付けます。未設定の場合は認証ヘッダーを送信しません。(この転送も、この再構築で独自にラベル付けしたものです。元のインターフェイスはキーなしでキャプチャされました。)
転送の仕組み
最初のツール呼び出しで、上流とのストリーム可能な HTTP セッションを開きます。まず JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo 名 porefind)を送信し、次に notifications/initialized 通知を送り、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流の initialize 応答に Mcp-Session-Id ヘッダーが含まれている場合、その値はセッションの以降すべてのリクエストに付加され、プロセスの存続期間中、同じセッションが再利用されます。応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取ります。
上流からの正常な結果は、上流が設定した isError フラグも含め、そのまま転送されます。JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、完了できないリクエストなどの失敗は、テキストが porefind error: で始まる isError 結果として返されます(この形式は、この再構築で独自にラベル付けしたものです)。
CLI
各ツールは、JSON 引数文字列を1つ受け取るサブコマンドとしても使用できます。
npx @reneturcios/porefind search_products '{"query":"0.22 micron PES syringe filter","limit":5}'
npx @reneturcios/porefind get_product_details '{"handle":"pes-syringe-filter-022"}'
npx @reneturcios/porefind get_price_and_lead_time '{"sku":"SF-PES-022-25"}'
npx @reneturcios/porefind --version
終了コード:成功時は 0、isError 結果の場合は 1、使用方法に誤りがある場合は 2 です。
MCP サーバー
npx -y @reneturcios/porefind mcp
MCP クライアントの設定:
{
"mcpServers": {
"porefind": {
"command": "npx",
"args": ["-y", "@reneturcios/porefind", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/porefind
docker run --rm ghcr.io/cloudcorprecords/porefind --version
コンテナのデフォルトコマンドは mcp です。そのため、最初の形式では stdio MCP サーバーが起動し、それ以外の引数は通常どおり CLI に渡されます。
開発
npm install
npm run build
npm test
npm run dev
テストスイートはすべてスタブ化された JSON-RPC 上流を対象に実行され、ライブネットワークへの呼び出しはありません。
License
MIT — see LICENSE.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。