mcpField
P
porefind

porefind

ローカル
github.com/CloudCorpRecords科学・教育01 週間前に更新

porefind について

porefindは、Filtrousの実験室用ろ過製品カタログにつなぐローカルブリッジです。研究者やラボの購買担当者向けに、仕様での製品検索と詳細確認を提供し、APIキーが必要なツールで現在価格と納期も照会できます。

主な機能

  1. 01テキストや仕様による製品検索
  2. 02製品バリエーションと仕様の確認
  3. 03SKUの価格と在庫状況の確認
  4. 04SKUの納期取得

活用シーン

  1. 01孔径や材質によるフィルター検索
  2. 02製品の選択肢と仕様の比較
  3. 03SKUの現在価格と納期の確認

MCP 対応

ローカルMCPサーバーを通じてFiltrousカタログの読み取り専用ツールを3つ公開し、呼び出しをホスト型エンドポイントに転送します。見積もり依頼ツールは含まれません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-porefind": {
"command": "npx",
"args": [
"-y",
"@reneturcios/porefind"
]
}
}
}
起動コマンドnpx -y @reneturcios/porefind

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/porefind0.1.0
ocighcr.io/cloudcorprecords/porefind:0.1.0

ツール

3

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
limitintegerいいえ結果の最大数(デフォルトは 10)。
querystringはい自由テキストや仕様で検索します。'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.

コメント

MCP は初めてですか?

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

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