search_packs

Pack: pipeworx-catalog · Endpoint: https://gateway.pipeworx.io/pipeworx-catalog/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search_packs for the schema, then POST the same URL with its arguments for the data.

Search Pipeworx packs by keyword or a plain question across pack names, descriptions and tool descriptions (e.g. “weather”, “translate”, “Colombia procurement contracts awarded to a supplier”). Returns matching packs ranked best-first with each one’s matched terms, cost, auth and reliability. Use to find which pack covers a capability before connecting to it; question filler and proper names are ignored, so the subject words are what match.

Parameters

NameTypeRequiredDescription
querystringyesKeywords or a question naming the data you want. The subject words match (country, system, dataset, topic); names of specific companies or people do not, since no pack describes them.
limitnumbernoMaximum packs to return, best match first (1-200, default 25).

Example call

Arguments

{
  "query": "weather"
}

curl

curl -X POST https://gateway.pipeworx.io/pipeworx-catalog/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_packs","arguments":{"query":"weather"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search_packs', {
  "query": "weather"
});

More examples

{
  "query": "translate"
}
{
  "query": "Which public contracts has the supplier Constructora Conconcreto been awarded recently in Colombia SECOP procurement system",
  "limit": 3
}

Response shape

Always returns: query, results, packs

FieldTypeDescription
querystringSearch query used
resultsnumberNumber of matching packs
packsarrayMatching packs
showingnumberPacks returned when the match list was capped by limit
truncatedbooleanTrue when more packs matched than were returned
hintstringPresent only when no pack matched: how to rephrase, or use ask_pipeworx
Full JSON Schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query used"
    },
    "results": {
      "type": "number",
      "description": "Number of matching packs"
    },
    "packs": {
      "type": "array",
      "description": "Matching packs",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Pack identifier slug"
          },
          "name": {
            "type": "string",
            "description": "Pack display name"
          },
          "description": {
            "type": "string",
            "description": "Pack description"
          },
          "category": {
            "type": "string",
            "description": "Pack category"
          },
          "gateway_url": {
            "type": "string",
            "description": "MCP gateway URL for the pack"
          },
          "matched_terms": {
            "type": "array",
            "description": "Query words found in this pack's text, best match first",
            "items": {
              "type": "string"
            }
          },
          "tools": {
            "type": "array",
            "description": "Up to 3 tools in this pack that best match the query, by the EXPOSED name — the one GET/POST /v1/tools/{name} resolves, namespaced when several packs export the same tool name. Not the pack's full list; call get_pack_tools for that.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Exact tool name to call, e.g. fred_get_series"
                },
                "summary": {
                  "type": "string",
                  "description": "One line on what the tool returns"
                }
              },
              "required": [
                "name",
                "summary"
              ]
            }
          },
          "next_step": {
            "type": "string",
            "description": "The exact next request to make for the first named tool, in the shape of the surface this call arrived on (REST /v1/tools/{name}, or MCP tools/call)"
          }
        },
        "required": [
          "slug",
          "name",
          "description",
          "category",
          "gateway_url"
        ]
      }
    },
    "showing": {
      "type": "number",
      "description": "Packs returned when the match list was capped by limit"
    },
    "truncated": {
      "type": "boolean",
      "description": "True when more packs matched than were returned"
    },
    "hint": {
      "type": "string",
      "description": "Present only when no pack matched: how to rephrase, or use ask_pipeworx"
    }
  },
  "required": [
    "query",
    "results",
    "packs"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

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

See Getting Started for client-specific install steps.

Regenerated from source · build September 22, 2026