mcpField
P
porefind

porefind

本地服务
github.com/CloudCorpRecords科研与教育01 周前更新

关于 porefind

porefind 是连接 Filtrous 托管实验室过滤产品目录的本地桥接工具,面向研究人员和实验室采购人员。它支持按规格查找产品及查看详情;当前价格和交货时间查询需通过使用 API 密钥的工具进行。

主要功能

  1. 01按文本和规格搜索产品
  2. 02查看产品变体与规格
  3. 03查询 SKU 价格和库存情况
  4. 04获取 SKU 交货时间

适用场景

  1. 01按孔径或材料查找滤器
  2. 02比较产品选项和规格
  3. 03查询 SKU 当前价格和交货时间

MCP 相关

它通过本地 MCP 服务提供 Filtrous 目录中的三个只读工具,并将调用转发到托管端点。报价请求工具未纳入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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、价格和库存情况。此桥接不存储任何内容。它会按原样呈现上游服务的工具列表,并将每次工具调用转发到远程端点,不作改动地返回收到的内容。

此处的目录操作均为只读。你可以通过自由文本或规格术语搜索目录,打开单个产品查看完整详情——包括变体、选项、图片和规格元字段——还可以查询单个 SKU 的当前价格和交货时间。正如上游自身的说明所述,最后一项的定价功能需要上游 API 密钥。

标注子集:4 个工具中的 3 个

上游服务的实时捕获结果列出了 4 个工具。此构建提供其中 3 个。第四个工具 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 — 根据产品句柄(搜索结果返回的 slug)获取单个产品的完整详情:变体、SKU、选项、价格、图片和规格元字段。必填:handle。
  • get_price_and_lead_time — 查询指定 SKU 的当前价格、库存情况,以及在允许时的库存数量。必填: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 状态、无法读取的响应,或无法完成的请求——会作为 isError 结果返回,其文本以 porefind error: 开头(此错误呈现方式是本次重建中特别标注的内容)。

CLI

每个保留的工具也对应一个子命令,并接收一个 JSON 参数字符串:

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.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。